-
Notifications
You must be signed in to change notification settings - Fork 14
Working with Unity Explorer Packages
https://github.com/decentraland/unity-explorer-packages is a repository used to store private Unity packages.
Access requires membership in the Decentraland GitHub organization or being manually added to it.
Due to its private nature, there are a few important nuances when working with packages from this repo.
See: unity-explorer/.github/workflows/test.yml
Tests require packages to be copied locally at build time, due to GitHub Action permission constraints.
We do this using a find & replace step that affects Explorer/Packages/manifest.json:
-replace '[email protected]:decentraland/unity-explorer-packages.git?path=/StylizedGrassShader', 'file:../../unity-explorer-packages/StylizedGrassShader'
Since the entire repo is cloned during the workflow, all package folders are available locally. The example above replaces the Git-based path to StylizedGrassShader with a local file path.
Important:
If you add, remove, or rename packages in manifest.json, you must also update test.yml accordingly, or CI will fail when resolving package dependencies.
To test changes in a package without merging them to main, you can point manifest.json to a specific feature branch:
"com.decentraland.stylizedgrassshader": "[email protected]:decentraland/unity-explorer-packages.git?path=/StylizedGrassShader#feat/your_feat_branch"
If you do this, remember to update test.yml to match your branch as well — otherwise tests will break.
Packages in manifest.json are pinned by Git commit hash. Even if you merge changes into unity-explorer-packages, nothing changes in dev unless you explicitly update the hash.
Recommended flow:
-
Develop & Test
Create a feature branch inunity-explorer-packages. Pointmanifest.jsonto it while testing in Unity. -
Merge the Package
Once validated, merge your feature branch intomaininunity-explorer-packages.
⚠️ devstill uses the previous commit hash.⚠️ *tests.ymlmay start failing until you merge & update your commit hash. -
Update Manifest
Updatemanifest.jsonandpackages-lock.jsonto point to the latest commit hash onmain(in unity-explorer-packages) -
Merge to Dev
Oncemanifest.jsonpoints to the correct commit, merge your Unity project branch todev.