feat: enable LODs in worlds - #8907
Merged
Merged
Conversation
alejandro-jimenez-dcl
marked this pull request as ready for review
June 5, 2026 14:21
Contributor
|
Windows and Mac build successful in Unity Cloud! You can find a link to the downloadable artifact below. |
Contributor
dalkia
approved these changes
Jun 5, 2026
Contributor
|
PR #8907, run #27022606716 Builds: Windows change, Windows baseline, macOS change, macOS baseline How to read this table
Framework 13 i7
|
Ludmilafantaniella
approved these changes
Jun 5, 2026
Ludmilafantaniella
left a comment
Contributor
There was a problem hiding this comment.
Tested on Windows and Mac. ✅
Main flow on zone (cozyhouse.dcl.eth):
- Full scene loads when walking into 0,0
- LOD asset loads when walking away
- Swaps back to full scene when walking back
Regression on org (Genesis City): LOD behavior unchanged.
LGTM 🚀
8907-evi.mp4
8907-evi2.mp4
✅Smoke test performed:
- ✔️ Backpack and wearables in world
- ✔️ Emotes in world and in backpack
- ✔️ Teleport with map/coordinates/Jump In
- ✔️ Chat and multiplayer
- ✔️ Camera
- ✔️ Skybox
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request Description
What does this PR change?
Fixes #8892. Enables LODs in worlds through the ISS descriptor.
VisualSceneStateResolvershort-circuited every fixed realm toSHOWING_SCENE, so world scenes never transitioned toSHOWING_LODand the LOD/ISS systems introduced in #8870 never ran for worlds.The gate is now descriptor-conditioned: an SDK7 world scene with a resolved ISS descriptor participates in the regular bucket-based LOD flow (full scene near,
{sceneId}_ISS_LODper-asset descriptor LOD at mid range, legacyLOD_1AB at far range, unload when out of range). Worlds without descriptors, SDK6 world scenes,LSD and portable experiences keep the current always-full-scene behavior.
Changes:
VisualSceneStateResolver.ResolveVisualSceneStatetakes the scene'sISSDescriptor; fixed realms only resolve toSHOWING_LODwhen the descriptor resolved toDescriptorstate.ResolveSceneStateByIncreasingRadiusSystempasses the descriptor (already cached inOrderedDataManaged).VisualSceneStateResolverShouldunit tests covering world/volatile, SDK6/SDK7, descriptor states, and unload tolerance hysteresis.No timing risk: the existing descriptor gate in
ResolveSceneStateByIncreasingRadiusSystemalready blocks any state transition until the descriptor resolves in place.Test Instructions
Test Steps
Additional Testing Notes
Quality Checklist