NC aggressively marks the scene dirty if you click on a GameObject, that is a Prefab, that has a graph owner attached to it. No modification is necessary. It’s not even necessary to have the “Canvas” selected; just having it present somewhere is enough.
The scene should not be set dirty only because of selection, but it can happen if you updated from a previous version because of the serialization being changed. Once the prefab is serialized and saved (as well as the scenes of course) after an upgrade though, this should stop from happening. Can you please confirm whether or not this is the case (just upgraded from a previous version and prefabs/scenes are not re-saved)?
> Can you please confirm whether or not this is the case (just upgraded from a previous version and prefabs/scenes are not re-saved)?
Nope. I’ve been upgraded for a while now.
According to source control, no files have been changed after I save the scene. I can make a reproduction project if necessary… in fact I’ll try to do that tonight.
Thanks for the follow up. If you can make and send me a reproduction project that would be really awesome since I can’t reproduce this here. If so and want, you may also send the files to (support_AT_paradoxnotion.com)
I’ve reproduced this and sent the example project to your email address.
Short repro version for anyone else reading:
It happens when you have a a prefab, with a graph, that has a Blackboard variable of type GameObject, that then references a child of the prefab, it causes this issue.
Hello from here as well and thanks for sending the reproduction project!
For the shake of this post completeness and for others looking for this until the next version release, the fix is rather easy:
Simply open up Blackboard.cs and change line # 50,
From This: UndoUtility.RecordObjectComplete(this, UndoUtility.GetLastOperationNameOr("Blackboard Change"));
To This: UndoUtility.RecordObject(this, UndoUtility.GetLastOperationNameOr("Blackboard Change"));
I am encountering a similar issue where the scene is marked as dirty simply when opening a prefab containing a “BehaviourTreeOwner” component.
This is very annoying because no change is done to the scene but we get it dirty each time, making the work confusing.
Given the reproduction project here (it is otherwise very easy to setup), the repro steps are:
– Open “SampleScene.unity”
– Open “OpenThisPrefab.prefab” and go back to the scene
– See that the scene is dirty
Would be highly appreciated if it could be fixed in an upcoming update!
Thank you for the info. I will look into making the set dirty be more selective in the future. By the way, please do not publicly post files with NodeCanvas included within…. (the attachment has therefore been deleted)
Best regards.
Join us on Discord: https://discord.gg/97q2Rjh
Author
Posts
Viewing 8 posts - 1 through 8 (of 8 total)
You must be logged in to reply to this topic.
Login
Register
By registering on this website you agree to our Privacy Policy.