platform-console

SKILL.md

Platform: Console

Controller-first design, certification compliance, and locked frame rates define console development.

Available Scripts

console_compliance_handler.gd

Expert console certification helpers (focus loss handling, save indicators).

NEVER Do in Console Development

  • NEVER show mouse cursor — Mouse on console = certification fail. Controllers only. Hide cursor with Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN).
  • NEVER skip pause on focus loss — User presses Home button without pause = TRC violation. Listen to NOTIFICATION_APPLICATION_FOCUS_OUT, force pause.
  • NEVER use unlocked frame rate — Variable FPS = screen tearing + cert fail. Lock to 30 or 60 FPS: Engine.max_fps = 60 + VSync.
  • NEVER forget D-Pad navigation — UI only navigable with analog stick? Accessibility fail. MUST support D-Pad for all menus.
  • NEVER hardcode button labels — "Press A" on PlayStation shows wrong icon. Use Input.get_joy_button_string() or platform-specific icon mapping.
  • NEVER exceed platform memory limits — Switch has ~3.5GB usable RAM. Exceeding = crash/rejection. Profile with Godot Profiler → Memory tab.

  • Always show button prompts (A/B/X/Y or ⬜/✕/△/○)
  • D-Pad navigation for all menus
  • Back button support (B/○)
  • No mouse cursor

Input Handling

func _input(event: InputEvent) -> void:
    if event is InputEventJoypadButton:
        match event.button_index:
            JOY_BUTTON_A:
                on_confirm()
            JOY_BUTTON_B:
                on_cancel()

Performance Requirements

  • Locked 30/60 FPS - No drops allowed
  • Memory limits - Strict budgets
  • Certification testing - QA required

Platform Services

  • Achievements/Trophies
  • Cloud saves
  • Multiplayer matchmaking
  • Platform friends

Best Practices

  1. Controller-Only - No mouse/keyboard
  2. Pause on Focus Loss - Required
  3. Save Prompts - Must notify saves
  4. Certification - Follow TRCs/TCRs

Reference

  • Related: export-builds, input-handling
Weekly Installs
1
GitHub Stars
35
First Seen
Feb 9, 2026
Installed on
amp1
opencode1
kimi-cli1
codex1
github-copilot1
gemini-cli1