home / skills / vudovn / antigravity-kit / vr-ar

This skill helps you apply VR/AR development principles to optimize comfort, performance, and interaction across platforms.

npx playbooks add skill vudovn/antigravity-kit --skill vr-ar

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
2.3 KB
---
name: vr-ar
description: VR/AR development principles. Comfort, interaction, performance requirements.
allowed-tools: Read, Write, Edit, Glob, Grep
---

# VR/AR Development

> Immersive experience principles.

---

## 1. Platform Selection

### VR Platforms

| Platform | Use Case |
|----------|----------|
| **Quest** | Standalone, wireless |
| **PCVR** | High fidelity |
| **PSVR** | Console market |
| **WebXR** | Browser-based |

### AR Platforms

| Platform | Use Case |
|----------|----------|
| **ARKit** | iOS devices |
| **ARCore** | Android devices |
| **WebXR** | Browser AR |
| **HoloLens** | Enterprise |

---

## 2. Comfort Principles

### Motion Sickness Prevention

| Cause | Solution |
|-------|----------|
| **Locomotion** | Teleport, snap turn |
| **Low FPS** | Maintain 90 FPS |
| **Camera shake** | Avoid or minimize |
| **Rapid acceleration** | Gradual movement |

### Comfort Settings

- Vignette during movement
- Snap vs smooth turning
- Seated vs standing modes
- Height calibration

---

## 3. Performance Requirements

### Target Metrics

| Platform | FPS | Resolution |
|----------|-----|------------|
| Quest 2 | 72-90 | 1832x1920 |
| Quest 3 | 90-120 | 2064x2208 |
| PCVR | 90 | 2160x2160+ |
| PSVR2 | 90-120 | 2000x2040 |

### Frame Budget

- VR requires consistent frame times
- Single dropped frame = visible judder
- 90 FPS = 11.11ms budget

---

## 4. Interaction Principles

### Controller Interaction

| Type | Use |
|------|-----|
| **Point + click** | UI, distant objects |
| **Grab** | Manipulation |
| **Gesture** | Magic, special actions |
| **Physical** | Throwing, swinging |

### Hand Tracking

- More immersive but less precise
- Good for: social, casual
- Challenging for: action, precision

---

## 5. Spatial Design

### World Scale

- 1 unit = 1 meter (critical)
- Objects must feel right size
- Test with real measurements

### Depth Cues

| Cue | Importance |
|-----|------------|
| Stereo | Primary depth |
| Motion parallax | Secondary |
| Shadows | Grounding |
| Occlusion | Layering |

---

## 6. Anti-Patterns

| ❌ Don't | ✅ Do |
|----------|-------|
| Move camera without player | Player controls camera |
| Drop below 90 FPS | Maintain frame rate |
| Use tiny UI text | Large, readable text |
| Ignore arm length | Scale to player reach |

---

> **Remember:** Comfort is not optional. Sick players don't play.

Overview

This skill covers core VR/AR development principles focused on comfort, interaction, and performance. It summarizes platform choices, motion-sickness prevention, performance targets, interaction models, and spatial design rules. The guidance is practical and implementation-oriented for TypeScript/engine projects. Use it to shape playable, comfortable immersive experiences.

How this skill works

The skill inspects platform trade-offs (Quest, PCVR, PSVR, ARKit/ARCore, WebXR, HoloLens) and maps them to design constraints like FPS and resolution targets. It evaluates comfort controls (teleport, vignette, snap turn), interaction patterns (point, grab, gestures, hand tracking) and spatial rules (1 unit = 1 meter, depth cues). It highlights performance budgets and anti-patterns so teams can prioritize frame stability and readable UI.

When to use it

  • Choosing target platforms and hardware constraints
  • Designing locomotion and comfort systems to avoid motion sickness
  • Setting rendering budgets and performance targets for 90+ FPS
  • Designing interaction metaphors (controllers vs hand tracking)
  • Laying out world scale and depth cues during level design

Best practices

  • Target platform-specific FPS/resolution budgets (e.g., Quest 2: 72–90 FPS) and design to avoid dropped frames
  • Use teleportation or snap turning to reduce motion sickness; add vignette during movement
  • Treat 1 unit as 1 meter; validate object sizes with real-world measurements
  • Prefer large, high-contrast UI and consider reachable placement based on arm length
  • Use hand tracking for social/casual interactions and controllers for precision and action

Example use cases

  • Porting a prototype to Quest: reduce draw calls, simplify shaders, implement teleport and vignette
  • Building a browser AR demo: use WebXR, calibrate height, rely on occlusion and shadows for grounding
  • Designing an action VR game: keep strict 11ms frame budget, use controller-based grab and throw
  • Creating an enterprise AR utility: target HoloLens, emphasize stable occlusion and precise spatial anchors

FAQ

What is the most common cause of VR discomfort?

Locomotion mismatch — moving the camera without matching player vestibular cues. Use teleport, snap turns, or gradual acceleration to mitigate it.

How strict must I be about frame time?

Very strict: at 90 FPS you have ~11.11ms per frame. Single dropped frames cause visible judder, so optimize CPU/GPU pipelines and budget features accordingly.