Game Navigation Bar – Bottom Tabs for UGUI View on Asset Store (opens in new tab)

Package details

Latest version
1.0
Last updated
First released
Unity version
6000.2.1 or later
Package size
959 KB
Files
13
Favorites
5
Views in the past week
22

Price tracking

Last checked
Tracked since
Lowest recorded
$4.99 on

Keywords

Game Navigation Bar – Bottom Tabs for UGUI

by Hungrycraft (opens in new tab)

No ratings yet

Animated bottom navigation panel for UGUI. Dead-simple setup: define tabs and target canvases in the Inspector - done. Use your own icons and text prefab. Mobile-ready.

Price $4.99

Buy on Asset Store (opens in new tab)

Affiliate link · Purchases support this site

Price history

Last 6 months

USD
Price history for Game Navigation Bar – Bottom Tabs for UGUI, 6 months Current $4.99; lowest $4.99; highest $4.99 in this period. $0 $2.5 $5 Jun Jul Aug Sep Oct Nov

Asset preview

1 / 4

Game Navigation Bar – Bottom Tabs for UGUI screenshot 1

Game Navigation Bar – Bottom Tabs for UGUI screenshot 1

About this asset

What it is
Hungrycraft Game Navigation Bar (UGUI) is an animated bottom tab bar for Unity UI. It instantiates buttons from a list, evenly distributes width, animates selection (width/height, icon scale/offset, text reveal), and activates the target Canvas per tab. Locked tabs (no Canvas) are non-interactable.

Why it’s useful
Drop-in mobile navigation for menus/hubs. Clean API, inspector-driven. Works with your own Text or TMP text prefab—no forced styling.

What’s included

  • Prefabs: Assets/GameNavigationBar/Prefabs/NavigationPanel.prefab (base), Assets/GameNavigationBar/Example/Prefabs/MainMenu.prefab (ready setup)
  • Example scene (portrait 1080×2340)
  • Scripts: NavigationPanel.cs (component), AudioManager.cs (example click sound)
  • PDF guide: Assets/GameNavigationBar/Documentation/HungryUI_NavigationPanel_Guide.pdf

Key features

  • Runtime item list (name, icon, canvas, per-item active background, icon size/offset, text offset)
  • Even width distribution with animated “active weight” vs “inactive weight”
  • Height animation (or full-height stretch)
  • Icon upscale + vertical offset on select
  • Global inactive background + optional separators (fixed width, non-animated)
  • Text via your prefab (UGUI Text or TMP_Text). We only set the string; you keep fonts/colors/sizes
  • Event: OnButtonPressed(int index) (unlocked tabs only)
  • Works without any TMP dependency

Quick setup

  1. Ensure the scene has Canvas + EventSystem.
  2. Drop NavigationPanel.prefab into the Canvas (or start from MainMenu.prefab).
  3. Add Items in the Inspector (name, icon, optional Canvas/background).
  4. Assign a Text Prefab if you want custom label styling.
  5. Tune Animation + Icon Animation, pick DefaultActiveIndex, done.

Targets & compatibility

  • Unity: tested on LTS 2021.3+ and 2022.3+ (UGUI)
  • Platforms: mobile/desktop; example authored for 1080×2340 portrait
  • No extra packages required (TMP optional)

License
© 2025 Hungrycraft — Licensed for use within your projects. Redistribution/repackaging/resale as a competing asset is not permitted. Compiled builds may include this asset.

From the publisher's Asset Store listing.

Technical details

Requirements

  • Built-in UGUI. Place the prefab under a Canvas as usual.
  • Only scene requirement: an EventSystem (Create → UI → Event System).
  • No extra packages (TMP optional if you use a TMP text prefab).

Inspector parameters

  • Items (Tabs) — list of NavigationItem:
    ButtonName
    — label text shown when the tab is active (string).
    Icon — tab icon (Sprite).
    TargetCanvas — Canvas activated on select; null = locked (non-interactable, event not fired).
    ActiveBackground — per-item background when active (Sprite, optional).
    IconSize — icon size (Vector2, px). If ≤0 in any axis → defaults to 100×100.
    IconOffset — local (x,y) offset of the icon inside the button (Vector2).
    TextOffset — vertical distance below the icon bottom (float; can be negative to overlap).
  • Layout & Stretch:
    StretchBackgroundToWidth
    — use sliced/simple fill to cover the button rect; width is always weight-based.
    StretchBackgroundToHeight — fill panel height (disables height animation). Off → height animates.
  • Common Visuals:
    GlobalInactiveBackground
    — default background for inactive tabs (Sprite, optional).
    GlobalSeparatorSprite — optional separator between buttons (fixed width; non-animated).
    SeparatorWidth — separator width in px (float).
  • Text Prefab:Prefab with Text or TMP_Text. The component sets only the string; styling (font/size/color/auto-size) is your prefab.
  • Animation (width/height):
    activeWidth / inactiveWidth
    — width weights (drive LayoutElement.flexibleWidth).
    activeHeight / inactiveHeight — heights when height is not stretched.
    animationTime — tween duration for width/height/icon/text.
  • Icon Animation:
    iconScaleMultiplier
    — icon upscale on select (e.g., 1.2).
    iconOffsetY — extra vertical offset on select (can slide above panel edge a bit).
  • Selection & Events:
    DefaultActiveIndex
    — initial tab; out-of-range → logs and falls back to 0.
    OnButtonPressed(int index) — fired on click for unlocked tabs only.

Behavior / Implementation notes

  • Width is distributed by weights across buttons; separators are layout siblings with fixed width and never tween.
  • If a button has no background sprite, its root Image remains enabled with alpha=0 so the whole button stays clickable.
  • Button transition = None — visuals are handled by the component (no tinting).
  • Text is top-center anchored and positioned under the icon (uses TextOffset).

Used source file(s) sizes

  • Sample sprites: PNG, typically 256–1024 px; separators are thin PNGs. All visuals are optional.

File count (approx.)

  • ~2 scripts, 2 prefabs, 1 example scene, 1 PDF guide (+ sprites if included).

Animated

  • Yes — width weight tween, height tween (if not stretched), icon scale + Y offset, delayed text reveal.

Animation type list

  • LayoutElement.flexibleWidth tween (active vs inactive weights)
  • LayoutElement.preferredHeight tween (if height animation enabled)
  • Icon scale/position tween
  • Text show with position update under icon

Additional: Vector or pixel based?

  • Pixel-based by default; works fine with vector/TMP content if you supply it via your prefab.

Compatibility

Render pipelines supported in each Unity version
Unity version Built-in URP HDRP
6000.2.1f1 Compatible Not listed Not listed

As listed on the Asset Store.