Search Issue Tracker
Won't Fix
Votes
0
Found in
6000.0.37f1
6000.1.0b5
6000.2.0a2
Issue ID
UUM-96525
Regression
No
Rendering/Decal Layer Mask options are different inside Prefab Mode and outside Prefab Mode when the project is upgraded to Unity 6
How to reproduce:
1. Open the “HDRPDecalLayer_repro.zip“ project in version 2022.3.57f1
2. Select the “Decal Projector“ Prefab in the Project Tab
3. In the Inspector > “Decal Layer” field tick the “Decal Layer default“ and “ground“ options
4. Close the project, upgrade it to 6000.0.37f1, and open it
5. Select the “Decal Projector“ in the Project tab
6. In the Inspector under the “Rendering Layer Mask” field untick the “Light Layer 1“ option and tick the “ground“ option
7. Enter the Prefab mode by double-clicking the “Decal Projector“ Prefab in the Project Tab
8. Expand the “Rendering Layer Mask“ field and observe
Expected results: “Decal Layer default“ and “ground“ layers stay ticked
Actual results: The “Default“ layer tick moves to “Decal Layer default“ and the “ground“ layer tick moves to “Unnamed Layer 17“ (which should not happen)
Reproducible in: 6000.0.37f1, 6000.1.0b5, 6000.2.0a2
Not reproduced in: 2022.3.57f1 (this version is used to upgrade from)
Reproduced on: Windows 11 Pro (24H2), macOS 15.3 (M2)
Not reproduced on: No other environment tested
Notes:
- When unticking the “Unnamed Layer 17“ and then ticking it back on again, the Editor will throw an “IndexOutOfRangeException: Index was outside the bounds of the array.“ error in the Console
- In 2023.3.0b1 the behavior is still faulty, but there is no “Unnamed Layer 17“
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 RaiseException when opening a specific project
- DownloadHandlerScript.CompleteContent is called twice when building for WebGL
- Scene view has Y coordinates of the Screen Position node flipped when some of the URP features are disabled
- Volumetric fog shader variants are missing from build when "Strict Shader Variant Matching" is disabled
- Unnecessary modifications clutter the Scene when using a RectTransform driven by a LayoutGroup in a Prefab
Resolution Note:
Sadly this is a limitation of our current code upgrading system. Our implementation migrate on the fly component when they are used. This is done this way in order to not take a huge amount of time on big project. But due to this, prefabs are not upgraded properly.
This limitation imply that the instance of a prefab are migrated when they are instantiated/loaded. So any data modification on the such a prefab asset will still be processed by the upgrade action, leading to the issue here. This means that the Prefab works well if not modified, but any modification on it can lead to this issue if the prefab was from a component that required upgrade.
The only way at the moment to deal with this issue is to manually upgrade the data of the prefab asset. You can do that by applying the modification from an instance onto the source asset. But it is preferable to load and save every instance in all scenes firsts.
We are aware of this huge limitation but sadly fixing this would require a huge amount of work that cannot be handled at the moment by our teams. If you think it is a major importance for you to be fixed, please reach to our product board asking to have a proper script upgrade in C#. The one we rely on in SRPs allow us to remain flexible enough to continue delivering better content and quality in the meanwhile but it is not enough to cover all scenario.