|
|
|
|
|
by npinsker
375 days ago
|
|
Ironically, both features you mention are ones that seem questionable. `$` feels like a bit of an anti-pattern to me because it encourages hard-coding strings, so if you move, rename, or switch components around, it silently breaks. Unity's encouragement of pointers feels cleaner. Godot has `@export`, but also `@export_multiline`, `@export_dir`, `@export_global_file`, etc. which produce slightly different behaviors. Unity supports true metadata through C# attributes (https://learn.microsoft.com/en-us/dotnet/csharp/advanced-top...) -- with all the power of C#, so you can freely add multiple attributes with parameters (which themselves are type-checked) and even program your own custom ones. You can add custom C# attributes, then use those attributes to drive the display of the inspector, which is a perfect little DSL solution that -- because of GDScript -- feels very far away from Godot at the moment. |
|