跳到正文
cccskills
免费在 GitHub 公开

godot-platform-desktop

Expert blueprint for desktop platforms (Windows/Linux/macOS) covering keyboard/mouse controls, settings menus, window management (fullscreen, resolution), keybind remapping, and Steam integration. Use when targeting PC platforms or implementing desktop-specific features. Keywords desktop, Windows, Linux, macOS, settings, keybinds, ConfigFile, DisplayServer, Steam, fullscreen.

中文简介正在准备中。当前显示原文说明。

实测评分 未实测

查看安装方法

包含的文件(15)

  • SKILL.md11.1 KB
  • references/desktop-expert-patterns.md2.5 KB
  • references/migration-notes.md2.7 KB
  • scripts/desktop_integration_manager.gd3.8 KB
  • scripts/desktop_performance_monitor.gd1.4 KB
  • scripts/desktop_settings_persistent.gd2.0 KB
  • scripts/desktop_window_manager.gd2.0 KB
  • scripts/graceful_shutdown_handler.gd1.5 KB
  • scripts/low_processor_eco_mode.gd1.3 KB
  • scripts/native_dialog_helper.gd1.5 KB
  • scripts/native_shell_executor.gd1.3 KB
  • scripts/physical_input_rebinder.gd1.6 KB
  • scripts/platform_desktop_patterns.gd3.9 KB
  • scripts/platform_sdk_wrapper.gd1.5 KB
  • scripts/secondary_window_spawner.gd1.5 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Platform: Desktop

Settings flexibility, window management, and kb/mouse precision define desktop gaming.

NEVER Do (Expert Desktop Rules)

Window & Display

  • NEVER hardcode resolution or fullscreen modes — Always provide a settings menu with resolution + mode toggle.
  • NEVER ignore DPI scale factors — Use DisplayServer.screen_get_scale() / usable rects.
  • NEVER skip a borderless window option — Offer WINDOW_MODE_FULLSCREEN (borderless) for multi-monitor focus.

Input & Persistence

  • NEVER use keycode for movement rebinds — Use physical_keycode for AZERTY/Dvorak.
  • NEVER save settings or user data to res:// — Always user://.
  • NEVER skip NOTIFICATION_WM_CLOSE_REQUEST — Flush ConfigFile before get_tree().quit().

Performance & Integration

  • NEVER run utility tools at max framerate — Enable OS.low_processor_usage_mode for static tools.
  • NEVER call proprietary SDKs (Steam/Epic) directly — Wrap with Engine.has_singleton() guards.
  • NEVER block the main thread with massive I/O — Offload to WorkerThreadPool.

Available Scripts

MANDATORY: Read the appropriate script before implementing the corresponding pattern. Do not paste inline settings/rebind/Steam tutorials — the scripts are the golden path.

desktop_window_manager.gd

Expert DPI-aware multi-monitor window positioning using DisplayServer.

desktop_settings_persistent.gd

Production settings persistence using ConfigFile for persistent INI data.

physical_input_rebinder.gd

Expert positional rebind system using physical_keycode for AZERTY/Dvorak.

platform_sdk_wrapper.gd

Safe PC SDK singleton wrapper (Steamworks/Epic) with crash guards.

native_dialog_helper.gd

Expert native OS file dialogs and system alerts logic.

secondary_window_spawner.gd

True multi-window management for secondary Viewports/Windows.

graceful_shutdown_handler.gd

Safe close-request interceptor for data flushing and exit guards.

low_processor_eco_mode.gd

Eco mode optimization for desktop tools and launchers.

desktop_performance_monitor.gd

OS-level hardware detection for dynamic graphics presets.

native_shell_executor.gd

Expert native shell command execution and output capture.


Desktop Golden Path (MANDATORY scripts)

  1. Resolution / stretch — use the mini-tree below, then MANDATORY desktop_window_manager.gd.
  2. Window / DPI — MANDATORY desktop_window_manager.gd: multi-monitor position, scale, mode restore.
  3. ConfigFile settings — MANDATORY desktop_settings_persistent.gd: graphics/audio/window under user://.
  4. Physical rebinds — MANDATORY physical_input_rebinder.gd: physical_keycode only.
  5. Close flush — MANDATORY graceful_shutdown_handler.gd: NOTIFICATION_WM_CLOSE_REQUEST → save → quit.
  6. Store SDK — MANDATORY platform_sdk_wrapper.gd before any store call: if Engine.has_singleton("Steam") → Steam API; elif Engine.has_singleton("EOS") → Epic; else no-op stub. Gate features with export feature tags (steam / epic).

Resolution / stretch mini-tree

Player needWindow modeScript hook
Fullscreen game, alt-tab friendlyWINDOW_MODE_FULLSCREEN (borderless)desktop_window_manager.gd
Exclusive fullscreen (lowest latency)WINDOW_MODE_EXCLUSIVE_FULLSCREENSame — persist choice in ConfigFile
Windowed / multi-monitor dragWINDOW_MODE_WINDOWED + usable rect / DPI scaleSame + desktop_settings_persistent.gd

CI smoke: headless --path . --quit-after 1 with settings round-trip write/read under user:// before merge (pairs with godot-export-builds).

Expert Callouts (keep short — not full tutorials)

1. Alt-Tab stuck-input guard

On NOTIFICATION_APPLICATION_FOCUS_OUT, pause and Input.action_release held movement actions so OS-swallowed key-ups do not strand velocity.

2. Desktop launcher note

Lightweight launcher projects may OS.create_process the main pack after writing user://settings.cfg; pair with low_processor_eco_mode.gd while idle in menus.

Deep dives (on demand)

Reference

Progressive disclosure: open Official Documentation links only when researching a specific API; load Related Skills when routing work to a peer domain — do not preload the whole lattice.

Official Documentation

  • DisplayServer — Window modes, screen_get_scale / usable rects, and native file-dialog features behind multi-monitor and HiDPI desktop settings.
  • Multiple resolutions — Stretch modes, aspect, and content scale so resolution dropdowns stay sharp across 1080p–4K displays.
  • Handling quit requests — NOTIFICATION_WM_CLOSE_REQUEST / set_auto_accept_quit(false) so Alt+F4 and window-close flush ConfigFile before exit.
  • ConfigFile — INI-style persistence for graphics, audio, and window state under user://.
  • File paths in Godot projects — Why settings and saves must use user:// (exported res:// is read-only).
  • InputEventKey — physical_keycode vs keycode so WASD rebinds survive AZERTY/Dvorak layouts.
  • InputMap — Runtime action_erase_events / action_add_event for desktop rebind UIs.
  • Using InputEvent — Focus-loss stuck-key pitfalls (NOTIFICATION_APPLICATION_FOCUS_OUT) when Alt-Tabbing on PC.
  • Window — Secondary/tool windows and mode/size/position restore for true multi-window desktop apps.
  • OS — low_processor_usage_mode, create_process / execute, and alert for launchers and native shell hooks.
  • Creating applications — Desktop-style app chrome, dialogs, and quit UX beyond game-only loops.
  • Engine — has_singleton / get_singleton guards so Steam/Epic GDExtensions never crash standalone builds.

Related Skills

Prerequisites

  • godot-project-foundations — Display stretch, feature tags (windows/linux/macos), and project defaults every desktop settings menu depends on.
  • godot-input-handling — InputEvent buffering and action design before wiring physical_keycode rebind UIs.
  • godot-ui-containers — Settings screens, dropdowns, and remapper rows that stay layout-correct across resolutions.

Complements

Downstream / consumers

  • godot-export-builds — Windows/Linux/macOS export presets, icons, and store packaging once desktop settings and SDK wrappers are stable.
  • godot-platform-mobile — Sibling platform skill for dual-target projects that must not assume desktop quit/window APIs on phones.
  • godot-platform-web — Browser constraints (no multi-window / limited shell) when shipping the same settings stack to HTML5.

Master

  • godot-master — Library router and mirrored module entry for discovering this platform skill beside sibling domains.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Bevy ECS skill for 2D sprite animation. Keywords: Bevy, sprite, animation, AnimationPlayer, AnimationClip, 2D.

中文简介正在准备中。当前显示原文说明。

thedivergentai/Game-Design-Agentic-Skills8502026年10月13日 更新

Bevy ECS skill for 3D lights. Keywords: Bevy, lighting, directional, point, spot, bevy_light, PBR.

中文简介正在准备中。当前显示原文说明。

thedivergentai/Game-Design-Agentic-Skills8502026年10月13日 更新

Bevy ECS skill for PBR materials. Keywords: Bevy, StandardMaterial, PBR, material, ExtendedMaterial.

中文简介正在准备中。当前显示原文说明。

thedivergentai/Game-Design-Agentic-Skills8502026年10月13日 更新

Bevy ECS skill for 3D level assembly. Keywords: Bevy, level, scene, mesh, world, ECS.

中文简介正在准备中。当前显示原文说明。

thedivergentai/Game-Design-Agentic-Skills8502026年10月13日 更新

Bevy ECS skill for abilities. Keywords: Bevy, ability, cooldown, ECS, gameplay.

中文简介正在准备中。当前显示原文说明。

thedivergentai/Game-Design-Agentic-Skills8502026年10月13日 更新

Bevy ECS skill for moving a Bevy game from 2D to 3D. Keywords: Bevy, 2D, 3D, adapt, camera, sprite.

中文简介正在准备中。当前显示原文说明。

thedivergentai/Game-Design-Agentic-Skills8502026年10月13日 更新

查看 thedivergentai 的全部技能

报告此技能的问题