-
Notifications
You must be signed in to change notification settings - Fork 11
Asset Bundles Conversion
Explorer Alpha fully relies on the existence of Asset Bundles for each world/realm: it does not work directly with GLTF due to performance reasons.
At the moment the only way to launch the conversion for the "fixed" world (such as SDK7 Streaming World that is used for testing) is to do it manually. We have separate instance to perform the conversion for windows
and mac
.
Apart from the existing scripts in OPSCLI a new one was introduced to read from /about
endpoint and launch the conversion for every scene listed there.
In order to launch it from the command line (from the local machine) use the following snippet:
npx @dcl/opscli queue-ab-conversion-about \
--token <ACCESS_TOKEN> \
--about-url https://sdk-team-cdn.decentraland.org/ipfs/goerli-plaza-main/about \
[--ab-server https://asset-bundle-converter.decentraland.org]
E.g. for windows:
npx @dcl/opscli@latest queue-ab-conversion-about \
--token <ACCESS_TOKEN> \
--ab-server https://asset-bundle-converter-windows.decentraland.org/ \
--about-url https://sdk-team-cdn.decentraland.org/ipfs/streaming-world-main/about
All other APIs are still valid for Explorer Alpha, the only extra thing needed is to specify --ab-server
to point out either windows
or mac
conversion.
For unity-renderer
we don't generate (and use) Desktop Asset Bundles. Explorer Alpha
in its turn does not work on WebGL
. Thus, we can differentiate the behavior of Asset Bundle Converter
based on the target platform.
Asset Bundle Converter
operates on Unity 2022.3.12f1 while Explorer Alpha
- on 2022.3.2f1. Such capability is provided by stripping the Unity version on Asset Bundles Generation `BuildAssetBundleOptions.AssetBundleStripUnityVersion.
Explorer Alpha
uses a new shader for Scene Assets and does not re-assign it at runtime on the client side. It means the shader and all possible variants should be compiled and included in the shared Asset Bundle:
-
Scene.shader
is located inunity-shared-dependencies
- Variants Collection has the same name as the shader + "Variants" suffix: it's hardcoded, this is how Asset Bundle Converter understands that the variants collection should be included in the same bundle
- The variants collection can be regenerated by `Decentraland/Shaders/Generate "Scene" Variants Collection"