Emit signal instead of manipulating variable

It is generally advised in the Godot community to use signals as much as possible. I agree, it’s a great way to reduce coupling between components, which allows for a more pleasant experience when testing and implementing new features. However, from my experience, I’ve found that it is not always clear when it’s appropriate to use signals. But I also found a few situations when it’s 100% appropriate to use them. Here’s one of them: ...

January 21, 2026

Subtle mistake when awaiting in GDScript

I’ve been doing Steam integration with GodotSteam and made a tricky mistake. It’s not an issue with GodotSteam in particular, but a pattern that is fairly common in GDScript. So, I thought I’d share. Mistake GodotSteam API looks sort of like this (pseudocode): class_name Steam signal leaderboard_find_result(handle: int, found: int) func findLeaderboard(lb_name: String) -> void: ... You call findLeaderboard, which is a long I/O bound operation, so you need to connect to leaderboard_find_result to get the result. ...

January 18, 2026