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.

The Tassix editor: Hierarchy, Scene view, Inspector, Project and Console panes
The editor with a Unity project open: Coin Dash's level from its .unity file, the Player selected, and an agent's recent edits marked.
Conformance scenarios
95

28,863 events recorded in Unity 6000.3.27f1, matched one by one

Unity API members
16,366

of the engine modules and packages Tassix implements, counted by name

Progress updates
130

slices landed since October 24

Commits
268

across 17 Rust crates and the .NET runtime

What it does

All features

Where it's at

The roadmap
  1. Phase 0 Foundation Done  
  2. Phase 1 Object model and core API Done 1 update
  3. Phase 2 Rendering core In progress 4 updates
  4. Phase 3 Gameplay systems In progress 5 updates
  5. Phase 4 Project import (L2) and editor In progress 22 updates
  6. Phase 5 Extended API and rendering Ongoing 32 updates
  7. Phase 6 Binary compatibility and shipping Ongoing 66 updates

Latest progress

Every update
Phase 6 · Slice 63 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… Phase 6 · Slice 62 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… Phase 6 · Slice 61 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,… Phase 6 · Slice 60 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… Phase 6 · Slice 59 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… Phase 6 · Slice 58 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

04080120160Oct 24: 11 commitsOct 24Oct 25: 9 commitsOct 25Oct 26: 58 commitsOct 26Oct 27: 30 commitsOct 27Oct 28: 126 commitsOct 28Oct 29: 34 commitsOct 29

Recent commits

  • a664829 Website: export a content bundle for a hosted WordPress
  • af70910 Website: a WordPress site synced from the repository
  • b3002af Editor: Game view controls
  • 552f7d6 Shader Graph: .shadergraph files draw as project shaders
  • 109cfb4 Editor: every panel button the fields' height
  • 9bc17ee Editor: Rect Transform in the Inspector
  • 924278f Image effects: OnRenderImage runs on the camera's image
  • e143bf4 Editor: one margin for every panel

Now

Phase 6: Binary compatibility and shipping

What landed in it