SoulsLike Hotbar System

A Souls-like hotbar system for Game Creator 2 that allows players to cycle through equipment slots using Q/E (or gamepad equivalents) and use items with a dedicated "Use" button, in a Dark Souls–style single-slot UI.

Overview

This system replaces the standard BagEquipUI workflow with a more flexible equipment hotbar where:

Quick Start

Step 1: Set up EquipmentSlotUI (storage slots)

In your equipment panel / paperdoll UI:

  1. Add an EquipmentSlotUI component to each visual equipment slot (Right Hand, Left Hand, etc.).
  2. Configure on each EquipmentSlotUI:
  3. (Optional) Configure:

The EquipmentSlotUI:

Step 2: Connect the Bag to the selected EquipmentSlotUI

In your bag/inventory UI:

  1. On the equipment slot side, clicking an EquipmentSlotUI with OpenBag:

  2. On each bag cell (BagCellUI) that you want to be able to send items to the selected slot:

BagCellEquipToSelectedEquipmentSlot:

Result: Click/Submit on a bag item toggles equip/desequip in the currently selected equipment slot.

Step 3: Set up EquipmentHotbarManager

  1. Add an EquipmentHotbarManager component to your player or a central UI manager GameObject.
  2. Configure:

The manager:

Step 4: Configure each EquipmentHotbar

For each equipment slot type (ex: Right Hand, Left Hand):

  1. Add an EquipmentHotbar component.
  2. Configure:
  3. Configure input buttons:

The hotbar:

Step 5: Create the Active Slot UI (single visual slot)

The system uses a single UI slot that always shows the currently active item (Dark Souls–style).

  1. In your UI, create one slot object:

  2. In the EquipmentHotbar component, configure the Active Slot UI:

Important: You only need one visual slot. The hotbar switches which internal slot is active and updates this single object accordingly.

Example UI Structure:

HotbarPanel
└── ActiveSlot (object)
    ├── Background (Image)
    ├── Icon (Image)
    ├── QuantityText (Text - optional)
    ├── SelectionIndicator (Image - optional)
    └── CellContentUI_Root (GameObject with CellContentUI - optional)

How It Works

Item Flow

  1. Adding Items to Equipment Slots*

  2. Cycling Slots

  3. Equipping / Unequipping

  4. Using Items / Cooldown

Quantity Text & Cooldown Overlay

Key Components

Slot Indexing

Each EquipmentSlotUI must know:

This creates a mapping:
EquipmentSlotUIEquipmentHotbar[HotbarIndex].Slots[HotbarSlotIndex]

Features

- ✅ Multiple Hotbars: One hotbar per equipment slot type (Right Hand, Left Hand, etc.) - ✅ Slot Cycling: Q/E (or any mapped input) to cycle through slots - ✅ Visual Feedback: Active slot highlighting and activation animation - ✅ Skip Empty Slots: Automatically skips empty slots when cycling - ✅ Save/Load Support: Hotbar configuration is save-friendly (depends on your GC2 save setup) - ✅ Drag & Drop + Click-to-Equip: Drag to EquipmentSlotUI or click from bag via the helper - ✅ Gamepad Friendly: Uses OnSubmit on bag cells and a single focusable Active Slot UI - ✅ Quantity Display: Shows stack count on the active slot (if > 1) - ✅ Cooldown Overlay: Integrates with CellContentUI for item cooldown visuals

Input Configuration

Default inputs (configurable in EquipmentHotbar):

You can map these to keyboard, mouse, or gamepad using Game Creator’s input system.

Tips

  1. Empty Slot Skipping: Cycling automatically avoids empty hotbar slots.
  2. Visual Consistency: Keep your Active Slot UI clean and readable; it’s the single source of truth for the player.
  3. Multiple Equipment Types: Add one EquipmentHotbar per equipment index you want to control.
  4. Gamepad UX: Make sure the Active Slot UI and bag cells are focusable (Selectable) so Submit works smoothly.

Compatibility

This system works on top of Game Creator 2’s inventory system:

📞 Support

🔄 Changelog

Version 1.0.0