Open-source project
inkle/ink avatar
inkle/ink

ink is inkle's scripting language for interactive narrative

inkle's open source scripting language for writing interactive narrative.

4,953 stars541 forksC#MIT

At a glance

What is it?
ink is a scripting language created by the game studio inkle for writing interactive narrative, used in text-centric and graphical games with branching stories, and it ships under the MIT license.
Who is it for?
ink is a narrative scripting language from the studio inkle that targets interactive, branching stories in both text and graphical games. With Inky for writing, inklecate for compiling, inkjs for the web, and ink-unity-integration for Unity, it covers writers, Unity developers, and web authors without forcing them into a full game engine.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 148 days ago.
What is it written in?
Mainly C#, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What ink is and who created it

ink is inkle's scripting language for writing interactive narrative. The README describes it as a tool for both text-centric games and more graphical games that contain highly branching stories. It is designed to be easy to learn while still offering powerful features for advanced structuring.

inkle is the game development studio that created ink, and the project is released under the MIT license. The README also notes that ink is free forever, though the team appreciates support through their Patreon page.

The moving parts: Ink, Inky, inklecate, and inkjs

Several components make up the ink ecosystem. Ink itself is the core narrative engine, written in C#, and it includes the code for the compiler. Inky is the editor: a text editor with support for playing your story as you write. For someone just starting out, Inky is all you need.

inklecate is a command-line compiler, and also a player, that Inky uses behind the scenes. inkjs is a JavaScript port of the ink engine that powers web-based games, and it is included when you export a story for the web from within Inky. The ink-unity-integration package is a plugin that lets you embed the ink engine in a Unity game, and it bundles the full Ink engine source.

There is also inklewriter, an unrelated interactive story tool that is easy to use but far less powerful than ink. You can export inklewriter stories into ink, but not the other way around.

Getting started and writing with Unity

The fastest way in is to download Inky. The README points non-technical users, or anyone building a web-based interactive fiction game, to the basics tutorial, while the full tutorial shows everything ink can do. People who are very technically minded can skip the editor and use inklecate, the command-line compiler, on its own.

For Unity developers the path is a little different. You download the latest ink-unity-integration package, or grab it from the Unity Asset Store, and drop it into your project. You then create a .ink text file such as myStory.ink containing the text Hello, world!. Selecting that file in Unity reveals a Play button in the inspector, and clicking it opens an Editor window where you can play and preview the story.

Compiling and dropping ink into your own game

Ink ships with a C#-based runtime engine, or a JavaScript-based one, that can load and run a compiled ink story held in JSON format. You can compile by exporting from Inky through File then Export to JSON. If you work in Unity, the ink-unity-integration package compiles your ink automatically whenever you edit it, whether in Inky or in another editor.

The README is clear that ink is not built as an end-to-end narrative game engine. Rather, it is designed to be flexible so it can slot into your own game and user interface with ease. A sample Unity project called The Intercept is referenced as a worked example.

How versions line up across the ecosystem

The README explains that the latest ink, Inky, and ink-unity-integration releases on each GitHub release page are meant to work together, even though Ink and Inky use separate version numbers. You can see which ink engine version Inky carries in its About box.

ink and ink-unity-integration should effectively share the same engine version, except that the integration can add Unity-specific minor releases; their X.0.0 and 0.Y.0 numbers are meant to match, while the 0.0.Z number in ink-unity-integration may diverge to reflect Unity changes. inkjs is maintained by the community, primarily by @y-lohse and @ephread, and usually sits one major version behind the main engine, though they work to catch up after each release. The ink engine also carries internal story-format and save-format versions.

Building ink, getting help, and the license

To build ink you need the .NET SDK 6.0 or newer, with Visual Studio Code as an optional extra. On Windows or Mac, Visual Studio or Xamarin are optional aids for building the nuget package. You can build with the solution file in Visual Studio, or from the command line with dotnet build and dotnet run. Running the binaries needs the .NET Runtime 6.0 or newer.

Help is available through an active Discord community and through GitHub Discussions, where general questions moved after the project stopped using Issues for Q&A. Contributions are welcome as pull requests, though the team notes they are often busy shipping a game. The project is released under the MIT license and is free forever.

Editorial conclusion

ink is a narrative scripting language from the studio inkle that targets interactive, branching stories in both text and graphical games. With Inky for writing, inklecate for compiling, inkjs for the web, and ink-unity-integration for Unity, it covers writers, Unity developers, and web authors without forcing them into a full game engine. Released under the MIT license and free to use, it remains a flexible layer you drop into your own project rather than a closed system.

Frequently asked questions

Is ink by Inkle free?

Yes. The README states that ink is released under the MIT license and notes that it is free forever, although the team welcomes support through their Patreon page.

What type of company is Inkle?

inkle is a game development studio. The README describes it as the game development studio that created ink.

What language is the ink engine written in?

The core ink engine is written in C#. There is also inkjs, a JavaScript port of the engine that powers web-based games and is included when you export a story for the web from Inky.

Official sources

  1. inkle/ink on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/inkle-ink.svg)](https://hysenlabs.com/projects/inkle-ink)