build(switch): prepare stubs before batch builds - #2852
Merged
Merged
Conversation
Fresh Switch integration builds with no-op stubs fail with
`BuildFailedException`:
Sentry's Switch no-op stubs in 'Assets/Plugins/Sentry' were out of
step with the installed libraries and have been updated. Please
trigger the build again.
Fresh integration projects reached `BuildPlayer` without the Switch
no-op stub. Stub setup was deferred through
`EditorApplication.delayCall` and only created files for the active
build target, but the batch build did not select Switch at startup.
The build preprocessor copied the missing stub and then deliberately
failed: Unity collects native plugins before preprocessing, so adding
one there cannot reliably affect the current build. Starting another
CI run with a clean project repeats the same failure.
Select Switch with `-buildTarget` when launching the integration build.
Synchronize stubs directly in `OnPostprocessAllAssets` after domain
reloads or native library changes, when asset operations are safe.
This prepares the stub before building and removes it when the real
native libraries are imported.
bitsandfoxes
approved these changes
Sep 18, 2026
bitsandfoxes
left a comment
Contributor
There was a problem hiding this comment.
Thanks for fixing this!
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.
Fresh Switch integration builds with no-op stubs fail: https://github.com/getsentry/sentry-switch/actions/runs/34956285369/job/104345147727
Fresh integration projects reached
BuildPlayerwithout the Switch no-op stub. Stub setup was deferred throughEditorApplication.delayCalland only created files for the active build target, but the batch build did not select Switch at startup.The build preprocessor copied the missing stub and then deliberately failed: Unity collects native plugins before preprocessing, so adding one there cannot reliably affect the current build. Starting another CI run with a clean project repeats the same failure.
Select Switch with
-buildTargetwhen launching the integration build. Synchronize stubs directly inOnPostprocessAllAssetsafter domain reloads or native library changes, when asset operations are safe. This prepares the stub before building and removes it when the real native libraries are imported.Extracted from #2851 which was abused to confirm the fix -> https://github.com/getsentry/sentry-switch/actions/runs/34956285369/job/104453539781 succeeds