AssetStreaming is a Unity project that demonstrates efficient asset streaming techniques for open-world games. It handles world loading without loading everything into memory at once.
This codebase serves as a reference and template for implementing asset streaming in your projects. You can test it on the Meta Store - AssetStreaming.
This project showcases advanced asset streaming techniques, including world loading optimization and memory management. It efficiently loads assets without overwhelming system resources.
Built with the Unity engine and Unity's Addressables system, the project demonstrates practical asset streaming for open-world environments. It provides tools and methods for efficient resource management.
- Use Unity 6000.0.50f1 or newer.
- Load the Assets/AssetStreaming/Scenes/Startup scene.
- To build to a device, follow these steps:
- Build the Addressables assets from Window->Asset Management->Addressables->Groups.
- Use Build Settings to build the APK.
- Alternatively, use the AssetStreaming menu for automated builds:
- Build Addressables and APK: Build both Addressables and APK.
- Build Addressables: Build only the Addressables.
- Build APK: Build only the APK (useful when only changing code).
This project uses the following plugins and software:
- Unity 6000.0.50f1 or newer.
- Unity Addressables System.
- Mesh Baker (recommended for LOD generation; not included due to licensing).
Alternative LOD solutions:
- Custom mesh optimization tools.
- Simplygon (commercial license required).
Ensure you have Git LFS installed by running:
git lfs installThen, clone this repository using the "Code" button above or this command:
git clone https://github.com/oculus-samples/Unity-AssetStreaming.gitMore information is available in the project documentation:
- Guide to Asset Streaming in Open World Games.
- Asset Streaming Documentation.
- Conversion to Addressables.
The majority of AssetStreaming is licensed under the MIT LICENSE. However, the files listed below are licensed under their respective terms:
- [TextMeshPro](./Assets/TextMesh Pro) - Unity Companion License.
- Demo Assets - Meta Platforms Technologies Examples License.
See the CONTRIBUTING file for information on how to contribute.