Now in active development

A game engine built for every platform

Joystick Engine pairs a Filament-powered renderer with an EnTT entity component system, C# scripting via Coral, and Tracy profiling — so you can ship 2D and 3D games to desktop and mobile from one codebase.

Windows macOS Android iOS
PlayerController.cs
using Joystick;

public class PlayerController : Entity
{
    public float Speed = 5.0f;

    void OnUpdate(float ts)
    {
        var velocity = Vector3.Zero;

        if (Input.IsKeyDown(KeyCode.W)) velocity.Y = 1.0f;
        if (Input.IsKeyDown(KeyCode.S)) velocity.Y = -1.0f;

        Translation += velocity * Speed * ts; // Coral-hosted C#
    }
}
One codebase
Ships everywhere
Windows · Vulkan macOS · Metal Linux · Vulkan Android · Vulkan iOS · Metal
Under the hood

Everything a modern engine needs

Joystick Engine is built on proven, production-grade libraries instead of reinventing them — so you get a modern renderer and tooling from day one.

Filament renderer

Physically based rendering with automatic Vulkan or Metal backend selection per platform — no engine-side renderer code to maintain.

C# scripting with Coral

Write gameplay logic in C# against a native C++ host, with fast iteration and full access to engine internal calls.

EnTT-based ECS

A cache-friendly entity component system drives scenes, so gameplay code stays fast as your world grows.

Tracy profiling

Frame-level profiling is built in from the start, so you can track down performance regressions without bolting on tooling later.

Box2D physics

2D rigid body physics is wired directly into the scene system for platformers, top-down games, and everything in between.

Built-in editor

An ImGui-based editor with 3D gizmos and YAML scene serialization for building and iterating on levels visually.

Ready to build with Joystick Engine?

Grab the latest build for your platform and start prototyping today.

Browse versions