RetroBlit Game Framework (v2.2.1)

RetroBlit (formerly FES) is a retro pixel game framework, built on top of Unity. It aims to create an ideal, low friction framework for making pixel-perfect retro games from the early 90s era. RetroBlit takes advantage of the portability, and the ease of deployment that Unity provides, but does away with the Unity Editor interface in favour of a traditional game loop, and code-only development.

Code-Only Development

RetroBlit builds on top of Unity, but it takes almost nothing from Unity's usual workflow. The IDE is discarded in favour of classic code-only development. Take a look at this simple "hello world" game:

public class MyGame : RB.IRetroBlitGame
    public RB.HardwareSettings QueryHardware() {
        var hw = new RB.HardwareSettings();
        hw.DisplaySize = new Vector2i(320, 180);
        return hw;
    public bool Initialize() {
        RB.SpriteSheetSetup(0, "MyGame/MySprites",
            new Vector2i(16, 16));
        return true;
    public void Update() {
        if (RB.ButtonPressed(RB.BTN_SYSTEM)) {
    public void Render() {
        RB.Clear(new Color32(50, 104, 108, 255));
        RB.Print(new Vector2i(4, 4), new Color32(127, 213, 221, 255),
            "This game is going to be AMAZING!");
        RB.DrawSprite(0, new Vector2i(4, 14));


  • Pixel perfect rendering
  • Primitive shape rendering, triangle, lines, rectangles, ellipses, pixels
  • Multi-layered tilemaps with extensive TMX file support which includes support for infinite maps, objects, and custom properties
  • Rendering to and from sprite sheets
  • Unicode text rendering, with text alignment, overflow settings, and custom pixel font support
  • Sprite packing support
  • Clipping
  • Custom shader support
  • Sound and Music APIs
  • Simplified Input handling
  • Optional wide and tall pixel support
  • Post processing and transition effects, such as scanlines, screen wipes, screen shake, fade, pixelate and more
  • Garbage Collection aware code, for smooth play without hiccups!
  • Supports an amazing variety of platforms, courtesy of Unity


RetroBlit is optimized to run efficiently and smoothly, and should satisfy any of your performance needs. Test the performance yourself in this RetroBlit stress test demo:

But... but the Unity Learning Curve!

RetroBlit only requires the very bare minimum knowledge of Unity to create a RetroBlit project, and you can find a guide for just that here:


For more information and a very in-depth documentation please have a look here:

If RetroBlit looks like the thing for you then please visit the store page on the Unity Asset Store:!/content/102064


Lastly, I believe that with frameworks/engines dogfooding is critical. Merl is such a project:

You can also check out a smaller game that is packaged with RetroBlit, well document source code and all!

Install instructions

You can try the above RetroBlit demo reel as a stand-alone application for one of these platforms below!


Download 15 MB
Version 2.2.1 Jun 25, 2019
rb_demoreel.apk 24 MB
Version 2.2.1 Jun 25, 2019
Download 21 MB
Version 2.2.1 Jun 25, 2019
Download 32 MB
Version 2.2.1 Jun 25, 2019


Log in with to leave a comment.

I managed to find a link to 2.2 documentation on your website, but most places, including the asset store page and this page, link to a 2.1 version of the documents that has a lot of broken links. You might want to update those links.

I wonder if that's cached somewhere, the old documentation was removed and the new one replaced it entirely. Could you try again, and refresh your page? Thank you for reporting this.

I just tried it on a different computer and you're right, it went to the new version. Thanks. 

Btw, what's the best place to ask questions? Here, the subreddit, PM? 


Subreddit if it would benefit others, otherwise you can email me at the support email address!

(1 edit)

Thank you so much . it will help me to learn more Unity 

Hi! Is it totally necessary to run FES in Unity version 2017.1.1? I'm trying to make it run on 2017.3.1f1 and I get this error: "Input Axis P1_VERTICAL is not setup".

Any ideas? thanks

(1 edit)

No, RetroBlit will run on any version starting 2017.1.1. It sounds like your input settings have changed, RetroBlit is a complete project, you should let it keep it's own configuration after you import it.

Feel free to email at the support email address if you're still having trouble!