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

Package: Visual Scripting

-

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

Comments (2)

  1. 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.

  2. 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.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.