Introduction into HookUI
HookUI is a lightweight, decoupled, and code-driven UI framework for Unity. It is designed to bridge the gap between visual node-based workflows and robust, scalable software architecture.
Unlike other solutions that force you into heavy, black-box systems, HookUI focuses on providing tools that empower your codebase rather than hiding it.
Why HookUI?
Unity's built-in UI tools are powerful but often lack a cohesive structure for managing navigation, complex flows, and state.
- Designers need a visual way to see screen flow (HookUI Graph).
- Programmers need a clean API, typed IDs, and zero magic strings (HookUI Database & Signals).
- Teams need a system that doesn't break when merging git branches (ScriptableObject Architecture).
HookUI delivers on all fronts by decoupling the Trigger (Buttons/Signals) from the Action (Navigation/Logic).
Key Features
1. The ID Database
Forget about referencing GameObjects by name or dragging references into unlimited slots. HookUI uses a centralization approach:
- Views, Buttons, and Signals are defined as IDs in a Global Database.
- The Inspector offers dropdowns with search, categorization, and filtering.
- Multi-Database Support: Load external or demo databases automatically without polluting your core data.
2. Flux Navigation Graph
Visualize your entire UI flow in a node-based editor.
- Drag & Drop connection between Screens.
- Logic Nodes: "Start", "Quit", and custom logic gates.
- Portals: Jump between distant parts of the flow without spaghetti wires.
3. Decoupled Signal System
A robust Event Bus system built-in.
- Senders emit signals with IDs.
- Listeners react to them anywhere in the scene.
- Zero direct dependencies between your HUD and your Player Controller.
4. Smart Logging & Debugging
- Channels: Filter logs by Navigation, Interaction, Core, etc.
- Color-Coded: Instantly recognize what system is talking.
- Editor Integration: Configure debug levels directly from the HookUI Settings.
Comparison
| Feature | Standard Unity UI | HookUI | Doozy UI / Others |
|---|---|---|---|
| Workflow | Prefab referencing | ID-based & Graph-based | Heavy FSM / Node Graph |
| Coding | Monolithic Managers | Decoupled Events/API | Component-heavy |
| Performance | High (Native) | High (Lightweight Wrapper) | Variable (Reflection overhead) |
| Data | Scene-based | ScriptableObject Database | ScriptableObject / Proprietary |
Next Steps
Ready to dive in? Check out the Installation Guide to set up your project.