The issue is in YarnLibrary._is_node_class(). It currently relies only on ClassDB to see if the class inherits from Node, but ClassDB only includes builtins. I adjusted the function like so and it now handles custom classes:
func _is_node_class(type_class: String) -> bool:
if type_class.is_empty():
return false
if type_class == "Node":
return true
if ClassDB.class_exists(type_class):
return ClassDB.is_parent_class(type_class, "Node")
var class_list := ProjectSettings.get_global_class_list()
for cls in class_list:
if cls["class"] == type_class:
return _is_node_class(cls["base"])
return false
The issue is in
YarnLibrary._is_node_class(). It currently relies only onClassDBto see if the class inherits from Node, butClassDBonly includes builtins. I adjusted the function like so and it now handles custom classes: