Fix ARM64 abci.dll incorrectly included in non-ARM64 builds#632
Open
LeoUnity wants to merge 2 commits into
Open
Fix ARM64 abci.dll incorrectly included in non-ARM64 builds#632LeoUnity wants to merge 2 commits into
LeoUnity wants to merge 2 commits into
Conversation
The ARM64 abci.dll plugin had "Any Platform" enabled, which caused Unity to include the ARM64 binary in any platform not explicitly excluded (GameCore, Win64 x64, Linux64, OSXUniversal, ...). In GameCore (x64) builds the ARM64 dll then failed to load with "expected x64 architecture, but was ARM64". Disable "Any Platform" and restrict the plugin to Win64/ARM64 only, matching how the other native libraries (x86_64 abci.dll, abci.bundle, abci.so) are configured. The Editor entry is scoped to CPU: ARM64 / OS: Windows so an ARM64 Windows editor loads this dll while the x64 editor continues to use x86_64/abci.dll. Misconfiguration originally introduced in #573 (ARM64 support, ABC-436). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Runtime/Plugins/ARM64/abci.dll.metahad "Any Platform" enabled. With Any Platform on, Unity includes the plugin in every platform not explicitly listed in the: AnyExclude set, and the per-platformenabledflags (including the intendedStandalone: Win64 → CPU: ARM64restriction) are ignored.As a result the ARM64 binary was bundled into non-ARM64 builds (e.g. GameCore x64, Win64 x64, Linux64, OSXUniversal). In GameCore (x64) builds it then failed to load:
Reported by a user against 2.4.5.
Root cause
Introduced in #573 (ARM64 support, ABC-436). The
.metawas added withAny: enabled: 1and has never been modified since, so every release shipping ARM64 support is affected — it is not a 2.4.5-specific regression.Fix
Disable "Any Platform" and restrict the plugin to Win64 / ARM64 only, matching how the other native libs (
x86_64/abci.dll,abci.bundle,abci.so) are configured:enabled: 1enabled: 0CPU: AnyCPU, OS WindowsCPU: ARM64, OS Windowsenabled: 1enabled: 0enabled: 1enabled: 0enabled: 1, CPU: ARM64The Editor entry is scoped to
CPU: ARM64/OS: Windows(matching the OS/CPU-scoping pattern of the other native libs) so an ARM64 Windows editor loads this dll while the x64 editor continues to usex86_64/abci.dll.Verification
.metaunchanged (no rewrite/normalization) and reports no plugin import errors.🤖 Generated with Claude Code