GUI Pro - Casual Game

About GUI Pro - Casual Game – Unity 2D & UI Pack

GUI Pro - Casual Game Unity Asset Overview

Building a crisp, responsive user interface in Unity often turns into a time sink. I've spent entire production cycles wrestling with canvas scalers, custom dynamic anchors, and layout groups just to get shop interfaces and reward screens looking right on varied mobile aspect ratios. GUI Pro - Casual Game addresses this problem directly by delivering a production-ready, canvas-based UI ecosystem out of the box.

Architecturally, this package relies on standard Unity UI (UGUI) rather than UI Toolkit. This decision keeps the asset accessible for teams who need deep control over CanvasGroup alpha fading, custom event triggers, and legacy particle systems embedded inside UI hierarchies. The layout relies heavily on RectTransform anchoring and sliced 9-grid sprites, ensuring elements adjust predictably across ultra-wide mobile displays and older 16:9 tablets. Sprites are organized into logical atlas textures to keep batching optimal right out of the folder.

Core Technical Features & Highlights

In my experience testing UI kits on mid-range mobile hardware, visual density can easily tank frame rates if texture memory and canvas rebuilds aren't properly configured. Here is what stands out under the hood in this asset package:

Ideal Use Cases & Game Genres

While the aesthetic leans bright and vibrant, the underlying UI structures fit several distinct mobile and desktop categories:

1. Mobile Casual & Hyper-Casual Titles

If you are developing a match-3 puzzle, idle clicker, or arcade runner, the included reward popups, coin counters, and stage-clear dialogs match standard visual tropes players expect. The ready-made stage maps work cleanly for level-based progression designs.

2. Low-Poly Arcade & Midcore Games

The clean lines and saturated gradients complement 3D low-poly environments well. Integrating these UI screens alongside low-poly character displays or garage customization screens requires almost no visual re-skinning.

3. Cross-Platform Mobile Prototypes

For indie teams needing to get an alpha build running for playtesters or publisher pitches, using pre-built prefabs allows you to hook up game logic via C# scripts in hours instead of spending weeks in graphics editors.

Quick-Start Unity Setup & Integration Guide

Getting the asset integrated cleanly into an existing production hierarchy requires a couple of best practices regarding canvas scaling and view management. Here is how to set up a performant UI controller using these prefabs.

Step 1: Canvas Scaler Configuration

Ensure your root canvas uses the Scale With Screen Size mode with a reference resolution matching your project target (e.g., 1080 x 1920 for portrait or 1920 x 1080 for landscape). Set the Match slider to 0.5 to balance width and height scaling across non-standard aspect ratios.

Step 2: Custom Panel Controller Script

Instead of enabling and disabling standard GameObjects directly—which triggers costly layout recalculations on the main thread—use a lightweight C# view controller using CanvasGroup fading:

using System.Collections;
using UnityEngine;
using UnityEngine.UI;

namespace Game.UI
{
    [RequireComponent(typeof(CanvasGroup))]
    public class UIPanelView : MonoBehaviour
    {
        [SerializeField] private CanvasGroup panelCanvasGroup;
        [SerializeField] private float fadeDuration = 0.2f;

        private Coroutine fadeCoroutine;

        private void Awake()
        {
            if (panelCanvasGroup == null)
                panelCanvasGroup = GetComponent<CanvasGroup>();
        }

        public void ShowView()
        {
            ToggleInteraction(true);
            TransitionAlpha(1f);
        }

        public void HideView()
        {
            ToggleInteraction(false);
            TransitionAlpha(0f);
        }

        private void ToggleInteraction(bool enable)
        {
            panelCanvasGroup.blocksRaycasts = enable;
            panelCanvasGroup.interactable = enable;
        }

        private void TransitionAlpha(float targetAlpha)
        {
            if (fadeCoroutine != null)
                StopCoroutine(fadeCoroutine);

            fadeCoroutine = StartCoroutine(FadeRoutine(targetAlpha));
        }

        private IEnumerator FadeRoutine(float target)
        {
            float startAlpha = panelCanvasGroup.alpha;
            float elapsed = 0f;

            while (elapsed < fadeDuration)
            {
                elapsed += Time.deltaTime;
                panelCanvasGroup.alpha = Mathf.Lerp(startAlpha, target, elapsed / fadeDuration);
                yield return null;
            }

            panelCanvasGroup.alpha = target;
        }
    }
}

Pros & Cons Assessment

Asset Details & Specifications

Category2D / GUI
Latest Versionv4.1.3 (3 tracked releases)
File Size134.23 MB
Added to PlatformFebruary 10, 2026
Views13 views
Downloads2 downloads
Favourites1 favourites
Official StoreBuy Original License on Unity Asset Store →
Issue with Package?Report Broken Link →

Developers Who Downloaded This Also Downloaded

Related Unity 2D Assets