I am loving Node Canvas, and everything has been great up until now 😉 I am instantiating around 150 objects all of them have a Node Canvas attached to them. In the editor everything instantiates and runs fine. However when built for PC, none of the instantiated objects run their respective Node Canvas.
I have tried instantiating just one and it’s the same problem. None of the various debugging tools I use report any problems. It just silently fails.
When manually adding the prefab to the scene, it works fine.
Any ideas?
Thanks!
EDIT: After a lot of investigation, it looks like the prefab is forgetting references to itself when compiled! For example I specify a child transform for rotation. If I setup some nodes to first find the child then it works on both in the editor and in a compiled version. Is this normal?
It’s a known bug introduced in the latest version of both FlowCanvas and NodeCanvas.
To fix this quickly, please open Graph.cs and in method OnBeforeSerialize(), add hasDeserialized = false at the very first line outside of the #if UNITY EDITOR.
Please do exactly the same in script Blackboard.cs.
Sorry for the bug and let me know if everything works for you correctly after the change. The new version of both is already submitted to the asset store by the way, fixing this bug.
Thanks.