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.
When to Use
This skill is applicable to execute the workflow or actions described in the overview.