chore: scaffold Unity Android project and verification commands

This commit is contained in:
NINI
2026-10-05 00:22:20 +09:00
parent e2dc8f90fb
commit fdd219660b
84 changed files with 6794 additions and 0 deletions
@@ -0,0 +1,42 @@
using System.Linq;
using UnityEditor;
using UnityEditor.PackageManager;
using UnityEditor.PackageManager.Requests;
using UnityEngine;
namespace MagnetismHeroes.Editor
{
public static class PackageInstaller
{
private static AddAndRemoveRequest _request;
private static double _deadline;
public static void Install()
{
var installed = UnityEditor.PackageManager.PackageInfo.GetAllRegisteredPackages().Select(p => p.name).ToArray();
var remove = new[] { "com.unity.ai.navigation", "com.unity.collab-proxy", "com.unity.visualscripting", "com.unity.timeline", "com.unity.ide.rider" }
.Where(id => installed.Contains(id)).ToArray();
_request = Client.AddAndRemove(
new[] { "com.unity.inputsystem@1.20.0", "com.unity.render-pipelines.universal@17.6.0", "com.unity.test-framework@1.8.0", "com.unity.ugui@2.6.0" },
remove);
_deadline = EditorApplication.timeSinceStartup + 600;
EditorApplication.update += Poll;
}
private static void Poll()
{
if (!_request.IsCompleted && EditorApplication.timeSinceStartup < _deadline) return;
EditorApplication.update -= Poll;
if (_request.Status == StatusCode.Success)
{
Debug.Log("[Packages] " + string.Join(", ", _request.Result.Select(p => p.name + "@" + p.version)));
EditorApplication.Exit(0);
}
else
{
Debug.LogError("[Packages] " + (_request.Error?.message ?? "Resolution timed out."));
EditorApplication.Exit(1);
}
}
}
}