Ability migration: first Unity CLI import¶
2026-10-30 · Linux · Unity Editor 6000.2.8f1 · uncommitted working tree
The first CLI launch could not start because Ubuntu 26.04 does not provide the Editor's libxml2.so.2 dependency. A compatible Ubuntu library and its ICU dependency were extracted into a temporary directory for this run; no system package was installed.
The first Editor import reached compilation and failed on an editor fixture referring to the removed Player.abilities field. After updating that fixture reference, a second CLI import exited successfully and reported no C# compiler errors. The log included a Unity inference source-generator warning (CS8785) and an editor reference-comparison warning (CS0252).
Unity added a Linux toolchain dependency to the package manifest and lock during each import. The exact pre-run bytes were restored after the Editor exited; EditorBuildSettings and TimeManager matched their pre-run bytes. Raw logs and temporary compatibility libraries remain outside the repository.
This confirms only the import and compilation of the current snapshot. It does not verify ability behavior, serialized key bindings, UnityEvents, reflection/code stripping, reward or leaderboard flow, player isolation, recovery scenes, or any complete gameplay run. Older editor fixtures still require redesign for the new ability state and starting bindings. No gameplay tests or player build were run.
Upgrade operation batch¶
The CLI import after moving nine ability-specific upgrade operations also exited successfully, with the same CS8785 and CS0252 warnings. A focused Edit Mode CLI smoke check then exited 0: it resolved seven character ability keys, 95 Resources upgrade ability keys, 13 prerequisite keys and the player prefab's Dash key. It also checked Archmage and Potion Bag's one-time changes and that Archmage ignores an unrelated operation. This does not exercise scene startup, UnityEvent callbacks, all operations, combat, co-op or a player build.
The package manifest and lock were restored to their exact pre-run bytes after each run; the checked project settings stayed unchanged.
Binding, evolution and ownership batch¶
After replacing AbilityHolder with PlayerAbilityBindings and moving scene dash input to Player, the CLI smoke check passed again. It checked the player prefab's binding, two independent player ability states, removal and reacquisition for one player, and invoked a serialized AddAbility weapon-evolution callback from MainMenu. The callback is configured for gameplay, so the Edit Mode fixture temporarily enabled it for the call and restored its original setting. An earlier attempt failed because the fixture invoked the gameplay-only callback in Edit Mode without that adjustment; that result does not establish a gameplay defect.
The check also repeated seven character keys, 95 upgrade keys, 13 prerequisites, Dash and representative upgrade operations. Unity reported the previously observed CS8785 and CS0252 warnings. The package manifest and lock were restored to their exact pre-run bytes; checked project settings stayed unchanged. This does not validate live movement, companion pooling, death/revive, physical input, full co-op gameplay or a player build.
The following Edit Mode runs created a controlled pool and two player owners, spawned a drone for each, removed and reacquired the first drone, and removed the second. They checked player isolation and pool reuse. A further check simulated a new activation generation on a reused drone: removing the former owner cleared its stale reference without returning the new owner's object to the pool. The activation callback was invoked by the fixture, so real Play Mode activation, death/revive, switching masters and scene teardown remain unverified.