Exporting the corresponding array property in Kotlin:
@Export
@RegisterProperty
var nodes: VariantArray<Node3D>? = null
... produces an untyped array editor like this:
Note that in the exported Kotlin property, the editor just says "Array (Size 2)" in the title, whereas in the GDScript case, it says "Array[Node 3D] (size 2)".
This issue is not merely cosmetical; in the editor resulting from kotlin code, the user can assign any resource type in the Godot editor, which will fail immediately with a type error at runtime.
@chippmann assumes that it has something to do with the way Godot 4 exports type hints for arrays.
Exporting an array in GDScript like this:
... produces a typed array editor like this:
Exporting the corresponding array property in Kotlin:
... produces an untyped array editor like this:
Note that in the exported Kotlin property, the editor just says "Array (Size 2)" in the title, whereas in the GDScript case, it says "Array[Node 3D] (size 2)".
This issue is not merely cosmetical; in the editor resulting from kotlin code, the user can assign any resource type in the Godot editor, which will fail immediately with a type error at runtime.
@chippmann assumes that it has something to do with the way Godot 4 exports type hints for arrays.