Twine best practices

I have just started out with writing CYOA in Twine 2. A lot of resources on the web say it was the most straightforward. However, right from the start I find the following very cumbersome and I started to wonder: Am I using this tool in the wrong way?

Twine 2 comes with the most basic text editor I have ever seen. It doesn’t even have a search functionality which makes editing longer passages quite difficult. Yes there is a search-and-replace functionality for the twine story but this is certainly not what you want when text editing a single chapter. Also: It doesn’t have a spell checker. How in the world are you going to produce something useful and readable from such an editor? The proofing feature is a joke as well: Am I supposed to seek each error and typo in the serialized version of my story and then back trace every single error I notice? This seems very inefficient as well.
So, I wonder: As an author, are you supposed to do all the writing first in an external tool with better editing capabilities and then copy-past the passages into Twine before compiling the story? If I want this, should I use Twee2 instead? Is it possible to use Twine2/Twee2 on the same story interchangebly?

Why did the Twine developers not think of a way to let users edit passages in their favorite text editor? This should not be hard to realize at all, and would solve so many problems as there are plenty of excellent text editors out there.

I am grateful for any comments on this!

1 Like

This is one reason I favor AXMA 6.1 - which is very Twine-like - over actual Twine: there is a global search for words and phrases in passages and find/replace within passages. You can also export the source code and edit it somewhere else and then paste it back in. Also much more polished default UI and multimedia handling.

Also: simplified code highlighting and good keyboard shortcuts.

I love Twine and the amazing things people do with it, so this just a preference and no shade is intended.


That’s one of the reasons I switched to tweego. It’s a compiler rather than an Integrated Development Environment, and I can use my favorite text editor and spell checker. Some people have managed to incorporate tweego into IDEs, though. (Personally, I dislike IDEs because they’re intentionally designed to hide so much from the user.)


Tweego (twee notation) is definitely the best practice. It lets you use version control like git. Compiler is much more stable than the integrated editor because it does less things and it does them well. It’s the only option for huge games because the editor will eat your RAM and slow down after 500 passages.

I’m putting the browser with Twine Enhancer on the second place. It’s an extension for Chrome and Firefox that adds good features. The browser storage is safe in short term but I wouldn’t rely on it keeping games for a year or longer. Make exports. Also Textarea Cache is a good extension that backs up your text as you write it.

Plain desktop editor is the worst. Doesn’t even have autoupdate.

1 Like

It’s really too bad, but I have to agree with the others. You would think that for how long the Twine IDE has been around and how popular it is, it would have some basic features implemented and be more stable. We’re constantly having people complain (rightfully so) that the IDE straight up ate their story and the only way to fix it is to export it and edit the file on the disk in some other editor and re-import it. This still happens on the most recent version. SMH

But as others said, tweego is rock solid and is really great, as long as you’re not afraid to use your own editor. The three most popular editors (VS Code, Atom, and Sublime Text) all have syntax highlighting for sugarcube, so that helps a lot. Even the Twine IDE doesn’t have syntax highlighting for sugarcube, and sugarcube is the most popular Twine story format!

And like Hanon said, there are other systems out there like AXMA (and my own system, shameless plug :P) that are like Twine. It’s a lot like the situation with Inform vs everything else when it comes to parser systems. Inform is fine for most, but there are other systems that are just as capable that others prefer. IMO, if you’re going to use Twine, use Sugarcube. If you’re not going to use sugarcube, use something other than Twine.

1 Like

Chris Klimas, the developer of Twine, only works on the IDE in his spare time, away from his full-time job. I would encourage anyone who wants further improvements to the Twine IDE to contribute to his Patreon here:


And in the case of any of those more experienced coders who are commenting on the “lack of features”…

Pull Requests containing such functionally to the Twine 2 project’s GitHub repository.

It is easy to note how an application could be improved, it is harder to do the work required to implement such improvements.


I can’t figure out how to write a response which doesn’t sound like I’m trying to start a flame war, which I’m definitely not. :sweat_smile: So I’m just going to say that I’m sorry if I upset anyone. It wasn’t the intention.

1 Like

On Linux (but the same stuff could be available on Windows), there are some tools, which can used in a shell, to check a wide file, including an HTML one, and replace bad words - for instance Aspell (set by default on many versions).

It could be a good way to check your Twine game and spot the faults you didn’t see while developing.