How stable/reliable is Odin's serialization system? Can I safely use it in my project?

So far, Odin's serialization has held up very well since we released, and has consistently proven to be the most reliable, bug-free part of the plugin. It was also the part of Odin that was written first, and so it saw heavy use and testing during the development of the rest of Odin. Our cautionary warnings are merely us exercising due caution.

A lot rests on serialization. As such, we want to make sure it is 100% safe to use before recommending people to use it in their projects. We're confident Odin's serialization feature currently works as expected; however, even a small issue could theoretically corrupt a project's serialized data quickly. We haven't had any such issues, but with people's precious serialized data, there is no such thing as being too safe. Therefore we want to very, very thoroughly vet and test Odin's serialization before we actively recommend people to use it, and that seems to be going very well.

Additionally, as is the main point we state in our manual, the freedom that Odin's serialization gives you to arrange your data exactly as you want it can be a mixed blessing. On the positive side, you can do anything you want, and on the negative side, well, you can do anything you want. More freedom isn't always good, unless it comes with proportionally more restraint. It is very easy for people to get themselves into a mess with highly complex data structures that have no real need to be so complex, and could be better expressed in a simpler way.

Therefore, as a rule we recommend people to exercise due caution and restraint when using our serialization system, as we would with any other tool that's so powerful and flexible. It's always best to let Unity serialize your data if you can, since Unity's system is simpler, faster, and has been in use for much longer. Odin's serialization is intended to lap the gaping holes in Unity's serialization that people find so painful - not to replace it entirely.

In terms of future compatibility-breaking changes, it's very simple: they won't happen. It is very important to us that the serializer is and remains totally backwards-compatible. The robustness and integrity of the serialization system is, and remains, our first priority.

So, to summarize: Can you use Odin's serializer? Absolutely, but be aware of the risks - both on your end and on the serialization's - and always make sure to keep backups and use source control software, just in case. After all, that's just common sense.

Can I use Odin for its editors only, without using the serialization? Can I use Odin for its editors only, without using the serialization?
Can I use Odin to make inspectors for my own asset store plugins? Can I use Odin to make inspectors for my own asset store plugins?
Can I use Odin Inspector to create custom editor windows? Can I use Odin Inspector to create custom editor windows?
Does the serialization support Windows Store and UWP? Does the serialization support Windows Store and UWP?
How do I contact Sirenix to report bugs, suggest features, or in general? How do I contact Sirenix to report bugs, suggest features, or in general?
Does Odin support serialization of Unity object references? Does Odin support serialization of Unity object references?
Does Odin support interfaces? Does Odin support interfaces?
How can I add an image to the inspector? How can I add an image to the inspector?
Why isn’t Odin drawing the inspector for my script? Why isn’t Odin drawing the inspector for my script?
Why is Odin not serializing or showing my field or property? Why is Odin not serializing or showing my field or property?
How will Odin handle existing editors? How will Odin handle existing editors?
How can I make a list show one item per page? How can I make a list show one item per page?
Does Odin support cross scene references? Does Odin support cross scene references?
Can I disable or hide an inspector property in play mode, or vice versa? Can I disable or hide an inspector property in play mode, or vice versa?
Which platforms are supported by Odin? Which platforms are supported by Odin?
How easy is Odin to uninstall? How easy is Odin to uninstall?
How will Odin affect performance in the inspector? How will Odin affect performance in the inspector?
How can I make my data in Odin Editor Windows persistent? How can I make my data in Odin Editor Windows persistent?
Unity crashed, could this have something to do with Odin? Unity crashed, could this have something to do with Odin?
How can I show static fields and properties in the inspector? How can I show static fields and properties in the inspector?
Can I use Odin's serialization without inheriting from SerializedMonoBehaviour etc.? Can I use Odin's serialization without inheriting from SerializedMonoBehaviour etc.?
How fast is Odin's Serialization system? How fast is Odin's Serialization system?
Is it possible to customize how the dictionary drawer draw its key-type using attributes? Is it possible to customize how the dictionary drawer draw its key-type using attributes?
How can I make an attribute that lets you drag elements unto a member to set its value? How can I make an attribute that lets you drag elements unto a member to set its value?
Why are my values disappearing when I hit play? Why are my values disappearing when I hit play?
Can I write my own custom editor code using Odin? Can I write my own custom editor code using Odin?
Why is there a Serializable JSON Dictionary in my Odin Editor Window? Why is there a Serializable JSON Dictionary in my Odin Editor Window?
How can I rename a type without loosing data? How can I rename a type without loosing data?
Odin Assembly Import Settings Odin Assembly Import Settings
Why am I getting exceptions when Odin deserializes in player? Why am I getting exceptions when Odin deserializes in player?