Godot doesn't support exporting arbitrary types, it has to be a primitive type or a Resource
(which can be a custom one).
I haven't done that often and I don't use C# in Godot, but here are some suggestions:
If you want to export your custom type you could make it inherit Resource
and export it as Resource
.
Then in the inspector, under the property, create a new Resource
, and add your custom resource script on it. At least, that's how it can work in GDScript.
If that doesn't work, try to make your field a Resource
instead of MyClass
, then cast it to obtain your derived type.
You could bypass the extra step of adding resource + adding script by registering your class with a global class name so it will appear in the New Resource
dialog (a Godot feature, not related to C#) but I haven't tried with C#.