Search Issue Tracker
Active
Under Consideration for 1.9.X
Votes
1
Found in [Package]
1.9.4
Issue ID
UVSB-2552
Regression
No
The Prefab Variant does not display changes made in the parent Prefab Embed graph when the graph is shared across the instances of a Prefab
How to reproduce:
1. Open the “UVS Revert Issue“ project
2. Open the “SampleScene“
3. Open the “Prefab Variant“ to edit in isolation
4. Click on “Overrides > Revert All“
5. Open the “Base Prefab“ in the Inspector
6. In the Script Machine component click on the Edit Graph button
7. Make some changes (change the Title, Summary or the number in the Set Alpha node) and save it
8. Observe the Script Machine component in the “Prefab Variant“ and the “Base Prefab Variant“
Expected result: Both Prefab Variants Script Machine components display the same changes as the “Base Prefab“
Actual result: “Prefab Variant“ Script Machine components does not display the same changes as the “Base Prefab“
Reproducible with: 1.9.2 (2022.3.25f1), 1.9.4 (2021.3.39f1, 2022.3.31f1, 6000.0.4f1)
Reproducible on: macOS 13.5.2 (Intel), Windows 10 (User’s)
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
- Skinned Mesh Renderer with multiple Animator Components does not render when "Optimize Game Objects" is enabled
- [iOS]Certain characters are not displayed when using iOS devices with 18 OS and newer
- Trees do not render in 'Unity Terrain - URP Demo Scene'
- Silent crash when clicking in Scene View in a specific project
- The Player renders black on a Quest headset when MSAA, Post Processing, and Spacewarm depth submission are enabled
LuiCat_MaTech
Aug 11, 2024 08:54
With deeper investigations, it is very obvious to us that whenever the prefab variant serializes the embed graph as a stripped object with a new UUID -- rather than overriden properties, which does not change UUID of the object -- the embed graph is forced to reserialize in the prefab variant.
It is extremely favorable to either completely stop the overriden embed graph from deserializing (as designed of shared graphs), or, if former is too much a hack, to instead make sure no unwanted serializations happen on prefab variants where object references and graph contents are handled separately.
LuiCat_MaTech
Aug 10, 2024 18:44
Issue most likely to happen when there are object references in the embedded graph (which is a main reason that embed is preferred). By comparing serialized text and debug inspector, it is very clear that object references need to be updated for prefab variants, which results in the whole graph being serialized again on prefab variants, creating unwanted garbage duplicants that quickly get out of date upon iterating prefabs.