GDSerializer
May 2022 - Present · GitHub · NuGet
GDSerializer is an XML serialization and deserialization framework developed specifically for Godot applications.
It began as a custom serializer as I was dissatisfied with Godot’s Export
feature, which only works with a few select C# types and promotes writing very un-idiomatic C#.
Other serialization libraries required the types to mark themselves as serializable through the use of an attribute, which was out of the question for me since I had no control over Godot’s source code.
With GDSerializer, I therefore had to take a different approach, relying heavily on reflection to serialize all types. Over time, I made it more abstracted and extendable - GDSerializer can be extended by adding custom serializers for any type, which are used instead of the default serialization algorithm when possible.
Later, I also developed Modot with its help, for which XML serialization was highly necessary. GDSerializer is currently my second-biggest Godot library.