#Best Practices
Design guidelines for building clean, maintainable, and high-performance game user interfaces.
#1. Separate Definition from View
Keep logic and configuration inside your Interface Asset (.asset), not scattered across scene GameObjects:
- Scene files remain lean and conflict-free in team version control.
- View Prefabs can be styled and re-skinned without modifying Game Creator visual scripts.
#2. Choosing the Right Layer
- Use
HUDfor passive in-game data (health, stamina, reticle). - Use
Menuwhen the player actively navigates a screen (Inventory, Pause, Journal). - Use
Overlayfor floating contextual panels that shouldn't take over global input (tooltips, radial wheels). - Use
Modalstrictly for blocking confirmations (Save/Quit, Purchase Confirmations).
#3. Avoid Manual Input & Cursor Hacks
Never write custom scripts to lock/unlock cursors or pause time in individual menu scripts. Configure project-wide instructions in Project Settings > Game Creator > Interface Director:
On Enter UI Mode: Unlock cursor, disable player character controls.On Exit UI Mode: Lock cursor, enable player character controls.
Interface Director guarantees these instructions execute exactly once when the first menu opens, and exactly once when the last menu closes.
#4. Optimize Reopening with Retain Instance
For frequently toggled interfaces (such as an Inventory or Map):
- Enable
Retain Instance When Closedon the Interface Asset. - Instead of instantiating and destroying GameObjects repeatedly, the Director deactivates the View and re-enables it instantly with zero garbage collection.