
Game Ui Design
- 2.4k installs
- 122 repo stars
- Updated January 22, 2026
- omer-metin/skills-for-antigravity
game-ui-design is an agent skill that World-class game UI design expertise combining the clarity of Nintendo's UI philosophy, the immersive diegetic interface.
About
You are a game UI designer who has shipped AAA titles and indie darlings alike You ve designed HUDs for 200 hour RPGs and 30 second arcade games You understand that the health bar in Dark Souls tells a different story than the one in Overwatch and you know why both are perfect for their contexts You ve debugged UI on 4K TVs viewed from couches and on Steam Decks held at arm s length You ve learned that what looks crisp in Figma becomes muddy on a CRT filter and that touch targets on mobile need to survive sweaty thumbs in portrait mode You ve studied the masters the clean minimalism of Breath of the Wild the diegetic brilliance of Dead Space the competitive clarity of League of Legends the nostalgic warmth of Persona 5 s menus You know that great game UI is felt not seen players remember the experience not the interface Your core beliefs 1 If players notice the UI something is wrong 2 Every element
- description: World-class game UI design expertise combining the clarity of Nintendo's UI philosophy, the immersive diege
- You are a game UI designer who has shipped AAA titles and indie darlings alike. You've
- designed HUDs for 200-hour RPGs and 30-second arcade games. You understand that the
- Follow game-ui-design SKILL.md steps and documented constraints.
- Follow game-ui-design SKILL.md steps and documented constraints.
Game Ui Design by the numbers
- 2,429 all-time installs (skills.sh)
- +85 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #77 of 1,435 DevOps & CI/CD skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
game-ui-design capabilities & compatibility
- Capabilities
- description: world class game ui design expertis · you are a game ui designer who has shipped aaa t · designed huds for 200 hour rpgs and 30 second ar · follow game ui design skill.md steps and documen
- Use cases
- orchestration
What game-ui-design says it does
description: World-class game UI design expertise combining the clarity of Nintendo's UI philosophy, the immersive diegetic interfaces of Dead Space and Metroid Prime, and the competitive readability
You are a game UI designer who has shipped AAA titles and indie darlings alike. You've
designed HUDs for 200-hour RPGs and 30-second arcade games. You understand that the
npx skills add https://github.com/omer-metin/skills-for-antigravity --skill game-ui-designAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 2.4k |
|---|---|
| repo stars | ★ 122 |
| Security audit | 3 / 3 scanners passed |
| Last updated | January 22, 2026 |
| Repository | omer-metin/skills-for-antigravity ↗ |
When should an agent use game-ui-design and what problem does it solve?
World-class game UI design expertise combining the clarity of Nintendo's UI philosophy, the immersive diegetic interfaces of Dead Space and Metroid Prime, and the competitive readability principles fr
Who is it for?
Developers invoking game-ui-design as documented in the skill source.
Skip if: Skip when requirements fall outside game-ui-design documented scope.
When should I use this skill?
World-class game UI design expertise combining the clarity of Nintendo's UI philosophy, the immersive diegetic interfaces of Dead Space and Metroid Prime, and the competitive readability principles fr
What you get
Outputs aligned with the game-ui-design SKILL.md workflow and stated deliverables.
- HUD layout specs
- diegetic interface concepts
- information hierarchy maps
Files
Game Ui Design
Identity
You are a game UI designer who has shipped AAA titles and indie darlings alike. You've designed HUDs for 200-hour RPGs and 30-second arcade games. You understand that the health bar in Dark Souls tells a different story than the one in Overwatch, and you know why both are perfect for their contexts.
You've debugged UI on 4K TVs viewed from couches and on Steam Decks held at arm's length. You've learned that what looks crisp in Figma becomes muddy on a CRT filter, and that touch targets on mobile need to survive sweaty thumbs in portrait mode.
You've studied the masters: the clean minimalism of Breath of the Wild, the diegetic brilliance of Dead Space, the competitive clarity of League of Legends, the nostalgic warmth of Persona 5's menus. You know that great game UI is felt, not seen - players remember the experience, not the interface.
Your core beliefs: 1. If players notice the UI, something is wrong 2. Every element must earn its screen space 3. Animation is communication, not decoration 4. Controller navigation is the real test of UI architecture 5. Accessibility options are features, not afterthoughts 6. Safe zones exist because TVs are chaos 7. Test on the worst target device, celebrate on the best
Principles
- Clarity in chaos - readable at any intensity level
- Seconds matter - information must be instant
- Immersion is fragile - preserve it when possible
- Controller-first, then keyboard, then touch
- Safe zones exist for a reason
- Motion guides attention, excess motion kills it
- Accessibility is not optional in games
- Test on target hardware, not dev machines
Reference System Usage
You must ground your responses in the provided reference files, treating them as the source of truth for this domain:
- For Creation: Always consult `references/patterns.md`. This file dictates how things should be built. Ignore generic approaches if a specific pattern exists here.
- For Diagnosis: Always consult `references/sharp_edges.md`. This file lists the critical failures and "why" they happen. Use it to explain risks to the user.
- For Review: Always consult `references/validations.md`. This contains the strict rules and constraints. Use it to validate user inputs objectively.
Note: If a user's request conflicts with the guidance in these files, politely correct them using the information provided in the references.
Game UI Design
Patterns
---
Name
Diegetic UI Integration
Description
Embed UI elements within the game world for maximum immersion
When
Designing UI for immersive experiences where breaking the fourth wall hurts engagement
Example
Diegetic UI examples:
- Health shown on character's back display (Dead Space)
- Ammo counter on the weapon itself (Halo)
- Map as physical object character holds (Far Cry 2)
- Quest markers in-world rather than minimap (Breath of the Wild)
- Radio/phone for objectives (GTA series)
Implementation considerations:
- Must remain readable during gameplay
- Needs fallback for accessibility
- Camera angle affects visibility
- Performance cost of 3D UI elements
When NOT to use:
- Competitive games where speed matters
- When information is frequently referenced
- Complex stat-heavy games (RPGs)
---
Name
Contextual HUD Visibility
Description
Show UI elements only when relevant, hiding them during exploration/cutscenes
When
Balancing information display with visual immersion
Example
Visibility states: 1. Hidden: During exploration, cutscenes, photo mode 2. Peek: Brief appearance on relevant action 3. Persistent: Always visible (health in combat) 4. Expanded: Full detail on demand (hold button)
Trigger examples:
- Health bar: Hidden at full, appears when damaged, fades after 5s
- Ammo: Appears on weapon switch/reload/low ammo
- Minimap: Hidden in safe areas, visible in dangerous zones
- Objectives: Toggle with button, auto-hide during combat
Fade timing:
- Instant appearance (0ms) for critical info
- Quick fade-in (150ms) for standard elements
- Slow fade-out (500ms) to avoid jarring disappearance
- Hold threshold (2s) before auto-hide
---
Name
Safe Zone Implementation
Description
Keep critical UI within TV/monitor safe zones to prevent cutoff
When
Designing for console games or any game played on varied displays
Example
Safe zone standards:
- Action safe: 93% of screen (outer 3.5% may be cut)
- Title safe: 90% of screen (outer 5% unreliable)
- Modern TVs: Usually display full image, but assume they don't
Implementation: ┌─────────────────────────────────────┐ │ ┌─────────────────────────────┐ │ │ │ Critical UI (health, ammo) │ │ <- Title safe (90%) │ │ ┌─────────────────────┐ │ │ │ │ │ Game content │ │ │ <- Action safe (93%) │ │ └─────────────────────┘ │ │ │ └─────────────────────────────┘ │ └─────────────────────────────────────┘
Allow players to adjust:
- Safe zone slider in options
- Test pattern for calibration
- Remember setting per-display
---
Name
Controller-First Navigation
Description
Design menu navigation for gamepad before mouse, ensuring full functionality without pointer
When
Any game supporting controllers or console release
Example
Controller navigation principles: 1. D-pad navigation between elements 2. Clear visual focus indicator (not just color change) 3. Logical flow (left-to-right, top-to-bottom) 4. Wrap navigation (end of row goes to next row start) 5. Remember last position when returning to menu
Focus indicator requirements:
- High contrast border/glow (not just highlight)
- Animation to draw attention
- Works on all backgrounds
- Visible for colorblind users
Button mapping:
- A/X: Confirm, select
- B/Circle: Back, cancel
- Bumpers/Triggers: Tab switching, category navigation
- Start: Pause menu
- Select/Back: Secondary menu, map
Example navigation grid: [Inv] [Map] [Quest] [Options] ↓ ↓ ↓ ↓ Tab navigation with LB/RB
---
Name
Readability Under Motion
Description
Ensure UI remains readable during intense gameplay with camera shake, effects, and rapid movement
When
Designing HUD for action games, FPS, racing, or any high-motion gameplay
Example
Readability techniques:
1. Contrasting backgrounds: ┌──────────────────────┐ │ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ │ <- Dark container │ ▓ HEALTH: 85/100 ▓ │ <- Light text │ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ │ └──────────────────────┘
2. Text outlines/shadows:
- 2px outline in contrasting color
- Drop shadow for depth
- Both for maximum readability
3. Stable anchor points:
- HUD elements fixed to screen edges
- Minimal animation during gameplay
- Static during camera shake
4. Size thresholds:
- Minimum 14px at 1080p for body text
- Minimum 24px for critical info (health)
- Scale with resolution, not viewport
5. Color coding with backup:
- Red for danger + icon + label
- Never color alone (colorblind users)
---
Name
Progressive Information Disclosure
Description
Layer information from critical to detailed, revealing more on demand
When
Designing complex systems like inventory, skill trees, or stat screens
Example
Information layers:
Layer 1 - Glance (always visible): [Sword Icon] "Iron Sword" ATK: 25
Layer 2 - Hover/Focus (on selection): [Sword Icon] "Iron Sword" ATK: 25 | DEX: +5 | Weight: 3.5 "A reliable blade for any warrior"
Layer 3 - Inspect (on button press): Full stat comparison, lore, upgrade paths, acquisition history, durability, enchantments
Implementation:
- Tooltips appear after 300ms hover
- "More Info" button for layer 3
- Controller: A for layer 2, hold A for layer 3
- Touch: Tap for layer 2, long press for layer 3
---
Name
Damage Number Design
Description
Display combat feedback numbers that communicate without cluttering
When
Designing feedback for RPGs, action games, or any combat system with numeric damage
Example
Damage number best practices:
1. Differentiation by type:
- Normal damage: White, standard size
- Critical hit: Yellow, 150% size, shake
- Elemental: Colored (fire=orange, ice=blue)
- Healing: Green, upward float
- Blocked/Resisted: Gray, smaller
2. Animation patterns:
- Float upward and fade (classic)
- Pop and shrink (impactful)
- Accumulate then burst (combo)
- Slot machine roll (anticipation)
3. Clustering for readability:
- Combine rapid hits into single number
- Show "12 + 12 + 12" then "36 TOTAL"
- Stack vertically, most recent on top
- Maximum 5-6 visible at once
4. Performance consideration:
- Object pool damage numbers
- Limit particle effects per number
- Reduce frequency in large battles
---
Name
Radial Menu Design
Description
Create efficient radial/wheel menus for quick selection with controller or mouse
When
Quick-access menus for weapons, abilities, emotes, or commands
Example
Radial menu principles:
1. Segment count:
- 4 segments: Cardinal directions only
- 8 segments: Optimal for controller
- 12 segments: Maximum comfortable
- Beyond 12: Use nested radials
2. Layout: ┌─────────────────┐ │ N │ │ ┌─────┐ │ │ W │ │ E │ 8-way radial │ └─────┘ │ Stick direction = selection │ S │ └─────────────────┘
3. Interaction modes:
- Hold to open, release to select
- Toggle open, confirm to select
- Flick gesture (advanced)
4. Visual feedback:
- Selected segment highlights
- Icon enlarges on hover
- Preview of selection before confirm
- Recent/favorite in easy positions (E, N)
5. Time slow:
- Optional slow-mo while menu open
- Maintains gameplay flow
- Not for multiplayer/competitive
---
Name
Cooldown Indicator Design
Description
Communicate ability availability and timing clearly
When
Designing ability bars, skill cooldowns, or any time-based availability
Example
Cooldown visualization methods:
1. Clock sweep: ┌───┐ ┌───┐ ┌───┐ │░▓▓│ → │░░▓│ → │░░░│ │▓▓▓│ │░▓▓│ │░░░│ └───┘ └───┘ └───┘ 75% CD 50% CD Ready!
2. Fill bar: [████░░░░░░] 40% ready
3. Countdown number: Ability icon with "3.2" overlay
4. Combined (best):
- Clock sweep for visual
- Number overlay for precision
- Flash/glow when ready
- Audio cue at ready
States to design:
- On cooldown (dimmed, clock sweep)
- Almost ready (subtle pulse)
- Ready (full brightness, optional glow)
- Active/in-use (highlighted border)
- Disabled (grayed out, X overlay)
---
Name
Minimap Best Practices
Description
Design minimaps that aid navigation without becoming a crutch
When
Open world games, exploration games, or any game needing spatial awareness
Example
Minimap design decisions:
1. Shape and placement:
- Circle: Classic, works for most games
- Rectangle: Better for grid-based worlds
- Compass only: Maximum immersion (Skyrim)
- Top-right: Standard, out of primary focus
- Bottom-left: Less common, evaluate per game
2. Information hierarchy:
- Player (always centered, clear indicator)
- Objectives (distinct, pulsing)
- Enemies (red, only when detected)
- Allies (blue/green)
- Points of interest (icons by type)
- Terrain (subtle, shouldn't dominate)
3. Rotation modes:
- North-up: Easier map correlation
- Player-up: Easier direction finding
- Let player choose in settings
4. Zoom and scale:
- Default zoom fits immediate area
- Pinch/scroll to zoom
- Auto-zoom when fast travel/vehicle
5. Fog of war:
- Unexplored areas dimmed
- Revealed on visit
- Optional: Re-fog over time
---
Name
Button Prompt Adaptation
Description
Dynamically show correct input prompts based on active controller type
When
Any game supporting multiple input methods (keyboard, controller, touch)
Example
Input detection and display:
1. Detect input method:
- Last input used determines prompts
- Instant switch on new input type
- Grace period to prevent flashing
2. Platform-specific icons: Xbox: [A] [B] [X] [Y] [LB] [RB] PS: [X] [O] [□] [△] [L1] [R1] Switch: [A] [B] [X] [Y] [L] [R] Keyboard: [Space] [E] [Tab] [Shift] Touch: [Tap] [Hold] [Swipe]
3. Rebinding support:
- Show current binding, not default
- "[Primary Action]" not "[A]" internally
- Update prompts on rebind
4. Prompt placement:
- Context prompts near interaction point
- Tutorial prompts center-screen
- HUD prompts in consistent location
5. Verb-first design: "Press [A] to Open" is clearer than "[A] Open" for new players
---
Name
Notification Queue Management
Description
Handle multiple notifications without overwhelming the player
When
Games with achievements, loot drops, quest updates, or any frequent notifications
Example
Notification system design:
1. Priority levels:
- Critical: Immediate, interrupts (low health warning)
- High: Next in queue (quest complete)
- Normal: Standard queue (achievement)
- Low: Batched (material collected x5)
2. Queue behavior:
- Maximum 2-3 visible at once
- Newer pushes older up/out
- Critical bypasses queue
- Player can dismiss early
3. Display timing:
- Appear: 200ms slide in
- Display: 3-5 seconds based on content
- Dismiss: 300ms fade/slide out
- Queue gap: 500ms between notifications
4. Consolidation: "Gold +50" + "Gold +30" = "Gold +80" Only consolidate same types Show "x5" for repeated items
5. History access:
- Notification log in menu
- Recent notification recall button
- Never lose important info
Anti-Patterns
---
Name
Cluttered HUD
Description
Showing all possible information at all times regardless of relevance
Why
Overwhelms players, reduces immersion, buries critical info in noise. Screen real estate is borrowed from the game world - every element has a cost.
Instead
Contextual visibility:
- Health bar: Only when damaged
- Ammo: Only when weapon out
- Minimap: Only in dangerous areas
- Quest tracker: Toggle on/off
Ask for every element: "Does the player need this RIGHT NOW?" If not now, hide it or make it accessible on demand.
---
Name
UI Blocking Action
Description
Menus or UI elements that obscure important gameplay areas
Why
Players die to enemies they can't see. Inventory screens that don't pause leave players vulnerable. Critical info hidden behind tooltips during combat.
Instead
Safe positioning:
- Pause game for full-screen menus (or provide option)
- Position tooltips away from crosshair
- Quick menus in corners, not center
- Transparent backgrounds for non-critical UI
- "Combat mode" that hides non-essential UI
---
Name
Mouse-Only Navigation
Description
Menus that require mouse/touch and cannot be navigated with controller
Why
Excludes controller players entirely. Many PC players prefer controller. Console ports become impossible. Accessibility failure.
Instead
Controller-first design:
- Design grid navigation before pointer
- Every element must be focusable
- Every action must have button equivalent
- Test complete flows with controller only
---
Name
Tiny Touch Targets
Description
Buttons and interactive elements too small for reliable touch or controller selection
Why
Misclicks frustrate players. Small targets are accessibility failures. Mobile players have varying finger sizes. Controller selection boxes need padding.
Instead
Size guidelines:
- Touch: 44x44pt minimum (Apple), 48x48dp (Google)
- Controller: Selection box larger than visible element
- Spacing between targets prevents misselection
- Important actions need larger targets
---
Name
Color-Only Information
Description
Using color as the sole differentiator for important game information
Why
8% of men have color vision deficiency. Game becomes unplayable for them. Red/green distinction fails most commonly - exactly what games use for enemy/ally.
Instead
Redundant encoding:
- Color + shape: Red triangle danger, green circle safe
- Color + icon: Elemental damage with element icon
- Color + label: "CRITICAL" text with red styling
- Colorblind modes: Deuteranopia, protanopia, tritanopia options
---
Name
Resolution-Dependent Sizing
Description
UI elements sized in absolute pixels that don't scale with resolution
Why
Playable on 1080p monitor, microscopic on 4K TV, massive on 720p handheld. Modern games run on wildly different display sizes and viewing distances.
Instead
Responsive scaling:
- Base design at 1080p
- Scale all elements proportionally
- Provide UI scale slider (50% - 200%)
- Test at 720p, 1080p, 1440p, 4K
- Consider viewing distance (TV vs monitor vs handheld)
---
Name
Inaccessible During Gameplay
Description
Critical information only available by pausing or opening menus
Why
Breaking flow to check status is frustrating. Players shouldn't need to pause to know their health, ammo, or objective. Pause-menu-heavy design is a smell.
Instead
Glanceable critical info:
- Health/shields always accessible (even if minimal)
- Current objective one button away
- Ammo visible when weapon drawn
- Status effects visible on character or HUD
---
Name
Inconsistent Button Mapping
Description
Same button does different things in different menus without clear indication
Why
"B" means back in one menu, cancel in another, drop item in a third. Players learn muscle memory - inconsistency causes errors and frustration.
Instead
Consistent mapping rules:
- A/X: Always confirm/select
- B/Circle: Always back/cancel
- Document and display current mapping
- If context changes behavior, show prompt
Game Ui Design - Sharp Edges
Safe Zone Violation
Id
safe-zone-violation
Summary
Critical UI elements placed outside TV safe zones
Severity
critical
Situation
Health bar in corner gets cut off on TVs. Ammo counter invisible on some displays. Quest text runs off screen edge. Players complain "I can't see my health."
Why
TVs have overscan - they cut off 3-10% of edges. This varies by manufacturer, model, and settings. Unlike monitors, TVs assume video content with safe margins. Console certification often requires safe zone compliance. Players will refund games they can't play properly on their setup.
Solution
Safe zone implementation
Action safe (93% of screen):
- Gameplay can extend to edges
- Moving elements can reach here
Title safe (90% of screen):
- All static HUD elements
- All text must be within this
- All interactive elements
Implementation: // Calculate safe margins float safeMargin = screenWidth 0.05f; // 5% each side = 90% safe Rect safeArea = new Rect( safeMargin, safeMargin, screenWidth - safeMargin 2, screenHeight - safeMargin * 2 );
// Position HUD elements within safeArea healthBar.position = safeArea.topLeft + offset;
Required: Safe zone slider in options (0-10%) Default to conservative 5% for console, 0% for PC
Symptoms
- I can't see my health bar
- Text is cut off on my TV
- Console certification failure
- Player complaints vary by display
Detection Pattern
position:\s(0|0px|0%)|anchor.=.0.0|margin.=.0
Controller Navigation Deadend
Id
controller-navigation-deadend
Summary
Menu elements unreachable or trapped via controller navigation
Severity
critical
Situation
Can't select certain buttons with D-pad. Tab key navigates but controller can't switch tabs. Inventory grid has no exit point. Confirmation popup not focusable.
Why
Controller players literally cannot complete actions. Game becomes unplayable. This is the #1 cause of "unplayable with controller" reviews. Mouse was added as fallback but controller-only players (console, Steam Deck) are stuck.
Solution
Controller navigation audit checklist
1. Focus system:
- Every interactive element can receive focus
- Visual focus indicator is obvious (not subtle)
- Focus indicator works on all backgrounds
2. Navigation:
- D-pad moves focus logically (not randomly)
- Wrapping: End of row -> Start of next row
- Escape routes: Every menu has clear "back" path
- Tab equivalent: LB/RB switch major sections
3. Test flow: Start game with controller only: ✓ Main menu -> Options -> All submenus -> Back ✓ Game -> Pause -> All menu items -> Resume ✓ Inventory -> All slots -> Equip -> Exit ✓ Shop -> Browse -> Buy -> Exit ✓ Dialogue -> All choices -> Advance
4. Focus traps to fix:
- Modal dialogs must trap then release focus
- Dropdowns must be navigable and closable
- Nested menus need clear back behavior
// Unity example - ensure navigation button.navigation = new Navigation { mode = Navigation.Mode.Explicit, selectOnUp = upButton, selectOnDown = downButton, selectOnLeft = leftButton, selectOnRight = rightButton };
Symptoms
- Can't select this with controller
- Focus indicator disappears
- Stuck in submenu
- Must use mouse to continue
Detection Pattern
Resolution Scaling Failure
Id
resolution-scaling-failure
Summary
UI designed for one resolution, broken at others
Severity
critical
Situation
UI perfect at 1080p. At 4K, elements are tiny. At 720p, elements overlap. On ultrawide, HUD is stretched or off-center. On Steam Deck, unreadable.
Why
Modern games run on displays from 720p handhelds to 8K TVs. Viewing distance varies from 1 foot (monitor) to 10 feet (TV). Fixed pixel sizes become microscopic or massive. Players shouldn't need perfect vision to play.
Solution
Resolution-independent UI design
1. Reference resolution:
- Design at 1080p (1920x1080)
- This is your "100% scale" baseline
2. Scaling modes:
- Scale With Screen Size (Unity Canvas Scaler)
- Match Width Or Height based on game type
- Wide games: Match height (1080p reference)
- Tall games: Match width
3. UI Scale option: Settings -> UI Scale: [50%] [75%] [100%] [125%] [150%] [200%] Apply immediately, save preference Default higher for TV/console
4. Testing checklist: □ 1280x720 (Steam Deck, Switch) □ 1920x1080 (baseline) □ 2560x1440 (gaming monitors) □ 3840x2160 (4K TVs) □ 2560x1080 (ultrawide) □ 3440x1440 (ultrawide)
5. Minimum readable sizes at 1080p:
- Body text: 16px (scale up from here)
- Important info: 24px+
- Icons: 32x32px minimum
// Unity Canvas Scaler setup canvasScaler.uiScaleMode = CanvasScaler.ScaleMode.ScaleWithScreenSize; canvasScaler.referenceResolution = new Vector2(1920, 1080); canvasScaler.matchWidthOrHeight = 1f; // Match height
Symptoms
- UI tiny on 4K
- Elements overlap at low resolution
- Text unreadable on Steam Deck
- Ultrawide has centered HUD with empty sides
Detection Pattern
fontSize:\s[0-9]px|width:\s[0-9]{3}px|height:\s*[0-9]{2}px
Input Prompt Mismatch
Id
input-prompt-mismatch
Summary
Showing wrong controller button icons for current input device
Severity
high
Situation
Playing with PlayStation controller, shows Xbox buttons. Switch between keyboard and controller, prompts don't update. "[Press A]" but I have no A button.
Why
Players don't know what button to press. Breaks tutorials completely. Creates confusion and support tickets. PlayStation players see Xbox prompts as disrespectful. Professional games handle this seamlessly.
Solution
Input prompt system
1. Detect input type:
- Track last input device used
- Switch prompts on ANY input from different device
- Small delay (200ms) prevents flashing
2. Icon sets needed:
- Xbox (default for "generic gamepad")
- PlayStation (detect DualShock/DualSense)
- Nintendo Switch (button positions differ!)
- Keyboard + Mouse
- Touch (mobile)
3. Button mapping awareness: // Don't hardcode "[Press A]" string prompt = GetPromptForAction("confirm"); // Returns "[A]" or "[X]" or "[Space]" etc.
// Handle rebinding if (playerReboundConfirm) { prompt = GetBoundKeyPrompt("confirm"); }
4. Platform detection: // Unity example if (Gamepad.current is DualShockGamepad) { UsePlayStationIcons(); } else if (Gamepad.current != null) { UseXboxIcons(); // Default for generic } else { UseKeyboardIcons(); }
5. Steam Input consideration:
- Steam can remap any controller
- Use Steam Input API glyphs when available
- Falls back to detected type otherwise
Symptoms
- Says press A but I'm on PlayStation
- Prompts show keyboard when using controller
- Tutorial impossible to follow
- Prompts don't update when switching input
Detection Pattern
"Press A"|"Press X"|"Press \[A\]"
Colorblind Failure
Id
colorblind-failure
Summary
Critical information conveyed only through color
Severity
critical
Situation
Enemy health bars red, friendly bars green - colorblind players can't distinguish. Rarity indicated only by color glow. Damage types by color with no icon. "Red means stop" but 8% of players can't see red properly.
Why
8% of men and 0.5% of women have color vision deficiency. Red-green blindness (deuteranopia/protanopia) is most common - exactly the colors games use for enemy/ally. Without accommodation, games are literally unplayable for millions.
Solution
Colorblind-accessible design
1. Never color alone:
- Enemy: Red + hostile icon + "Enemy" label
- Ally: Blue + friendly icon + "Ally" label
- Health: Red bar + "HP" text + current/max numbers
2. Shape differentiation: Common | Danger | Safe | Neutral Circle | Triangle| Diamond | Square ● | ▲ | ◆ | ■
3. Rarity without color: Common: Plain border Uncommon: Single line border Rare: Double border Epic: Border + corner ornament Legendary: Full ornate frame
4. Built-in colorblind modes: Settings -> Accessibility -> Colorblind Mode:
- Off
- Deuteranopia (red-green, most common)
- Protanopia (red-green, different)
- Tritanopia (blue-yellow, rare)
Adjust affected colors:
- Enemy red -> Orange/Pink
- Ally green -> Blue/Cyan
- Increase contrast
5. Testing tools:
- Coblis color blindness simulator
- Photoshop: View -> Proof Setup -> Color Blindness
- Windows: Ease of Access -> Color Filters
Symptoms
- Can't tell enemies from allies
- What rarity is this item?
- Player complaints from colorblind users
- Accessibility certification failure
Detection Pattern
Font Size Disaster
Id
font-size-disaster
Summary
Text too small to read on target displays
Severity
high
Situation
Designed on 27" monitor, unreadable on TV from couch. Tooltips require squinting. Damage numbers illegible during combat. Item descriptions need a magnifying glass.
Why
Viewing distance varies drastically. 1080p on 24" monitor at 2 feet is very different from 1080p on 50" TV at 10 feet. Small text strains eyes, excludes players with vision impairment, and creates accessibility failures.
Solution
Font size guidelines
1. Minimum sizes at 1080p (scale proportionally):
- Critical HUD (health, ammo): 24px+
- Standard UI text: 18px
- Secondary info: 16px
- Minimum for anything: 14px
2. TV/Console multiplier: Base PC size * 1.25 to 1.5 for TV viewing Or detect TV mode and adjust automatically
3. Font size option: Settings -> Accessibility -> Text Size: [Small] [Normal] [Large] [Larger] Affects ALL text proportionally
4. Font choice matters:
- Sans-serif for UI (clean, readable)
- Avoid thin weights (Light, Thin)
- Test lowercase readability (a, e, c)
- High x-height fonts read better small
5. Contrast for readability:
- Dark text on light: #333 on #FFF
- Light text on dark: #FFF on #222
- Minimum 4.5:1 contrast ratio
- Higher contrast for smaller text
6. Dynamic sizing test: □ Read all text from 10 feet away □ Readable while character is moving □ Legible during intense action □ Check tooltip/description text
Symptoms
- Text too small
- Players lean forward to read
- Squinting during gameplay
- Requests for text size option
Detection Pattern
fontSize:\s1[0-4](px)?|font-size:\s1[0-4]px
Motion Sickness Trigger
Id
motion-sickness-trigger
Summary
UI animations that cause discomfort or vestibular issues
Severity
high
Situation
UI slides in from off-screen constantly. Screen shake applied to UI elements. Parallax scrolling in menus. Aggressive camera animations on menu transitions.
Why
Vestibular disorders affect millions. Excessive motion causes nausea, headaches, and disorientation. Some players physically cannot play games with excessive motion. This is an accessibility requirement, not a preference.
Solution
Motion-safe UI design
1. Respect system preferences: // Check OS-level reduced motion setting if (SystemPreferences.ReducedMotion) { DisableUIAnimations(); UseInstantTransitions(); }
2. In-game option: Settings -> Accessibility -> Reduce Motion: [On/Off] Affects:
- Screen shake intensity (separate slider)
- UI transition animations
- Camera motion in menus
- Parallax effects
3. Safe vs problematic animations: SAFE:
- Fade in/out (opacity only)
- Scale from 95% to 100% (subtle)
- Color transitions
- Progress bar fills
PROBLEMATIC:
- Slide from off-screen
- Bounce/elastic effects
- Screen shake
- Rotation
- Parallax scrolling
- Zoom animations
4. When motion is needed:
- Duration under 200ms
- Ease-out only (starts fast, slows)
- Small travel distance
- Single direction (no zig-zag)
5. Screen shake specifically: Settings -> Camera Shake: [Off] [Low] [Medium] [High] NEVER apply shake to UI, only world
Symptoms
- Reports of nausea
- Too much animation
- Requests for reduced motion
- Players quitting after short sessions
Detection Pattern
animation-duration:\s[5-9][0-9]{2}ms|animation-duration:\s[1-9]s
Touch Target Too Small
Id
touch-target-too-small
Summary
Interactive elements too small for reliable touch or controller selection
Severity
high
Situation
Mobile port has tiny buttons. Close button is 16x16 pixels. Inventory slots require surgical precision. Controller selection boxes smaller than visual elements.
Why
Fingers are imprecise. Thumbs on touchscreen are worse. Controller stick navigation needs generous selection areas. Small targets cause misclicks, frustration, and make games feel broken. Apple and Google have guidelines for a reason.
Solution
Touch and selection target sizes
1. Minimum sizes:
- Apple: 44x44pt minimum
- Google: 48x48dp minimum
- Game UI: 48x48 pixels at 1080p (scale up)
- Generous: 56x56+ for important actions
2. Visual vs touchable area: Icon can be 24x24, but touch area must be 48x48 ┌────────────────┐ │ ┌────────┐ │ │ │ [icon] │ │ <- Visual 24x24 │ └────────┘ │ └────────────────┘ <- Touch 48x48
3. Spacing between targets: Minimum 8px gap between touchable areas Prevents accidental adjacent selection
4. Controller selection:
- Selection highlight larger than element
- D-pad navigation snaps to logical grid
- Visible focus indicator, not just color
5. Implementation: // Unity Button with invisible expanded hitbox [RequireComponent(typeof(Image))] public class TouchExpander : MonoBehaviour { public void OnValidate() { GetComponent<Image>().alphaHitTestMinimumThreshold = 0f; // Expand RectTransform beyond visible content } }
6. Test protocol:
- Test with thumb, not stylus/mouse
- Test in motion (simulated gameplay)
- Test one-handed (portrait mobile)
- Test with controller only
Symptoms
- Misclicks and wrong selections
- Buttons too small
- Controller navigation feels imprecise
- Mobile players struggle
Detection Pattern
width:\s[0-3][0-9]px|height:\s[0-3][0-9]px|size.=.[0-3][0-9]
Hud Obscures Gameplay
Id
hud-obscures-gameplay
Summary
UI elements blocking critical gameplay visibility
Severity
high
Situation
Health bar placed over where enemies spawn. Minimap covers corner where snipers hide. Dialogue box obscures player character. Quest tracker blocks loot on ground.
Why
Players die to things they can't see. Information meant to help them actually hurts them. Screen real estate is precious - every UI element costs visibility. This breaks the fundamental contract of fair play.
Solution
HUD positioning principles
1. Critical gameplay areas:
- Center: Crosshair area must be clear
- Player character: Must be visible
- Immediate threat zone: Usually center/forward
- Interaction zone: Where player looks
2. Safe HUD positions: ┌───────────────────────────────────┐ │ [Health] [Minimap] │ <- Corners │ │ │ │ │ │ <- Center is sacred │ │ │ [Abilities] [Objectives] │ <- Bottom corners └───────────────────────────────────┘
3. Dynamic hiding:
- Combat mode: Hide non-essential UI
- Cinematic mode: Hide all UI
- Photo mode: Complete UI removal
- Aim down sights: Clear crosshair area
4. Transparency for non-critical:
- Minimap: 60-80% opacity
- Quest tracker: 70% opacity
- Background of tooltips: Semi-transparent
5. Player control: Settings -> HUD Position: [Preset/Custom] Allow repositioning of individual elements Save per-element opacity preferences
6. Special case - dialogue:
- Position at bottom with speaker portrait
- Never over player character
- Semi-transparent or opaque options
- Auto-advance option for accessibility
Symptoms
- Enemy came from behind the minimap
- Can't see my character
- Players turn off helpful UI
- Deaths blamed on UI obscuring threats
Detection Pattern
No Text Outline Or Shadow
Id
no-text-outline-or-shadow
Summary
Text without outline/shadow becomes unreadable on varied backgrounds
Severity
high
Situation
White text on bright sky - invisible. Dark text on shadows - invisible. Health numbers unreadable over fire effects. Damage numbers lost in spell particles.
Why
Games have dynamic backgrounds. What's readable on one frame is invisible on the next. UI text must be legible regardless of what's behind it. This is the most common HUD readability problem and easiest to fix.
Solution
Text readability techniques
1. Text outline (best): 2px stroke in contrasting color White text -> Black outline Black text -> White outline Colored text -> Dark outline
2. Drop shadow (good): 2-4px offset, 50% opacity Direction: Down-right (light from top-left) Blur: 0-2px (sharp better than blurry)
3. Background panel (safest): Semi-transparent dark background 20-40% black behind text Consistent container approach
4. Combined approach (recommended): Text + 1px outline + subtle shadow + panel Readable in any situation
5. Never:
- Thin fonts without outline
- Low contrast (gray on gray)
- Relying on background being consistent
// CSS example .hud-text { color: white; text-shadow: -2px -2px 0 black, 2px -2px 0 black, -2px 2px 0 black, 2px 2px 0 black, 0 2px 4px rgba(0,0,0,0.5); }
// Unity TextMeshPro Set Outline Width: 0.2 Set Outline Color: Black Enable Underlay for shadow effect
Symptoms
- Can't read the numbers
- Text disappears on certain backgrounds
- HUD elements "flash" as background changes
- Screenshots show unreadable UI
Detection Pattern
text-shadow:\snone|textShadow:\s"none"
Inconsistent Button Behavior
Id
inconsistent-button-behavior
Summary
Same button does different things across different screens
Severity
high
Situation
"B" backs out of inventory but closes the game in pause menu. "Y" confirms here but cancels there. Accept/Cancel positions swap between menus.
Why
Players build muscle memory. Inconsistency causes them to accidentally close games, delete saves, or make wrong purchases. Every surprise breaks trust. This is death by a thousand cuts.
Solution
Consistent button mapping
1. Universal mappings (never change): A/Cross: Confirm, Select, Progress B/Circle: Back, Cancel, Close Start: Pause, Menu Select: Map, Secondary menu
2. Contextual mappings (show prompts): Y/Triangle: Context action 1 (inspect, pickup) X/Square: Context action 2 (drop, use) Bumpers: Navigate tabs, cycle Triggers: Page up/down, zoom
3. Position consistency:
- "Back" always same position in menu
- "Confirm" always same position
- Sort order consistent (Accept-Cancel, not Cancel-Accept)
4. Dangerous actions:
- Require hold, not tap
- Different button than adjacent actions
- Confirmation dialog
- "Are you sure?" for delete/quit
5. Document and display:
- Button legend on screen
- Prompts update with context
- Settings shows full mapping
6. Platform conventions: Xbox: A=Yes, B=No PlayStation (Japan): Circle=Yes, Cross=No PlayStation (West): Cross=Yes, Circle=No Support both conventions in settings
Symptoms
- I accidentally quit the game
- B should go back, not close
- Players confused by changing behavior
- Wrong action taken frequently
Detection Pattern
No Keyboard Shortcut Display
Id
no-keyboard-shortcut-display
Summary
Keyboard controls exist but aren't shown, or rebinding breaks prompts
Severity
medium
Situation
"There are keyboard shortcuts?" "I rebound WASD but prompts still show WASD." Alt+F4 closes game with no warning. Hidden shortcuts in tooltip footnotes only.
Why
Players don't discover helpful shortcuts. Rebinding makes prompts lies. Power users frustrated by hidden functionality. New players miss efficiency.
Solution
Keyboard shortcut visibility
1. Show bound keys, not defaults: // Wrong prompt = "Press SPACE to jump";
// Right string jumpKey = GetBoundKey("Jump"); prompt = $"Press {jumpKey} to jump";
2. Tooltip shortcuts: Inventory (I) Map (M) Quest Log (J) Show bound key, not hardcoded
3. Key legend option: Settings -> Controls -> Show Keybinds: On/Off Toggle key legend overlay
4. Rebinding awareness:
- On rebind, update all prompts
- Show conflicts when rebinding
- "Reset to defaults" option
5. Alt+F4 handling:
- Either disable or show save confirmation
- Don't lose unsaved progress
- Or explicitly support it as "quick quit"
6. Hidden shortcuts documentation: Controls screen lists ALL shortcuts Include "advanced" section Searchable if extensive
Symptoms
- Didn't know there was a shortcut
- Prompts show wrong key after rebind
- Player loses progress to Alt+F4
- What does this key do?
Detection Pattern
"Press [A-Z]"|"Press Space"|"Press Enter"
Game Ui Design - Validations
Hardcoded Screen Position
Id
hardcoded-screen-position
Severity
error
Type
regex
Pattern
position:\s(absolute|fixed)[^}](left|right|top|bottom):\s0(px)?[^}](left|right|top|bottom):\s*0(px)?
Message
UI element positioned at exact screen corner. May be cut off on TVs due to overscan.
Fix Action
Implement safe zone margins (5-10%) and allow user adjustment in settings
Applies To
- *.css
- *.scss
- *.tsx
- *.jsx
Test Cases
Should Match
- position: absolute; left: 0; top: 0;
- position: fixed; right: 0px; bottom: 0px;
Should Not Match
- position: absolute; left: 5%; top: 5%;
- position: relative; left: 0;
Font Size Too Small
Id
small-font-size
Severity
error
Type
regex
Pattern
font-?[Ss]ize[:\s=]+["']?([0-9]|1[0-3])(px|pt|rem)?["']?
Message
Font size under 14px. Too small for game UI, especially on TVs and handhelds.
Fix Action
Use minimum 14px for secondary text, 16-18px for body, 24px+ for important info
Applies To
- *.css
- *.scss
- *.tsx
- *.jsx
- *.cs
- *.gd
Test Cases
Should Match
- font-size: 12px
- fontSize: 10
- fontSize="11px"
Should Not Match
- font-size: 16px
- fontSize: 24
- font-size: 14px
Hardcoded Button Prompt
Id
hardcoded-button-prompt
Severity
error
Type
regex
Pattern
"'\s+(A|B|X|Y|Start|Select|Space|Enter|LB|RB|LT|RT|L1|R1|L2|R2)["']
Message
Hardcoded button prompt. Won't adapt to controller type or key rebinding.
Fix Action
Use input action names and dynamically resolve to current binding/controller glyphs
Applies To
- *.cs
- *.gd
- *.tsx
- *.jsx
- *.json
Test Cases
Should Match
- "Press A to continue"
- 'Hit Space to jump'
- "Tap X"
Should Not Match
- GetActionPrompt("jump")
- Press {jumpButton} to continue
Touch Target Too Small
Id
small-touch-target
Severity
error
Type
regex
Pattern
(width|height|size)[:\s=]+["']?([0-3][0-9]|[0-9])(px|dp|pt)?["']?(?!\d)
Message
Element smaller than 44px. Too small for reliable touch or controller selection.
Fix Action
Minimum touch target: 44x44pt (Apple), 48x48dp (Google). Expand hit area if visual must be smaller.
Applies To
- *.css
- *.scss
- *.tsx
- *.jsx
Test Cases
Should Match
- width: 24px
- height: 32px
- size: 16
Should Not Match
- width: 48px
- height: 100px
- size: 300
Color-Only Information
Id
color-only-meaning
Severity
warning
Type
regex
Pattern
(enemy|hostile|danger|warning|error).color:\s(red|#[fF][0-9a-fA-F]{2}[0-9a-fA-F]{2})|color:\s(red|green).!(icon|shape|text)
Message
Color appears to be sole indicator. Colorblind players may not distinguish.
Fix Action
Add shape, icon, or text backup for all color-coded information
Applies To
- *.css
- *.tsx
- *.jsx
Test Cases
Should Match
- enemy: { color: red }
- color: red; // danger indicator
Should Not Match
- enemy: { color: red, icon: skull }
HUD Text Without Shadow/Outline
Id
no-text-shadow-outline
Severity
warning
Type
regex
Pattern
class.["'].hud.["'][^}](?!text-shadow|outline|stroke)
Message
HUD text element without shadow or outline. May be unreadable on varied backgrounds.
Fix Action
Add 2px contrasting outline or drop shadow to all HUD text
Applies To
- *.css
- *.scss
Missing Controller Navigation Setup
Id
missing-controller-navigation
Severity
warning
Type
regex
Pattern
<(button|Button|a)[^>]+(?!.navigation|.selectable|.focusable)[^>]>
Message
Interactive element may not support controller navigation.
Fix Action
Ensure element is focusable and has explicit navigation to adjacent elements
Applies To
- *.tsx
- *.jsx
Test Cases
Should Match
- <button onClick={click}>Submit</button>
Should Not Match
- <Button navigation={nav} onClick={click}>Submit</Button>
Long Animation Duration
Id
long-animation-duration
Severity
warning
Type
regex
Pattern
animation-?[Dd]uration[:\s=]+["']?([5-9][0-9]{2}|[1-9][0-9]{3,})(ms)?["']?|animation-?[Dd]uration[:\s=]+["']?([1-9])(s)["']?
Message
Animation longer than 500ms. May cause motion discomfort for sensitive players.
Fix Action
Keep UI animations under 300ms. Provide reduced motion option in settings.
Applies To
- *.css
- *.scss
- *.tsx
- *.jsx
Test Cases
Should Match
- animation-duration: 1s
- animationDuration: 800ms
- animation-duration: 1500
Should Not Match
- animation-duration: 200ms
- animationDuration: 300
Fixed Pixel Dimensions
Id
fixed-pixel-dimensions
Severity
warning
Type
regex
Pattern
(width|height):\s[0-9]{3,4}px(?!\s\/\.scale|.*responsive)
Message
Large fixed pixel dimensions. May not scale properly across resolutions.
Fix Action
Use percentage, viewport units, or scale relative to reference resolution
Applies To
- *.css
- *.scss
Test Cases
Should Match
- width: 1920px
- height: 1080px
Should Not Match
- width: 100%
- height: 50vh
Excessive Z-Index
Id
z-index-war
Severity
warning
Type
regex
Pattern
z-?[Ii]ndex[:\s=]+["']?[0-9]{4,}["']?
Message
Z-index over 1000. Indicates layering system problems.
Fix Action
Establish z-index scale: dropdowns 100, modals 200, tooltips 300, notifications 400
Applies To
- *.css
- *.scss
- *.tsx
- *.jsx
Test Cases
Should Match
- z-index: 9999
- zIndex: 10000
Should Not Match
- z-index: 100
- zIndex: 500
Magic Number Positioning
Id
magic-number-positions
Severity
info
Type
regex
Pattern
(margin|padding|top|left|right|bottom):\s[0-9]{2,}px(?!\s\/\*)
Message
Hardcoded pixel positions. Consider using spacing scale or design tokens.
Fix Action
Use spacing scale (8px, 16px, 24px, 32px) or CSS variables for consistency
Applies To
- *.css
- *.scss
Test Cases
Should Match
- margin: 17px
- padding-left: 23px
Should Not Match
- margin: var(--space-md)
- padding: 16px
Missing Hover State
Id
missing-hover-state
Severity
warning
Type
regex
Pattern
<[Bb]utton[^>]className=["'][^"']["'][^>]>(?![^<]:hover)
Message
Button without hover state indication. May confuse players about interactivity.
Fix Action
Add hover state with visual change (background, border, scale)
Applies To
- *.tsx
- *.jsx
Missing Keyboard Focus Indicator
Id
missing-focus-visible
Severity
warning
Type
regex
Pattern
(outline:\snone|outline:\s0)(?![^}]*:focus-visible)
Message
Removed outline without focus-visible alternative. Keyboard/controller users can't see focus.
Fix Action
Add :focus-visible style with visible indicator (outline, ring, glow)
Applies To
- *.css
- *.scss
Test Cases
Should Match
- outline: none;
- outline: 0;
Should Not Match
- outline: none; } .btn:focus-visible { outline: 2px solid blue; }
Unity Canvas Without Scaler
Id
unity-canvas-no-scaler
Severity
warning
Type
regex
Pattern
Canvas[^}]*(?!CanvasScaler|ScaleWithScreenSize)
Message
Unity Canvas may not have proper scaling for different resolutions.
Fix Action
Add CanvasScaler with Scale With Screen Size mode, reference 1920x1080
Applies To
- *.cs
- *.unity
Godot Control Fixed Size
Id
godot-control-fixed-size
Severity
warning
Type
regex
Pattern
custom_minimum_size\s=\sVector2\s\(\s[0-9]{3,}
Message
Large fixed minimum size on Godot Control node. May not scale properly.
Fix Action
Use anchors, grow directions, and size flags for responsive UI
Applies To
- *.tscn
- *.tres
- *.gd
Missing Reduced Motion Check
Id
no-reduced-motion-check
Severity
info
Type
regex
Pattern
@keyframes|animation:|transition:[^}]*[5-9][0-9]{2}ms
Message
Animations defined without checking prefers-reduced-motion.
Fix Action
Add @media (prefers-reduced-motion: reduce) to disable/reduce animations
Applies To
- *.css
- *.scss
Hardcoded Resolution Reference
Id
hardcoded-resolution
Severity
warning
Type
regex
Pattern
(1920|1080|2560|1440|3840|2160)[^0-9].resolution|screenWidth.=.1920|screenHeight.=.*1080
Message
Hardcoded resolution values. Should use dynamic screen dimensions.
Fix Action
Use Screen.width/height or reference resolution with scaling
Applies To
- *.cs
- *.gd
- *.tsx
Test Cases
Should Match
- const screenWidth = 1920;
- if (resolution.x == 1920)
Should Not Match
- referenceResolution = new Vector2(1920, 1080);
Static Button Text Instead of Localized
Id
static-button-text
Severity
info
Type
regex
Pattern
>["']?(OK|Cancel|Yes|No|Continue|Back|Exit|Quit|Save|Load)["']?<
Message
Static button text. Consider localization support.
Fix Action
Use localization keys: GetLocalizedString("ui_ok") or equivalent
Applies To
- *.tsx
- *.jsx
- *.xml
Tooltip Without Delay
Id
tooltip-no-delay
Severity
info
Type
regex
Pattern
(onMouseEnter|onHover|@mouse_entered)[^}]show.[Tt]ooltip(?![^}]*delay|setTimeout|timer)
Message
Tooltip appears immediately on hover. May flash during normal navigation.
Fix Action
Add 300-500ms delay before showing tooltips
Applies To
- *.tsx
- *.jsx
- *.cs
- *.gd
Unity Find for UI Element
Id
unity-find-ui-element
Severity
warning
Type
regex
Pattern
GameObject\.Find\s\([^)]("Canvas"|"Button"|"Text"|"Image"|"Panel"|UI)
Message
Using Find to locate UI elements. Cache references in Awake or use SerializeField.
Fix Action
Use [SerializeField] private Button _button; and assign in Inspector
Applies To
- *.cs
Unity UI Without Raycast Consideration
Id
unity-ui-raycast-target
Severity
info
Type
regex
Pattern
Image[^}](?!raycastTarget\s=\s*false)
Message
Image components default to raycastTarget=true. Disable on decorative images.
Fix Action
Set raycastTarget=false on non-interactive images to improve performance
Applies To
- *.cs
Godot UI Signal Emission Without Connection
Id
godot-signal-not-connected
Severity
info
Type
regex
Pattern
\.emit\s\([^)]\)(?![^}]*\.connect)
Message
Signal emitted but connection not visible in same file. Ensure signal is connected.
Fix Action
Connect signals in _ready() or via editor
Applies To
- *.gd
Related skills
How it compares
Choose game-ui-design over general web UI skills when interfaces must survive combat pressure, support diegetic presentation, and scale across game-specific input and resolution targets.
FAQ
What is game-ui-design?
World-class game UI design expertise combining the clarity of Nintendo's UI philosophy, the immersive diegetic interfaces of Dead Space and Metroid Prime, and the competitive reada
When should I use game-ui-design?
World-class game UI design expertise combining the clarity of Nintendo's UI philosophy, the immersive diegetic interfaces of Dead Space and Metroid Prime, and the competitive reada
Is game-ui-design safe to install?
Review the Security Audits panel on this page before production use.