Godot Version
4.3.stable
Question
Hi everyone,
I’m running into an issue with @tool scripts not executing live in the Godot 4.3.stable editor on macOS (Sonoma 14.1.1 - Apple M2 Pro - Mac Mini).
Specifically, changes like property setters (set(value)), _process(), or _set() don’t trigger until I save and reopen the scene—or sometimes restart Godot entirely. This makes it tough to debug UI tweaks and custom tools in my project.
Here’s a minimal example of what I’m seeing:
@tool
extends Node
@export var test_value: int = 0:
set(value):
test_value = value
print("Setter triggered: ", value)
func _process(_delta):
if Engine.is_editor_hint():
print("Editor tick")
Expected: Changing test_value in the Inspector prints “Setter triggered” instantly, and “Editor tick” prints every frame.
Actual: No prints until I save/reopen or restart—sometimes it’s completely silent.
I’m working on a character creation UI and this bug slows me down a lot. I suspect it’s a known macOS-specific issue (seen similar reports on GitHub, like #66381), but I’m hoping someone’s found a reliable workaround.
What I’ve tried:
- Adding NOTIFICATION_ENTER_TREE—triggers on load, not live edits.
- Using a Timer in _enter_tree()—works but feels clunky.
- Avoiding _process()—doesn’t fix setters.
Has anyone on macOS found a solid fix? Maybe a signal trick or editor refresh hack? I’d love to avoid restarting or closing and opening scenes at every tweak!
Thanks for any tips—happy to share more details if needed.