Search Issue Tracker
By Design
Votes
0
Found in
6000.0.56f1
6000.2.2f1
6000.3.0a6
6000.4.0a1
Issue ID
UUM-115990
Regression
Yes
GameObjects are not updating when Materials and Cubemaps are updated from Environmental Reflections
How to reproduce:
1. Open the attached "IN-112669_URP Enviro" Project
2. Open the "Sample_URP" Scene (Assets/Enviro 3 - Sky and Weather/Sample/Scene)
3. Expand the "Enviro_3" GameObject
4. Select the Global Reflection Probe
5. Enter Play mode
6. Observe the Game View and the Inspector
Expected result: GameObjects are updating like the Global Reflection Probe
Actual result: GameObjects are not updating, unlike the Global Reflection Probe
Reproducible with: 2023.1.0a20 (be935afddb32), 6000.0.56f1, 6000.2.2f1, 6000.3.0a6
Not reproducible with: 2023.1.0a19
Reproducible on: Windows 11 Pro (24H2)
Not reproducible on: No other environments tested
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Crash on _platform_memmove after entering large value in Graphics settings Preloaded Shaders field
- Disproportionally large impact on CPU frame time when writing to a rendering entity's LocalToWorld
- "Constant Force" Component numeric fields drift out of view while entering a really big value in the Inspector
- Scene view camera speed pop-up appears empty or cut off when Scene view is very narrow
- UnityEvent does not get pasted to a uGUI component when trying to copy it from a Script
Resolution Note:
This is by design. When using Forward+ in URP, we write reflection probe cubemaps into a global atlas. Whenever a reflection probe cubemap is written to on the GPU, URP needs to be notified, so that it can write the updated data into the atlas. To do this efficiently, the Texture.updateCount mechanism is used. It is up to the user to call Texture.IncrementUpdateCount() after updating a cubemap, as per the documentation: "Note: If you perform an update from the GPU side, you should increment the counter yourself. (For instance, when blitting into a RenderTexture). (see IncrementUpdateCount)."
Concretely, here's how the issue can be fixed in the attached project: In the EnviroReflectionProbe.cs script, at line 447, add a function call like so:
`myProbe.customBakedTexture.IncrementUpdateCount();`, right below where `myProbe.customBakedTexture` is assigned.
Relevant documentation:
https://docs.unity3d.com/ScriptReference/Texture-updateCount.html
https://docs.unity3d.com/ScriptReference/Texture.IncrementUpdateCount.html