Game engine · Rust · C#
Bring your Unity scripts.
Tassix is an open 2D and 3D engine in Rust that runs Unity-compatible C# unmodified, plays Unity projects from their files, and has an editor that AI agents drive over MCP.
- Conformance scenarios
- 95
- Unity API members
- 16,366
- Progress updates
- 130
- Commits
- 268
28,863 events recorded in Unity 6000.3.27f1, matched one by one
of the engine modules and packages Tassix implements, counted by name
slices landed since October 24
across 17 Rust crates and the .NET runtime
What it does
All features
Your Unity scripts, unmodified
MonoBehaviour scripts compile against Tassix's own UnityEngine and behave as they do in Unity: the lifecycle and execution order, coroutines, fake null, Invoke, physics callbacks, SceneManager,…
Unity projects, from their files
Point the player at a Unity project and it plays its first build scene: .unity scenes, prefabs, ScriptableObjects, materials, .meta GUIDs, assembly definitions and plugin DLLs,…
An editor agents can use
The editor is a headless core that the GUI and an MCP server both drive. Every edit is a typed command with undo, so an agent's…
Speed first
Performance decides every design question that Unity compatibility leaves open. Transforms live in dense arrays updated in parallel; managed code reads them without crossing into native…
Where it's at
The roadmap- Phase 0 Foundation Done
- Phase 1 Object model and core API Done 1 update
- Phase 2 Rendering core In progress 4 updates
- Phase 3 Gameplay systems In progress 5 updates
- Phase 4 Project import (L2) and editor In progress 22 updates
- Phase 5 Extended API and rendering Ongoing 32 updates
- Phase 6 Binary compatibility and shipping Ongoing 66 updates
Latest progress
Every update
Shader Graph
.shadergraph files (Shader Graph 10 and later: multi-JSON) are project shaders named "Shader Graphs/", as Unity names them (materials by GUID, Shader.Find, Resources). tassix_shaderlab::graph translates one…
Image effects (OnRenderImage)
Without a scriptable pipeline, a screen camera's scripts' OnRenderImage(source, destination) run after its other callbacks, in component order, each given the last one's result (ImageEffects, CoreModule). They're…
Graphics.Blit with a material
Graphics.Blit(source, dest, material, pass) into a render texture runs a project shader: the source becomes the material's _MainTex (as Unity sets it), and the pass (or every pass,…
URP renderer features drawn
Each camera's recorded render graph goes to the renderer (CameraSetGraph, API 55): the textures its passes create, and each full-screen draw as a pass with a material of…
URP renderer features (recording)
The project's render pipeline asset loads as an object (the current quality level's, else the graphics settings'), after its scripts compile, with its renderer data and their features…
The DualSense over HID
crates/script_host/src/dualsense.rs reads DualSense and DualSense Edge controllers over HID (hidapi; its pure-Rust backend on Windows) and drives them: input reports over USB (0x01) and Bluetooth (0x31, after reading…
Commits per day
Recent commits
-
a664829Website: export a content bundle for a hosted WordPress -
af70910Website: a WordPress site synced from the repository -
b3002afEditor: Game view controls -
552f7d6Shader Graph: .shadergraph files draw as project shaders -
109cfb4Editor: every panel button the fields' height -
9bc17eeEditor: Rect Transform in the Inspector -
924278fImage effects: OnRenderImage runs on the camera's image -
e143bf4Editor: one margin for every panel
Now