DEV Community

Cover image for Unity UI Framework
Devs Daddy
Devs Daddy

Posted on

6 1

Unity UI Framework

Hello everyone. Today I want to present a small library for your Unity Games. Unity UI Framework - A set of tools for interface developers, ready to use in your projects and supporting the MVC/MVP/MVVVM patterns. The basic architecture works based on View and Layouts, and interaction is handled by an event system to make your interface logic independent.

Toolkit Features:

  • Ready for MVP/MVC/MVVM;
  • Views and Layouts loading from Scene / Resources;
  • UI Controller for Views Management and Navigation;
  • Binding / Unbinging Events;
  • UI Particle System and UI Shaders;
  • Simple Components Like Imaged Button and Web Image;
  • Optimized for every platform;

Dependencies and Requirements:

  • Unity 2019+;
  • Unity Event Framework (included in project);
  • Unity UI (UGUI);
  • TextMesh Pro UGUI;

Get Started

Unity UI Framework is designed for your application and games using Unity UI (UGUI) and support Unity 2019+.

Installation process:

  • Download and import latest release from this page;
  • See usage examples below;

See Demo Scene to learn how it works (UIFrameworkDemo):
Unity UI Framework Demo

How it works?

The UI Framework works according to the View / Navigation / Layouts scheme. And separates entities between them. Each screen or window is a View that is stored in history for navigation. Each View can have its own unlimited number of Layouts. One of the View must be the home View for navigation.

For more info see Usage Examples or see Demo Scene. Also I recommend to see One UI Kit based on UI Framework.

Simple Usage

Views Binding:



UIFramework.BindView(Instantiate(homeView), true); // Home Page
UIFramework.BindView(Instantiate(pageView));       // Sub-Page


Enter fullscreen mode Exit fullscreen mode

Navigate to another view:



EventMessenger.Main.Publish(new OnViewNavigated {
    View = typeof(DemoPageView),
    Display = new DisplayOptions { IsAnimated = true, Delay = 0f, Duration = 0.5f, Type = AnimationType.Fade },
    Data = new DemoPageView.Data {
        Title = "Demo Page",
        Content = pageContent
    }
});


Enter fullscreen mode Exit fullscreen mode

Download latest version / Learn API reference:
https://github.com/DevsDaddy/UIFramework


My Discord | My Blog | My GitHub | Buy me a Beer

Heroku

Build apps, not infrastructure.

Dealing with servers, hardware, and infrastructure can take up your valuable time. Discover the benefits of Heroku, the PaaS of choice for developers since 2007.

Visit Site

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay