Give Page Feedback | API

Streamable Grids - A Brief Introduction to LODs

A Streamable Grid represents a collection of Streamable Cells, however the Asset Chunks associated with those Cells need not be tied to a single Asset Chunk Set. Enter LOD Groups.

What Are LOD Groups?

LOD stands for Level of Detail. You may be familiar with Unity's built in LOD system, where you have a single Game Object with an LOD Group component, and 2 or more child Game Objects representing the same 'object' at different quality levels. The Streamable Assets Manager's LOD system is an alternative approach for introducing different quality assets representing the same objects.

The basic idea is, when the Player is close to a Cell's location, load higher quality Asset Chunks. As the player moves farther and farther away from a Cell, load lower and lower quality Asset Chunks (note, this is how things work when using Active Grids. You also have the option to manually pick and choose which LOD's are loaded, if you wish).

Built in LOD System vs Our System

The built in Unity LOD system is very useful, however it has one major limitation. The LOD Group must contain all LOD assets you wish to use. While this results in faster transitions between LODs, it also requires more memory to function, which can be potentially problematic if you have a ton of Assets in a scene.

Our system introduces Streamable Cells that can utilize one or more sets of LOD Group, with each Group associated with a single Asset Chunk Group. The LOD that is used for a Cell will typically be determined by how close the Player is to that Cell. Each Streamable Cell will only contain Asset Chunks belonging to whatever LOD is currently 'in use', so if LOD 3 is loaded into memory all other LODs (such as LOD 2 and LOD 1) are not. This saves on memory with the trade-off being that LOD transitions take a little longer to trigger (this typically won't be an issue however).

Our LOD system also offers greater flexibility between different LODs. For instance, if using Unity Terrain, you can use Terrain on LOD 1, then regular meshes for LOD's 2, 3, etc.

You can also configure the World to use different Chunk Managers, Chunk Streamers, tags, layers, and other settings for each LOD. In addition, while there is built-in support for performing traditional Cross Faded LOD Transitions, our system gives you the opportunity to introduce alternative transition effects (custom coding required!) to transition between LODs.

You can use our system, Unity's built in system, or both in combination; the decision is up to you! Do note that some Assets are not compatible with Unity's built in LOD system, such as Unity Terrain.

On the other hand, generally speaking Unity's built in system is easier to work with in the editor, as adjutments to the size and position of LODs can be made to the parent object and all LODs are adjusted automatically. When using our system, each LOD needs to be adjusted individually.

Also, adding/removing LOD objects is harder with our system for the same reason. Rather than adding/removing a single objects which has all LODs parented to it, you need to add/remove each LOD object individually in our system.

For these reasons, we recommend sticking with Unity's built in LOD system for assets that you expect to change (for example, a forest full of trees, where each tree has multiple LODs). Use our system for assets not compatible with Unity's system or assets you do not expect to change much.

Another approach is to stick with Unity's system while iterating on your game, then switch to ours closer to release, if the memory used by Unity's LOD system is deemed to be a problem.

--Special Note--
Even if using Unity's LOD system, you can still make use of our dynamic streaming solution to only load the assets that are needed according to the Player's position or other criteria!

Asset Chunk Groups

The next two sections detail how to setup Grid LOD Groups, however in order to perform those steps, it's necessary to talk briefly of Asset Chunk Groups.

An Asset Chunk Group is simply a group of related Asset Chunks that are represented by a Grid LOD Group. When a Streamable Cell is loaded and set to that LOD, the Asset Chunks from the Group are loaded.

In order to setup an LOD on a Streamable Grid, we will need to either have an Asset Chunk Group created or have an idea of what type of group we want to create.

If you already have an Asset Chunk Group created (for instance because you used the Terra Slicer tool to slice a single Terrain into a group of Terrain Slices, which yes, can be considered an Asset Chunk Group), then you are ready to proceed!

Or perhaps you have a group of Asset Chunks from some other tool, such as Gaia. Those assets should be 100% compatible with the Streamable Assets Manager.

If you do not have such a group created already, don't fear! The World Designer tool can aid you in building up a group of Asset Chunks that you can use, however that is a topic for the future. For now, when going over the next sections, simply do your best to configure the Grid LOD Group as you think is correct. You can always return and adjust settings as needed later!

--Upgrade Note--
Grid LOD Groups are a new feature. Previously, World Grids only represented a single Asset Chunk Group. There was no support for LODs of any kind.