NodeCanvas is using the FullSerializer json library [LINK], because it is very robust and more specifically allows for serializing generics (which NC uses a lot), as well provides flexible ways for handling missing types when deserializing, among other features.
Unfortunately the Unity serialization system, while certainly faster, it is so for the reason that it lacks a lot of serialization features that in NC were a requirement. Furthermore the Unity serialization system basically only works with types deriving ScriptableObject and MonoBehaviours, which types, are not well suited for data structures like graphs and would be a total nightmare -close to impossible- to handle properly if nodes and tasks were all deriving ScriptableObject for example.
With that said, I constantly try to improve the deserialization speed, but changing to a completely different serialization system this far down the project, is really not an option, especially considering that doing so, will break existing projects using NC thus far.
Thanks!
Join us on Discord: https://discord.gg/97q2Rjh
Login
Register
By registering on this website you agree to our Privacy Policy.