All skills
thedivergentai avatar

/godot-platform-console

@9d6e91e

Expert blueprint for console platforms (PlayStation, Xbox, Nintendo Switch) covering controller-first UI, certification requirements (TRCs/TCRs), platform services (achievements, cloud saves), and performance compliance. Use when targeting console releases or implementing gamepad-only interfaces. Keywords console, PlayStation, Xbox, Switch, TRC, TCR, certification, controller, gamepad, achievements.

Use this Skill: https://skilld.dev/gh/thedivergentai/gd-agentic-skills/godot-platform-console

This session only. Nothing lands on disk.

referencesconsole-cert-patterns.md

≈689 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Console input and certification patterns

Joypad snippets, platform overlay dialogs, shader binary cache, controller telemetry.

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

1. Platform-Overlay-Manager (Native UI Dialogs)

To comply with strict console certification (TRCs), avoid custom UI for critical system messages. Use DisplayServer.dialog_show() to invoke native platform dialogs, ensuring the message is handled by the OS.

class_name PlatformOverlayManager extends Node
## Invokes native OS dialogs for system compliance.

func show_native_alert(title: String, msg: String) -> void:
    if DisplayServer.has_feature(DisplayServer.FEATURE_SUBWINDOWS):
        # Native OS dialog integration.
        DisplayServer.dialog_show(title, msg, ["OK"], _on_dialog_closed)
    else:
        # Fallback to blocking OS alert.
        OS.alert(msg, title)

func _on_dialog_closed(button_index: int) -> void:
    print("Native dialog closed: ", button_index)

2. Shader-Binary-Caching (RenderingDevice)

Consoles use fixed hardware. Enable rendering/shader_compiler/shader_cache/enabled and use RenderingDevice.shader_compile_binary_from_spirv() to compile GPU-optimized binaries, reducing runtime stuttering.

class_name ConsoleShaderManager extends Node
## Manages GPU-specific shader binary compilation.

func get_device_uuid() -> String:
    var rd := RenderingServer.get_rendering_device()
    if rd:
        # Unique ID for the specific GPU and Driver.
        return rd.get_device_pipeline_cache_uuid()
    return ""

3. Controller-Battery-Telemetry Hook

Monitor controller health using Input.joy_connection_changed and Input.get_joy_info(). While battery level requires a platform-specific GDExtension, the telemetry hook queries the hardware identification string.

class_name ControllerTelemetry extends Node
## Tracks controller states and hardware metadata.

func _ready() -> void:
    Input.joy_connection_changed.connect(_on_joy_changed)

func _on_joy_changed(id: int, connected: bool) -> void:
    if connected:
        var info := Input.get_joy_info(id)
        # Tracks hardware GUID and XInput index for telemetry logs.
        print("Controller %d: %s" % [id, info.get("xinput_index", "Native")])

Source: SKILL.md on GitHub

1 warning16d4 checks · Risk SAFE
  • Gen Agent Trust Hub16d

    The skill provides expert guidance and boilerplate scripts for Godot console development, focusing on platform certification and performance. No security issues were detected.

  • Socket16d

    No alerts

  • Snyk16d

    Risk: LOW · No issues

  • Runlayer7mo

    2/2 files flagged

Signed by skilld at 9d6e91e. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 3 weeks ago.

Activeupdated 2 months ago

README badge

README badge for thedivergentai/gd-agentic-skills/godot-platform-console