GodotCon Boston 2026

Samuel Kison

Hey there! I'm a Godot enthusiast who has been using the engine since 2019, working on various game and tool projects along the way. It's been a joy to witness all the engine improvements in that time.

Now I'm working with some friends on our upcoming Godot-made game TurnTide Tales, a swashbuckling tactics adventure!


Session

07-20
11:30
60min
Making better tools with UndoRedo
Samuel Kison

Godot's custom @tool scripts and addons are a great way to augment your development flow in the editor, but there's a dark underbelly to this side of scripting that you might not have considered: the UndoRedo system. It is a key piece that you need to utilize well in order to manage your modified data reliably and to provide a good editor experience for your tool users. If you've ever run into issues with desynced or invalid game state after an undo or redo, this workshop is for you!

In this workshop, I will go over the purpose of the UndoRedo class & EditorUndoRedoManager singleton, how to take advantage of them for general tool & addon use cases, and even how to perform some editor sorcery thanks to the power of MERGE MODES. I will share some of my experiences working with it through our team's efforts on TurnTide Tales, and how I've managed to navigate around some truly nasty pitfalls that are easily overlooked. My goal is that by the end of this talk, you will be better informed in how to design editor-adjacent code that behaves well with the ctrl+z undo, ctrl+shift+z / ctrl+y redo actions that developers intuitively rely on all the time!

Download the UndoRedo Tooling Demo project here.

See the slideshow presentation here.

Try out the UndoRedo Service addon here.

Deborah Sampson