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.