Our dialogue tool, Yarn Spinner for Godot, has been built on C#, and we love it. Godot’s C# support is fantastic. But we wanted every Godot developer to have great dialogue, so we rebuilt the whole runtime in pure GDScript too. Now the same Yarn script runs identically in both. This talk is a joyful tour of how we did it, what it taught us about GDScript, and everything else we learned along the way.
Our dialogue tool, Yarn Spinner for Godot, has been built on C#, and we love it. Godot’s C# support is fantastic. But we wanted every Godot developer to have great dialogue, so we rebuilt the whole runtime in pure GDScript too. Now the same Yarn script runs identically in both. This talk is a joyful tour of how we did it, what it taught us about GDScript, and everything else we learned along the way.
Much of the GDScript tutorials, documentation, and advice comes from gameplay code. But we got to take it somewhere new: a bytecode virtual machine, protobut, a stack, a variable store and a localisation system. And it was a blast!
In this talk we’ll cover
- Bringing a C# runtime across to GDScript, and the surprising places each language shines.
- Making GDScript appropriately fast for a job it isn’t usually asked to do.
- How typed GDScript shaped the design for the better.
- Plugging straight into Godot’s TranslationServer for localisation.
- Parity testing: how we keep two runtimes in lockstep from shared test scripts.
- Why supporting both Godot languages is worth it, and how to do it for your own plugins.
- And more secrets and tips on using Godot for narrative, and building narrative engines!
You’ll leave with practical patterns for performance sensitive GDScript, a testing approach you can use on any project with two implementations, and hopefully some excitement about what both of Godot’s languages can do.

