QualitySettings.maximumLODLevel not supported outside of scene bundles?

It appears trying to use the Quality Settings maximum LOD level to remove LODs from a build only works if it is anchored in a scene.

Why does a prefab that uses the LODGroup component that is loaded outside a scene not have its LODs stripped in the same way as if it was in a scene?

Is there a way to achieve this by interjecting a custom step in the Scriptable Build Pipeline or the addressables build process?

Hey Si-Shawn,

Apologies in advance, I’m not going to have an amazing answer.

This is a tough one. We’ve discussed it as a team, and our theory is it relates to how we process scenes vs. other assets as part of the build process. It’s the type of use-case we’re certainly thinking a lot about as we develop and refine the Unity build technologies moving forwards, and this is a really useful data-point. That said I appreciate that doesn’t help you right now.

One option would be to file a bug report with reproduction steps, and one of the engineers in our group can take a look into your use case in greater detail.

As far as workarounds; you’ve hit upon some good ideas - you could maybe look into adding a custom build step to modify the quality settings, but we’d need to do quite a bit more debugging in order to give 100% confidence that that will work.

I submitted a bug already.

I want the lower LOD mesh data stripped from the build and not loaded into memory. Not sure how changing quality settings helps can you provide more details?

hai si-shawn i think
“prefab that uses the LODGroup component that is loaded outside a scene not have its LODs stripped in the same way as if it was in a scene”…
that is so because on rendering group of the files not rendered correctly.