One stack. No translation layer.
Renderer, job system, physics and editor are the same codebase — compiled with NativeAOT and talking to Vulkan without interop overhead.
Vulkan 1.3 backend
Bindless descriptors, dynamic rendering and timeline semaphores. The render graph resolves barriers on its own — no manual sync debugging.
C# without compromise
Spans, ref structs and SIMD intrinsics instead of wrappers. The hot path allocates nothing; everything else still feels like ordinary .NET.
Native fluids & smoke
A sparse voxel solver running on compute shaders inside the frame graph. No baking, no cache files, full interaction with the live scene.
Archetype ECS
Data oriented, but with a real component inspector. Systems run in the job graph across every core and replay deterministically.
Familiar workflow
Scene view, hierarchy, inspector, prefabs, play mode. If you come from Unity you are productive within an hour — importer included.
Windows first
Native Windows builds today, and those builds run on Linux through Proton. AOT binaries cold start in under two seconds with no shader hitching.
Smoke that reacts to your scene, in real time.
The solver runs in the same frame as rendering. Move a collider, turn the wind, add heat — no simulation cache, no waiting in the editor.
Sparse voxel grids
Only occupied bricks are simulated. An empty level costs nothing; a burning village costs what it has to.
Two-way coupling
Rigid bodies displace fluid, fluid carries rigid bodies. Buoyancy, vorticity confinement and temperature are per-emitter settings.
Volumetric lighting
Smoke is ray-marched straight from the density field, with self-shadowing, scattering and contact from scene lights.
Deterministic
Fixed-step solver with a seed. The same explosion looks identical on every machine — the basis for netcode and cutscenes.
Measured on hardware people actually own.
An eight-year-old GPU that handles modern AAA titles at moderate settings. Standard scene, everything on ultra: one high-quality smoke simulation and high-quality realtime reflection probes, 1920 × 1080.
Code that reads like intent.
No attribute magic, no generated partial classes. Systems are methods, emitters are structs, everything is discoverable.
{{ tabCode }}
Familiar, without the waiting.
There is no domain reload. Play mode starts in 180 milliseconds and script changes apply while the game keeps running.
Where the engine is heading.
Closed beta
Renderer, ECS, editor and fluid solver in testing with a small invited group on Windows.
Stable API
Semantic versioning, asset pipeline v2 and licensed access beyond the test group.
Native Linux
A first-class Linux target instead of the Proton path, plus deterministic rollback netcode.
Hardware raytracing
A path-traced reference view and RT shadows inside the smoke volume.
Not public yet. On purpose.
DarkEngine is in a closed testing phase — there is no public download. Builds go out individually to testers so that feedback stays close to development.
Closed beta
Invite only, currently a small group of testers. Access is granted per person and tied to a build.
License
DarkEngine is distributed under a proprietary license. Source code is not published, and testing builds may not be passed on or reverse engineered.
Platforms
Windows is the supported platform today. Linux is partially supported: Windows builds run through Proton, a native target comes later.
Frequent questions
Can I download the engine?+
Not right now. DarkEngine is in closed testing and there is no public build. If you want to test it, send a short mail describing what you would build — access is granted individually.
Why C# instead of C++?+
Modern .NET with NativeAOT, spans and hardware intrinsics gets close enough to native code, and iteration is far faster. The Vulkan layer is hand-optimised; everything above it is readable C#.
Which platforms are supported?+
Windows 10 and 11 with a Vulkan 1.3 driver. Linux is partially supported today — builds run through Proton, including on Steam Deck. A native Linux target is on the roadmap.
Is the beta production ready?+
For prototypes and jams, yes. For a release within the next six months, talk to me first — the asset pipeline will still see breaking changes before 1.0.
Want to build on DarkEngine?
Testing is running, slots are limited and the developer answers personally. Tell me what you want to make.