lizzard is an open source framework for Unity Engine. It’s mainly based on PureMVC pattern and MVVM-style data binding system Unity Weld. It also contains stack-based input system for desktop and custom for mobile.

It’s not easy to begin with PureMVC, but it serve well in the future and make your project as flexible as possible.


  1. In your Unity project change Scripting Runtime Version in Player setting to .NET 4.x Equivalent
  2. Move lizzard folder to your /Assets
  3. Create project initialization MacroCommand to set up all Mediators, Proxies and other components of your game:
public class MyStartupMacroCommand : MacroCommand
    protected override void InitializeMacroCommand()
        AddSubCommand(() => new MyStartupMediatorsCommand());
        AddSubCommand(() => new MyStartupProxiesCommand());

You can take one of example projects as a base.

  1. Create Game Launcher script:
public class MyGameLauncher : MonoBehaviour
    private void Awake()
        // Set up all custom lizzard components
        Facade.GetInstance.RegisterCommand(Notifications.STARTUP, typeof(MyStartupMacroCommand));

        // Launch lizzard

In progress

  • Documentation
  • Editor tools
  • Unity API save wrappers