Godot Platform Vr logo

Godot Platform Vr

Community
thedivergentai
godot-platform-vr

Expert blueprint for VR platforms (Meta Quest, PSVR, SteamVR, Pico) covering XR toolkit (OpenXR), comfort settings (vignetting, snap turning, teleport), motion controls, hand tracking, and 90+ FPS requirements. Use when targeting VR headsets or implementing immersive 3D experiences. Keywords VR, XR, OpenXR, Meta Quest, motion sickness, comfort, locomotion, XRController3D, foveated rendering.

Overview

Publisherthedivergentai
RepositoryGD-Agentic-Skills
Skill namegodot-platform-vr
Stars
782
Forks
48
Bundled files
17
LicenseLGPL-3.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 17 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by thedivergentai on GitHub. Read the source before you install it.

Installation

Install the Godot Platform Vr AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/thedivergentai/GD-Agentic-Skills/tree/main/skills/godot-platform-vr
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/thedivergentai/GD-Agentic-Skills.git /tmp/GD-Agentic-Skills
mkdir -p .claude/skills
cp -r /tmp/GD-Agentic-Skills/skills/godot-platform-vr .claude/skills/godot-platform-vr
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Godot Platform Vr in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Godot Platform Vr on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Godot Platform Vr is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Platform: VR

90+ FPS, comfort-first design, and motion control accuracy define VR development.

NEVER Do (Expert VR Rules)

Rendering & Comfort

  • NEVER drop below 90 FPS — In VR, 72 FPS or less causes instant nausea. You MUST maintain at least 90 FPS (Meta Quest 2/3 typical) and minimize rendering jank.
  • NEVER use smooth rotation without a vignette (comfort mask) — Smooth rotation causes motion sickness. Always provide snap turning OR dynamic vignetting.
  • NEVER force 3D MSAA if Foveated Rendering is enabled — Foveation can conflict with MSAA natively in the OpenXR pipeline on some hardware.

Locomotion & Interaction

  • NEVER skip a teleport locomotion option — Smooth movement is intolerable for many. Always offer teleportation as an accessibility alternative.
  • NEVER use billboarding for VR UI — BILLBOARD_ENABLED breaks stereoscopic depth cues. Use static MeshInstance3D planes with SubViewports.
  • NEVER place UI too close or too far — 0.5m causes eye strain; 10m is unreadable. Optimal distance is 1-3 meters from the player.

Safety & System

  • NEVER forget to respect physical play area boundaries — Stepping into real-world objects is a safety risk. Use XRServer to fetch guardian bounds.
  • NEVER ignore focus_lost or session_ended signals — Gracefully handle disconnections or system menu overlays by pausing the simulation.
  • NEVER hardcode XRControllerTracker names — Use the OpenXR Action Map system to decouple gameplay from specific hardware labels.

Comfort Decision Tree (start here)

  1. Can the player opt out of continuous locomotion? → If no, stop and add teleport + seated mode before any smooth locomotion code.
  2. Turning: snap turn default → load vr_locomotion_handler.gd. Smooth turn only with vignette + comfort toggle.
  3. Play area / focus: load vr_safety_guardian_warner.gd + vr_headset_focus_guard.gd before shipping any locomotion.
  4. Session bootstrap / actions / FPS: then load vr_openxr_initializer.gd, vr_input_action_mapper.gd, vr_performance_config.gd.

Available Scripts

MANDATORY: After the comfort decision tree, read the matching script before implementing that pattern. Do not invent a bare use_xr = true / XRController3D.is_button_pressed demo — start from the scripts below.

vr_openxr_initializer.gd

Expert OpenXR initialization with driver support and feature verification.

vr_hand_gesture_detector.gd

Pinch and Grab recognition using XRHandModifier3D for hand tracking.

vr_locomotion_handler.gd

Snap turn, comfort vignette, and accessibility teleport_to() with guardian/focus failure modes.

vr_passthrough_manager.gd

Alpha blending and underlay setup for Mixed Reality (AR/VR) transitions.

vr_performance_config.gd

Expert Foveated Rendering and Variable Rate Shading (VRS) setup.

vr_haptic_sequencer.gd

Complex haptic pulse sequencing using XRController3D triggers.

vr_physics_hand_controller.gd

Non-clipping, physics-following hands that respect environmental solid.

vr_safety_guardian_warner.gd

Guardian/Chaperone boundary distance warning logic using XRServer.

vr_headset_focus_guard.gd

Headset-aware pause logic for focus loss (System Menu / Headset Off).

vr_input_action_mapper.gd

OpenXR Action Map abstraction to decouple logic from hardware buttons.


Teleport Accessibility Path

Always ship teleport (or room-scale only) as an alternative to smooth locomotion.

  1. MANDATORY read vr_locomotion_handler.gd — teleport_to(target_global).
  2. Raycast from controller aim to floor/navmesh; pass the hit point into teleport_to.
  3. Failure modes (must handle):
  4. Pair teleport with snap turn + vignette from the same locomotion handler.

Comfort Gates (NEVER-adjacent)

These are hard comfort gates, not soft preferences:

  1. 90+ FPS before any optional VFX — nausea risk outweighs polish.
  2. Teleport or snap-turn path always available — never ship smooth-only locomotion.
  3. Guardian + focus handlers live before first public playtest.
  4. UI at 1–3 m on composition layers / static quads — never billboarded close-range HUD.

Expert patterns (script pointers)

  1. Mixed-Reality passthrough (Quest 3) — environment_blend_mode = ALPHA_BLEND + transparent_bg exposes the camera feed through scene alpha → mixed_reality_manager.gd / vr_passthrough_manager.gd.
  2. Composition-layer UI — OpenXRCompositionLayerQuad + SubViewport bypasses lens blur → xr_performance_overlay.gd.
  3. Universal grab — OpenXR action map + central reparent manager → universal_grab_manager.gd + vr_input_action_mapper.gd.

Deep dives (on demand)

Reference

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

Official Documentation

  • Setting up XR — OpenXR project enablement, XROrigin3D/XRCamera3D tree, and first headset session bootstrap.
  • A better XR start script — robust initialize → use_xr sequencing, focus signals, and failure paths before viewport XR mode.
  • The XR action map — hardware-agnostic actions so gameplay never hardcodes controller button strings.
  • Basic XR locomotion — teleport vs continuous movement and comfort-oriented turning patterns.
  • OpenXR hand tracking — XRHandModifier3D / joint tracking and controller fallback expectations.
  • OpenXR composition layers — crisp SubViewport UI via OpenXRCompositionLayerQuad instead of billboarded 3D quads.
  • AR / passthrough — environment blend modes and transparent viewport setup for mixed reality.
  • OpenXR settings — foveation, render target multiplier, and other headset performance knobs.
  • XR room-scale — play-area / guardian bounds via XRServer for physical safety.
  • Deploying XR on Android — Quest-class Android export, permissions, and OpenXR loader packaging.
  • Variable rate shading — VRS / foveated shading tradeoffs that pair with OpenXR foveation for 90+ FPS.
  • XRInterface — initialize, focus, passthrough, haptics, and blend-mode APIs shared by OpenXR/WebXR.

Related Skills

Prerequisites
  • godot-project-foundations — project settings, scene tree, and viewport basics required before enabling OpenXR and use_xr.
  • godot-input-handling — action/event mental model that the OpenXR Action Map extends for motion controllers.
  • godot-gdscript-mastery — typed XR scripts, await timers for snap-turn comfort, and signal wiring for focus/haptics.
Complements
  • godot-camera-systems — XRCamera3D is still a Camera3D; comfort UI distance and head-relative framing reuse camera placement rules.
  • godot-performance-optimization — draw-call and GPU budgets that decide whether 90/120 Hz holds under foveation and VRS.
  • godot-physics-3d — CharacterBody3D/RigidBody3D grab-and-throw hands that must not clip through static world geometry.
  • godot-audio-systems — mute/duck buses when headset focus is lost so system menus never leave game audio blasting.
  • godot-shaders-basics — comfort vignettes and spatial overlays during locomotion without fighting the XR compositor.
  • godot-ui-containers — layout inside SubViewports projected through composition layers at 1–3 m.
  • godot-export-builds — Android/desktop export presets and OpenXR loader packaging for Quest and PCVR.
  • godot-platform-mobile — standalone headset Android constraints (thermal, resolution scale, touchless UX) that overlap Quest shipping.
Downstream / consumers
  • godot-platform-web — WebXR session_started/ended flows that reuse the same XRServer interface patterns for browser VR.
  • godot-scene-management — pause trees and scene swaps when focus_lost or session_ended fires mid-experience.
Master
  • godot-master — library router and mirrored module entry for cross-skill discovery.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Godot Platform Vr AI skill do?

Expert blueprint for VR platforms (Meta Quest, PSVR, SteamVR, Pico) covering XR toolkit (OpenXR), comfort settings (vignetting, snap turning, teleport), motion controls, hand tracking, and 90+ FPS requirements. Use when targeting VR headsets or implementing immersive 3D experiences. Keywords VR, XR, OpenXR, Meta Quest, motion sickness, comfort, locomotion, XRController3D, foveated rendering.

Why use Godot Platform Vr on TypingMind?

Because you install it once and use it with any model. Godot Platform Vr is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Godot Platform Vr in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/thedivergentai/GD-Agentic-Skills/tree/main/skills/godot-platform-vr. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Godot Platform Vr?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Godot Platform Vr?

As many as you like. As long as a model supports skills, you can use Godot Platform Vr with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Godot Platform Vr AI skill free?

Yes. It is published on GitHub by thedivergentai under the LGPL-3.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇