diff --git a/core/extension/extension_api_dump.cpp b/core/extension/extension_api_dump.cpp index 4d7d82e118..06e7a990d2 100644 --- a/core/extension/extension_api_dump.cpp +++ b/core/extension/extension_api_dump.cpp @@ -1182,6 +1182,10 @@ Dictionary GDExtensionAPIDump::generate_extension_api(bool p_include_docs) { List signal_list; ClassDB::get_signal_list(class_name, &signal_list, true); for (const MethodInfo &F : signal_list) { + if (F.name.begins_with("_")) { + continue; // Hidden signal. + } + StringName signal_name = F.name; Dictionary d2; d2["name"] = String(signal_name); diff --git a/modules/mono/editor/bindings_generator.cpp b/modules/mono/editor/bindings_generator.cpp index afa944f8eb..056f77f69d 100644 --- a/modules/mono/editor/bindings_generator.cpp +++ b/modules/mono/editor/bindings_generator.cpp @@ -4263,6 +4263,11 @@ bool BindingsGenerator::_populate_object_type_interfaces() { const MethodInfo &method_info = E.value; + if (method_info.name.begins_with("_")) { + // Signals starting with an underscore are internal and not meant to be exposed. + continue; + } + isignal.name = method_info.name; isignal.cname = method_info.name;