Duality - a 2D Game Development Framework

Duality is a modular 2D game engine that provides its own visual editor. It's highly extensible, written entirely in C# and backed by OpenGL.

Getting Started

Engine Features

  • Plugin Architecture

    Easily introduce game logic via plugin

  • Component Based Design

    Allows your own code to blend in seamlessly

  • Base Infrastructure

    Rendering, Audio, Physics, User Input, ...

  • Content Management

    Takes care of all your game resources

Editor Features

  • Live Editing

    Preview and Test directly in the editor

  • Hot-Reload Resources

    Modified Assets are automatically reloaded

  • Hot-Reload Plugins

    Write code and test it directly without restart

  • Modular Design

    Tailor the editor exactly to fit your game

Typical Workflow

For a lot of game libraries, your code has the active role of setting everything up and managing it. These roles are reversed here: Your primary job is to define objects and specify their behaviours - Duality can handle all the rest.

  1. Import Assets

    Drag files into the editor and drag assets into the game.

  2. Write Code

    Type C# code for game logic and engine extensions.

  3. Attach Logic

    Add bits of your code to objects in the game.


Duality is being constantly developed since 2011 - let's build some great games with it.

User Reviews

This is the best open source engine I've ever worked with. Clean and understandable code, all pure .Net, an incredibly fully featured editor, and an awesome component-oriented approach to building games.

Andrew O'Connor, BatCat Games

Easy to learn while still in-depth enough to develop everything you want.

SirePi, forum user

Duality has just the right balance of code / design, and I think it's one of the engines standout features.

hsnabn, forum user