Turian 1.0: Coming Home to C#
I started Turian in C#. Then I spent six months rebuilding it in Zig. Now I'm bringing the Turian name back to C# and releasing Turian 1.0.0.
If that sounds like a lot of turning around, it is. The Zig engine was real work, not a detour I regret. It grew a renderer, scenes, prefabs, an asset pipeline, and an editor. It also taught me what I want the day-to-day experience of making a game with Turian to feel like.
Why I came back
I liked writing Zig, especially its comptime tools and the control it gave me over memory. But Studio needs to discover game components and show their fields while a game is running. In Zig, I kept adding metadata and registration code to make that possible. Building a game also meant compiling the engine from source alongside it. Once I tried using the engine to make a game, that extra work became hard to ignore.
At the same time, I was still writing C# for other projects and enjoying it. A weekend updating Guinevere led me back to the original Turian codebase. I spent the next month bringing it up to .NET 10 and carrying over ideas from the Zig version, including the Open Asset Package format and parts of the editor workflow. Everything I'm showing in 1.0 was shaped by that back-and-forth. Ideas started in one engine, met real problems in the other, and came back stronger.
This is the release that came out of that month. I wrote more about the decision, including what I loved about Zig, in The 180° Turn on the MASS4 blog.
Two engines, two names
The Zig engine is now TurianZ. I'm preserving it for anyone who wants to use, fork, or continue it. The older posts on this site describe TurianZ, and the Turian and TurianZ page explains the split.
I chose version reset for the C# engine because a TurianZ project cannot simply be opened in it. Calling this release 4.0.0 would imply an upgrade path that does not exist. If you have a TurianZ project, keep it on TurianZ. For a new project, start with Turian 1.0. From here I'll follow the release policy: small, frequent releases, with a major version when a change can break a project.
What you can do in 1.0

Bistro scene from the Amazon Lumberyard Bistro dataset, CC BY 4.0.
Turian Studio lets you work with scenes, assets, and C# components in one place. It has a scene tree, Inspector, asset browser, scene and game views, document tabs, themes, a command palette, and rebindable shortcuts. It runs as a Gaya plugin and uses Guinevere for its interface.
Write a component in C#, then adjust its fields in the Inspector. Scripts can recompile and hot-swap while Studio runs. Play Mode tests a copy of your scene, so trying something out does not alter the scene you are editing. Build & Run opens the game in its own window. When you want to share it, export a self-contained executable that does not require players to install .NET.
The engine has a Vulkan 1.3 renderer with PBR materials and imports glTF 2.0, FBX, and OBJ. It also includes data assets, prefabs, input action maps, localization, and game UI built from .ui documents and .uss style sheets.

If you prefer a terminal, turian-cli can create, compile, play, inspect, and export projects. There is a container image for CI as well. The tutorial takes you from a new project to an exported game.
Turian is one part of MEGA4. Guinevere handles UI and Gaya hosts the editor. Next, I'm starting MYSTERY as a proof of concept for the whole stack. I want to build a real game with these tools, find the rough edges myself, and let that experience steer what I work on next.
Try it
The [releases page]({{< param releases >}}) has a Windows installer, Debian and Ubuntu packages, and a zip for other Linux distributions. Install the .NET 10 SDK, then run:
turian-cli new MyGame
turian-studio --project MyGame
The documentation has been rewritten for the C# engine.
What still needs work
I can make and export a game with 1.0, but there are gaps I feel every day. The renderer does not have shadows, image-based lighting, or post-processing yet. Studio has no undo, prefab copies are not linked to their source, and there is no macOS release.
I'm trying ideas fast. If an experiment breaks projects, I'll give it a new major version, as the release policy says. At this pace, I wouldn't be surprised to see v23 in a couple of months. MYSTERY will be the test: it should show which ideas help when I'm making a game, and which ones only sounded good on paper.
Turian uses the Mozilla Public License 2.0. Your games can use any license you choose. If you change the engine's own files and distribute them, those changes stay under the MPL.
I'm building Turian independently. If you try it, please tell me what breaks on GitHub. If you want to help fund the next release, you can find me on Patreon or Ko-fi.
And to the Zig community, thank you. The people who helped me through those six months, especially the DVUI developers, gave TurianZ a foundation and taught me a lot. Turian is better because of that time and your generosity.
#release#announcement#engine#studio#dotnet