DynamicObstacle from a prefab causes changes in Scene

  • A* version: 5.3.3
  • Unity version: 6.0.36f1

スクリーンショット 2025-02-08 14.56.15

I often get lots of scene changes like this, when I have a Dynamic Obstacle in a Prefab.

Investigating I have a feeling that it might be down to the prev and next fields from GraphModifier, because they can point to objects from outside the prefabs? But I’m not 100% sure. In the Prefab overrides, Unity doesn’t show any changes to the object, so it’s clearly in one of the fields that aren’t public to the inspector.

It’s becoming a bit of a pain as on our project we need to tightly control changes to prefabs, and often make sure we apply prefab changes down our tree (i.e we have a few levels of nested prefabs and make sure changes get applied down to the lowest level). These scene changes cause a bit of friction which would be nice to not have.

I don’t know whether this is something that could be changed or if there is a potential workaround we could deploy. Happy to hear of suggestions.

Hi

Can you diff the actual scene or .prefab files to see what’s causing the change?

Ah, sorry I didn’t think of that myself! From the diff, it looks like its the uniqueID field.

For full context, I edit a prefab in the scene by clicking into the prefab, aka in prefab edit mode, adding a Dynamic obstacle to a GameObject in there, savijng and then going back to the scene. I could see in the Unity Hierarchy that the Prefab in the scene was highlighted blue to show changes.

スクリーンショット 2025-02-09 20.22.39

The scene itself didn’t immediately show it needed saving (i.e it wasn’t marked with a *), but if I forced a save by making an unrelated change & reversing so I could then save the file, below is a diff of the Scene file.

スクリーンショット 2025-02-09 20.20.40

As some extra confirmation from Unity itself, if I go back into the prefab and remove that Dynamic Obstacle, back in the scene I then see this under Unused Overrides.

スクリーンショット 2025-02-09 20.26.33