From 46436c12788f372b232d3f4492ca96b456f74810 Mon Sep 17 00:00:00 2001 From: Raul Santos Date: Wed, 21 Jan 2026 02:21:30 +0100 Subject: [PATCH] Hide signals prefixed by underscore --- core/extension/extension_api_dump.cpp | 4 ++++ modules/mono/editor/bindings_generator.cpp | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/core/extension/extension_api_dump.cpp b/core/extension/extension_api_dump.cpp index 4d7d82e118d..06e7a990d24 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 afa944f8eb9..056f77f69df 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;