GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - GloriousPtr/EZUI: Performant and easy to use UI tweening and management system for Unity

BranchesTags
Open more actions menu

Latest commit

 

History

32 Commits
32 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
Assets
Assets
 
 
Packages
Packages
 
 
ProjectSettings
ProjectSettings
 
 
UserSettings
UserSettings
 
 
.gitignore
.gitignore
 
 
EZUI.unitypackage
EZUI.unitypackage
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 

Repository files navigation

EZUI: UI Solution for Unity

Build Status CodeFactor

Unity GitHub Size

Sample

Unity Animation system is not meant to work with UI. The problem here is if one panel is updated every child and subsequent children in the tree which must be UI element (quad) are marked dirty. This leads to poor performance because of the resubmission each frame CPU has to do and Unity Animation system does this even when animations are not running.

The solution to this is using tweens. So I created this project along with UI Management features (Panels, Popups, back stack, and many more)

Features

  • Easy To Use UI Solution.
  • Uses DOTween for UI animations.

Demo

Check out Assets/Plugins/EZUI/Scenes/Demo.unity scene.

Documentation

Prerequisites

  • Import DOTween and set it up
  • Import EZUI.unitypackage from here
  • If using assembly definitions for DOTween, add the reference to Plugins/EZUI/Scripts/EZUI.Core.asmdef

Setting Up

  • In Hierarchy, Right Click→EZUI→EZUIManager.
  • In project window, Right Click→Create→EZUI→EZUIData.
  • Assign newly created EZUIData to EZUIManager→Data.
  • Each canvas should be assigned to EZUIManager>UIModules list for the system to work correctly.
  • Now EZUI→EZUIPanel or EZUI→EZUIPopup can be created inside their respective canvas.

Video Tutorial

EZUI

API Documentation

The API is exposed through EZUIManager.Instance which is a singleton.

/// <summary>
/// Shows the Page and add to stack
/// </summary>
/// <param name="key">Page key</param>
EZUIManager.Instance.ShowPage(string key);

/// <summary>
/// Shows the Page and add to stack
/// </summary>
/// <param name="key">Page key</param>
/// <param name="immediate">true- no animations, false- with animations</param>
EZUIManager.Instance.ShowPage(string key, bool immediate);

/// <summary>
/// Shows the Popup and add to stack
/// </summary>
/// <param name="key">Popup key</param>
EZUIManager.Instance.ShowPopup(string key);

/// <summary>
/// Shows the Popup and add to stack
/// </summary>
/// <param name="key">Popup key</param>
/// <param name="immediate">true- no animations, false- with animations</param>
EZUIManager.Instance.ShowPopup(string key, bool immediate);

/// <summary>
/// Shows the Popup and add to stack
/// </summary>
/// <param name="popup">Popup object</param>
/// <param name="immediate">true- no animations, false- with animations</param>
EZUIManager.Instance.ShowPopup(EZUIPopup popup, bool immediate);

/// <summary>
/// Hides the Popup and remove from stack
/// </summary>
/// <param name="key">Popup key</param>
EZUIManager.Instance.HidePopup(string key);

/// <summary>
/// Hides the Popup and remove from stack
/// </summary>
/// <param name="key">Popup key</param>
/// <param name="immediate">true- no animations, false- with animations</param>
EZUIManager.Instance.HidePopup(string key, bool immediate);

/// <summary>
/// Hides the Popup and remove from stack
/// </summary>
/// <param name="popup">Popup object</param>
/// <param name="immediate">true- no animations, false- with animations</param>
EZUIManager.Instance.HidePopup(EZUIPopup popup, bool immediate);

/// <summary>
/// Hide All the Popups and Pages and clear the stack
/// </summary>
/// <param name="immediate">true- no animations, false- with animations</param>
EZUIManager.Instance.HideAllAndClearStack(bool immediate)

/// <summary>
/// Go back once, Precedence: Popup > Page
/// Also removes the current Popup/Page from stack
/// </summary>
EZUIManager.Instance.GoBack();

About

Performant and easy to use UI tweening and management system for Unity

m0hit.dev

Topics

game-developmentindiedevtweenuiui-animationui-componentui-componentsui-transitionsui-tweenunityunity-3dunity-tweenunity-uiunity-uielementunityassetunitypluginunityplugins

Resources

Readme
Apache-2.0 license
Activity

Stars

16 stars

Watchers

2 watching

Forks

1 fork
Report repository

Releases

Sponsor this project

Used by

Contributors

Languages

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.