Automatic LOD generation + scene optimization - Initial release was on January 12, 2018 via blogpost
It’s important to note that AutoLOD is an experimental feature. As such, there is no formal support (e.g. FogBugz, support@unity3d.com, Premium Support, etc.) offered, so please do not use these channels. Instead, post your questions, comments, suggestions, and issues here on GitHub.
As with anything experimental/preview/alpha/beta, it is always a good idea to make a backup of your project before using.
Experimental means this:
- Namespaces, classes, software architecture, prefabs, etc. can change at any point. If you are writing your own tools, then you might need to update them as these things change.
- There won’t always be an upgrade path from one release to the next, so you might need to fix things manually, which leads to the next point...
- Stuff can and will break (!)
- There’s no guarantee that this project will move out of experimental status within any specific timeframe.
- As such, there is no guarantee that this will remain an actively supported project.
- LOD generation on model import with sensible defaults
- Project-wide and per-model LOD import settings
- Asynchronous, pluggable LOD generation framework
- Hierarchical LOD support via SceneLOD
- MonoBehaviourHelper - a way to run coroutines in the editor + main thread execution from worker threads
- LODGroupExtensions - useful extension methods (e.g. GetCurrentLOD)
- TimedEnumerator - a way to control maximum execution time of coroutines
- TextureAtlasModules - automatically generate texture atlases
- WorkingMesh - a thread-safe mesh class
Unity 2017.3 or a later version is required
- Create a new Unity project or use an existing one
- From the command line change directory to your project's
Assets
directory. - Run
git lfs clone --recursive https://github.com/Unity-Technologies/AutoLOD
(Note HTTPS)
Because this project uses git-submodule, you'll need to execute git submodule update
after pulling whenever a submodule is updated. You could execute this command always just to be safe or if you notice that a submodule is showing as modified after pulling changes.
Optionally, you could add a git hook for post-checkout or use a GUI (e.g. SourceTree) that does this automatically for you.
If you plan on making changes to AutoLOD and/or contributing back, then you'll need to set the Asset Serialization
property under Edit->Project Settings->Editor to Force Text
.
Unity Companion License (see LICENSE)