Fix for cargo ci dlls missing some .meta files#4178
Merged
Conversation
jdetter
approved these changes
Feb 3, 2026
Collaborator
jdetter
left a comment
There was a problem hiding this comment.
Tested working - thanks Ryan 👍
jdetter
pushed a commit
that referenced
this pull request
Feb 3, 2026
# Description of Changes This patches a regression introduced in [#4033](#4033) where cargo ci dlls stopped copying the Unity .meta files that live outside the package skeleton tree: 1. `overlay_unity_meta_skeleton` now copies any `sdks/csharp/unity-meta-skeleton~/spacetimedb.<pkg>.meta` file into `sdks/csharp/packages/` before overlaying nested content. 2. Added support for a `version.meta` template inside each skeleton package; it’s renamed to match the single restored version directory (e.g. `1.11.2.meta`). 3. Added the missing `version.meta` templates for both `spacetimedb.bsatn.runtime` and `spacetimedb.runtime`, based on the historical GUIDs Unity already knows about. Together this restores the `spacetimedb.bsatn.runtime.meta` and `<version>.meta` files that Unity requires to keep those folders visible when developers run `cargo ci dlls` on a clean checkout. # API and ABI breaking changes None. This only affects the CI helper responsible for syncing Unity metadata. # Expected complexity level and risk 2 — localized changes to the CI helper and skeleton assets. Primary risk is forgetting a template or mis-copying a GUID; the code paths themselves are straightforward. # Testing - [X] Ran `cargo check -p ci` - [X] Ran `cargo ci dlls` on a clean tree, verifying that: * `sdks/csharp/packages/spacetimedb.bsatn.runtime.meta` exists * The restored version directory (e.g. `sdks/csharp/packages/spacetimedb.bsatn.runtime/1.11.2.meta`) exists - [X] Locally launched Unity with a SpacetimeDB project and had no errors/issues.
jdetter
pushed a commit
that referenced
this pull request
Feb 3, 2026
# Description of Changes This patches a regression introduced in [#4033](#4033) where cargo ci dlls stopped copying the Unity .meta files that live outside the package skeleton tree: 1. `overlay_unity_meta_skeleton` now copies any `sdks/csharp/unity-meta-skeleton~/spacetimedb.<pkg>.meta` file into `sdks/csharp/packages/` before overlaying nested content. 2. Added support for a `version.meta` template inside each skeleton package; it’s renamed to match the single restored version directory (e.g. `1.11.2.meta`). 3. Added the missing `version.meta` templates for both `spacetimedb.bsatn.runtime` and `spacetimedb.runtime`, based on the historical GUIDs Unity already knows about. Together this restores the `spacetimedb.bsatn.runtime.meta` and `<version>.meta` files that Unity requires to keep those folders visible when developers run `cargo ci dlls` on a clean checkout. # API and ABI breaking changes None. This only affects the CI helper responsible for syncing Unity metadata. # Expected complexity level and risk 2 — localized changes to the CI helper and skeleton assets. Primary risk is forgetting a template or mis-copying a GUID; the code paths themselves are straightforward. # Testing - [X] Ran `cargo check -p ci` - [X] Ran `cargo ci dlls` on a clean tree, verifying that: * `sdks/csharp/packages/spacetimedb.bsatn.runtime.meta` exists * The restored version directory (e.g. `sdks/csharp/packages/spacetimedb.bsatn.runtime/1.11.2.meta`) exists - [X] Locally launched Unity with a SpacetimeDB project and had no errors/issues.
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.
Description of Changes
This patches a regression introduced in #4033 where cargo ci dlls stopped copying the Unity .meta files that live outside the package skeleton tree:
overlay_unity_meta_skeletonnow copies anysdks/csharp/unity-meta-skeleton~/spacetimedb.<pkg>.metafile intosdks/csharp/packages/before overlaying nested content.version.metatemplate inside each skeleton package; it’s renamed to match the single restored version directory (e.g.1.11.2.meta).version.metatemplates for bothspacetimedb.bsatn.runtimeandspacetimedb.runtime, based on the historical GUIDs Unity already knows about.Together this restores the
spacetimedb.bsatn.runtime.metaand<version>.metafiles that Unity requires to keep those folders visible when developers runcargo ci dllson a clean checkout.API and ABI breaking changes
None. This only affects the CI helper responsible for syncing Unity metadata.
Expected complexity level and risk
2 — localized changes to the CI helper and skeleton assets. Primary risk is forgetting a template or mis-copying a GUID; the code paths themselves are straightforward.
Testing
cargo check -p cicargo ci dllson a clean tree, verifying that:sdks/csharp/packages/spacetimedb.bsatn.runtime.metaexistssdks/csharp/packages/spacetimedb.bsatn.runtime/1.11.2.meta) exists