From 4786492dea3dc531d5cb5a8b4b5f805d1d70ea08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wittmann=20=C3=81ron?= <58312474+RawEnchilada@users.noreply.github.com> Date: Mon, 16 Mar 2026 12:26:06 +0100 Subject: [PATCH] Support UID's introduced in godot 4.4 Refactor singleton check to include resource UID comparison, and correctly parse autoloads --- .../panku_console/modules/variable_tracker/module.gd | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/panku_console/modules/variable_tracker/module.gd b/addons/panku_console/modules/variable_tracker/module.gd index e7283b3..7e6d6ad 100644 --- a/addons/panku_console/modules/variable_tracker/module.gd +++ b/addons/panku_console/modules/variable_tracker/module.gd @@ -60,15 +60,15 @@ func _update_project_singleton_files() -> void: # Check if given node is autoload singleton. func _is_singleton(node: Node) -> bool: - # Comparing scene file and script file with list of autoload files - # from project settings. I'm not sure that approach hundred percent perfect, - # but it works so far. if node.scene_file_path in _user_singleton_files: return true var script = node.get_script() - if script and (script.get_path() in _user_singleton_files): - return true + if script: + var uid_int := ResourceLoader.get_resource_uid(script.get_path()) + var uid := ResourceUID.id_to_text(uid_int) + if (script.get_path() in _user_singleton_files) or (uid in _user_singleton_files): + return true return false