Decouple Model.LevelOfDetail and StreamingEnabled

Last month, the lovely and long-awaited Model LOD update was finally shipped with the unfortunate catch of having its functionality paired with StreamingEnabled.

As a developer whose intelligence lies slightly below the average standard deviation of human IQ, it didn’t take long for me to figure out that StreamingEnabled and the situational irony of its usage in experiences would cancel out the performance improvements brought by Model LOD.

Given the inefficient nature of WaitForChild() and the heavy, heavy implications of having to use it with StreamingEnabled, it would only make sense to to split LOD and StreamingEnabled; especially when far more reliable and performant StreamingEnabled alternatives can be (and have been) made.

image
image
image


image
image


For developers that aren’t keen on upending their experiences and under-the-hood systems (especially in regard to custom occlusion and rendering optimizations) to be compatible with StreamingEnabled in order to use Model LOD, this decoupling would be pretty ideal.

18 Likes