Monthly Update: Aug '26

August was almost entirely events! We had the Beaker Street Science Festival, a trip back up to Queenstown for Yarn Spinner-powered workshops with Year 6 students, and then /dev/world and XWorld, two tech conferences we run in Melbourne each year. What was left went into the IL2CPP bug, somewhere to properly test our engine plugins, Story Solver, and more of the rewrite of how Yarn Spinner calls your code, and keeping up with Alpha releases for Yarn Spinner for Godot (GDScript), Unreal Engine, and Visual Studio Code. So: a much shorter update than usual! Read on.

Yarn Spinner for Unity#

The IL2CPP build failures on Unity 6.5 are fixed. We’ve been working on this since early July; there was an issue with IL2CPP targets and InvalidOperationException: Sequence contains no matching element errors, and it took a while to hunt down. The cause was the assembly aliasing we do to stop our DLLs colliding with everyone else’s, which Unity 6.5 no longer gets along with.

It was a nasty one, and huge thanks to Lottie May at Necrosoft Games and Katelyn Gadd at Unity for helping us out.

Testing in real builds#

The other big Unity job this month is one you can’t see: we built a new testing platform for running Yarn Spinner end-to-end in fully built games.

We already have a testplan system for validating the compiler — a script that says run this dialogue, expect these lines, take this option, expect this to happen next — and it’s great, but it stopped at the compiler. So we made it work in Unity too, and then automated everything around it: create a new project, install Yarn Spinner, install the tests, do a build, run the build, and check that the build did what it was meant to.

Action dispatch, continued#

The action work we wrote about last month continued, this time on dynamic dispatch.

The idea is that wherever possible, calling one of your commands or functions is a normal static invocation. But that isn’t always possible, and it isn’t always desirable — plenty of actions only exist at runtime — so we want dynamic dispatch to still work properly, rather than being the sad option.

The trouble is that newer features like converted types and enums in actions don’t work with how we used to do action dispatch. So that has to be rewritten too. Not much to show for it yet, but it’s the last big thing standing between you and arbitrary parameter types in your commands and functions.

Everything else was the usual steady drip of bug fixes across Yarn Spinner for Unity, the VS Code extension, Godot and Unreal Engine… plenty of small things are better than they were a month ago. Huzzah!

Story Solver#

Story Solver in August was focused on your ability to store your assets in your own GitHub. Your project is just files, in a repo you own, and you stage, commit and discard your changes from inside the editor. Your data isn’t locked up in our cloud. We don’t even have a cloud to lock your data into. What even is a cloud?

The Yarn Spinner Playground editor showing a Yarn file open in split view: a node graph with Start and End nodes on the left, and the Yarn source on the right with a Compiles - 2 nodes badge. A Local Changes panel in the bottom left lists three modified files with a commit message field, Commit Changes and Discard Changes.
Local changes, staged and committed from inside the editor.

The quest graph editor kept moving along too. Quests are built out of steps and tasks, each with tags, developer notes and a win, lose or neutral outcome, and the solver works over the lot of it: coverage, shortest path, every route through a quest, and whether an ending is still reachable after everything else that’s happened.

The Story Solver quest graph editor, showing a quest named The Dragon with a Start step leading to Deal With The Dragon, which branches to two end steps: Dragon Slain and Dragon Seduced. A sidebar lists quests, variables, rules and tags, and an inspector on the right shows the selected step's display name, ending outcome and solver settings.
A very small quest, with the solver's tools along the top.

Still on track for release towards the end of the year.

Business Business#

A lot of the non-code time this month went into talking to politicians about supporting the local games industry. The Australian industry has had a weird couple of years, and the people who decide where the money goes do listen if you keep turning up with the numbers, so we do try to make an effort to show up.

We also put together a product bundle with some very cool folks. We can’t say who yet, but expect news on that soon.

Rather more fun: Tim spent an evening arguing on stage at the Beaker Street Great Debate, the big annual set piece of Tasmania’s Beaker Street Festival. The question: now that Australia has banned social media for the under-16s, should we ban it for the over-16s too? Are adults really immune to all the harms of these platforms?

Tim was on the negative team, “The Yappers”, with statistician Professor Barbara Holland and astrophysicist Dr Kirsten Banks, up against “The Viral Influenzas” — sex historian Dr Esmé Louise James, economist Saul Eslake, and human-computer interaction researcher Dr Meredith Castles. The Yappers won!

The whole debate was recorded for ABC Radio National’s Big Ideas, and you can listen to it here.

A dark theatre with a packed audience in silhouette. On stage, Tim stands at a lectern with a microphone, a panel of debaters sits behind a long table, and a band with an accordion player waits at the side. A large screen behind them reads The Beaker Street Debate, illustrated with two conical flasks boxing each other? I think that's what it is anyway.
Tim mid-yap at the Beaker Street Great Debate.

And then it was /dev/world and X World which took a lot of time! Worth it, as always!

Other Fun Stuff#

Another big month for Yarn Spinner game releases, with Grim Trials, Ledgerbound, Doloc Town hitting 1.0, and the lovely Capy Castaway all arriving.

Big Hops Together also came out, bringing co-op to a game that shipped back in January. So the next time someone jokingly tells y’all to just add multiplayer, you can tell them it will take many months, an entire studio, and a second name on the store page. Super easy. Should really just be a button in Unity.

We also spent a day helping a friend shoot footage for their game, Russian Roulette with Friends, which meant a green screen, a lot of eye makeup, and Jon doing something other than a conference livestream for once…

A video switcher interface with a program feed showing an actor in a jacket, with heavy dark eye makeup, sitting on a box in front of a green screen. The recording timer reads two minutes, and the media library on the left is full of /dev/world slides.
Shooting green screen footage for Russian Roulette with Friends.

And, like many people, we spent way too much time playing Big Walk with our friends. Highly recommended.

A first-person view in Big Walk: three red-and-blue characters with single large eyes stand in a shallow creek, surrounded by scrubby Australian bush, granite boulders and pink wildflowers, with a fourth character in the foreground. They're pointing at each other.
Big Walk, which is a masterpiece.

Summary#

  • Fixed the IL2CPP build failures on Unity 6.5, with thanks to the folks who helped us track it down.
  • Built a new end-to-end testing platform that creates a project, installs Yarn Spinner, builds it, runs the build, and checks the result, so we catch build-only problems before you do.
  • Continued the action dispatch rewrite, this month on dynamic dispatch and making converted types and enums work with it.
  • Assorted bug fixes across Unity, VS Code, Godot and Unreal.
  • Story Solver: more work on storing your assets in your own GitHub, plus more on the quest graph and the solver.
  • Talked to a lot of politicians, set up a product bundle we can’t tell you about yet, won the Beaker Street Great Debate, and ran /dev/world.

That’s August. See you next month!

Want a hand getting Yarn Spinner into your game? Hire us! Made something with Yarn Spinner? Tell us about it!

Header image: the limestone coast at Canunda National Park, near Southend in South Australia, on Buandig land. Taken by Yarn Spinner's Dr Jon Manning.

Unless otherwise noted, the content of this post is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0). Logos, screenshots, and artwork shown in this post remain the property of their respective owners and are not covered by this license. The Yarn Spinner logo and branding imagery are also not covered by this license.