/ultimate-XR-dev-guide

A development resource list for all things XR

The Ultimate XR Developers Resource Guide

I created this resource list for my personal use. I hope you find it useful too. Much of the content overlaps with general game development, and there is an emphasis on Unreal Engine and Meta Quest headsets.

Table of Contents

Headsets (Head Mounted Displays)

๐Ÿ“„ Choosing a VR headset (wiki from r/virtualreality)
๐Ÿ“„ VR-Compare is a website that allows users to compare virtual reality (VR) products and experiences.

XR Guides, Tutorials and Articles

General

๐Ÿ“„ Practical VR: A Design Cheat Sheet
๐Ÿ“„ Sense of Presence in Social VR Experience
๐Ÿ“„ XR Collaboration Resource Guide
๐Ÿ“„ Start designing and prototyping for mixed reality (Microsoft)
๐Ÿ“„ Oculus - Designing Accessible VR Experiences A set of guidelines for designing accessible VR experiences.
๐Ÿ“„ Comparing Unity vs Unreal for VR, MR or AR Development Projects
๐Ÿ“„ Get started with VR: user experience design
๐Ÿ“„ VR Fonts (Reddit)
๐Ÿ“„ Designing User Experience for Virtual Reality (VR) applications
๐Ÿ“„ The User Experience of Virtual Reality (uxofvr.com)
๐Ÿ“„ Design Practices in Virtual Reality
๐Ÿ“„ Simulating Weight in VR
๐Ÿ“บ Interaction Design in VR: Valveโ€™s Lessons
๐Ÿ“บ Google I/O 2015 โ€“ Designing for virtual reality
๐Ÿ“บ Daydream Labs: Lessons Learned from VR Prototyping โ€“ Google I/O 2016
๐Ÿ“บ 2014 Oculus Connect โ€“ Introduction to Audio in VR
๐Ÿ“บ Lessons learned at the Vive Game Jam
๐Ÿ“บ VR Interface Design Pre-Visualisation Methods
๐Ÿ“บ VR Interface Design Manifesto
๐Ÿ“บ Locomotion in Virtual Reality
๐Ÿ“บ Locomotion in VR: Overview of different locomotion methods on HTC Vive

John Carmack

๐Ÿ“บ John Carmack Tech Talk with UMKC-SCE
๐Ÿ“บ Deep Thoughts Engineering Speaker Series
๐Ÿ“บ Oculus Connect 2 Keynote with John Carmack
๐Ÿ“บ John Carmack at the University of Texas at Dallas
๐Ÿ“บ John Carmack: Live & Unscripted | Facebook Connect
๐Ÿ“บ Meta Connect 2022 | Carmack Unscripted

Unity

๐Ÿ“„ Unity Manual: XR
๐Ÿ“„ Intro to VR Development with Oculus Rift (Unity)

Unreal Engine

๐Ÿ“„ Developing for XR experiences in Unreal Engine
๐Ÿ“„ Mike Royal โ€“ Unreal Engine Guide
๐Ÿ“„ Epic Games Learning Library for Unreal Engine & MetaHuman
๐Ÿ“„ Your First Hour in Unreal Engine 5
๐Ÿ“„ XR Best Practices in Unreal Engine
๐Ÿ“บ Virtual Reality and OpenXR in UE5 | Unreal Fest 2022
๐Ÿ“บ What You Didnโ€™t Know About VR Development in Unreal Engine | Inside Unreal

Social & Community

Discord Servers

Virtual Reality
Unreal Slackers
XR Creators
Flatscreen to VR Modding
LucidVR

Subreddits

r/oculus
r/OculusQuest
r/QuestPro
r/SteamVR
r/Unity
r/Unity3D
r/Unrealengine
r/Virtualreality
r/VRGaming
r/augmentedreality
r/learnVRdev
r/blender
r/mixedvr
r/WindowsMR

Forums & Development Hubs

Developer Forum (oculusvr.com)
AR/VR (XR) Discussion โ€“ Unity Forum
Oculus Developer Center
Google VR for everyone | Google Developers

XR YouTube Channels

General

VR Playground
Quinn Kuslich
Just2Devs
XR Bootcamp
Circuit Stream
Lucas VRTech
GDXR
VR with Andrew
Fist Full of Shrimp
Valem
Justin P Barnett
Dilmer Valecillos
WINBUSH

Game Development

UnrealSensei
Awesome Tuts
Virtus Learning Hub
Smart Poly
Ivica Milariฤ‡
UnrealSensei
Awesome Tuts
Virtus Learning Hub
Ivica Milariฤ‡

Blender

CG Cookie
Blender Guru
YanSculpts
Grant Abbitt
CG Masters
Ducky 3D
IanHubert

Related

FlippedNormals
Cinematography Database
RelaxKiral
Eric V. Tuber
iBrews

Game Engines

โš’๏ธ Unreal Engine
โš’๏ธ Unity
โš’๏ธ Cry Engine
๐Ÿ†“โš’๏ธ Godot Engine
๐Ÿ†“โš’๏ธ AppGameKit VR
๐Ÿ†“โš’๏ธ Open 3D Engine
๐Ÿ†“โš’๏ธ ApterusVR

Getting Started with Unreal Engine

๐Ÿ“„ Unreal Engine Guide (META)
๐Ÿ“„ Creating Your First Meta Quest VR App in Unreal Engine (META)
๐Ÿ“„ Oculus Integration for Unreal Engine Basics (META)
๐Ÿ“„ Configure the Oculus Plugin for Unreal Engine (META)
๐Ÿ“„ Developing for Oculus in Unreal Engine (Epic Games)
๐Ÿ“„ VR Template in Unreal Engine (Epic Games)

Unreal Engine Plugins

๐Ÿ†“โš’๏ธ VR Expansion Plugin

Assets

Premade Models

3D Scan Store
RenderPeople
Sketchfab
TurboSquid
CGTrader
๐Ÿ†“ Smithsonian 3D
๐Ÿ†“ 3dmodelscc0
๐Ÿ†“ Quixel Megascans
๐Ÿ†“ Quixel Bridge
๐Ÿ†“ Poly Haven
Pixel Lab
๐Ÿ†“ Free3D
Hum3D
๐Ÿ†“ MorphoSource
๐Ÿ†“ poly.pizza
๐Ÿ†“ HDRi Haven

3D Modelling Tools

๐Ÿ†“โš’๏ธ Blender
๐Ÿ†“โš’๏ธ ZBrushCoreMini
๐Ÿ†“โš’๏ธ Clara.io
๐Ÿ†“โš’๏ธ MetaHuman Creator
๐Ÿ†“โš’๏ธ Mixamo
๐Ÿ†“โš’๏ธ Wings 3D
๐Ÿ†“โš’๏ธ FreeCAD
๐Ÿ†“โš’๏ธ Adobe Medium
โš’๏ธ 3DCoat
โš’๏ธ Cinema 4D
โš’๏ธ Adobe Substance 3D Modeler
โš’๏ธ Maya
โš’๏ธ Marvelous Designer
โš’๏ธ 3D Character Maker

Photogrammetry

Photogrammetry is a technique that uses photographs to construct 3D models of objects, buildings, or landscapes. The process involves taking multiple photos of the subject from various angles and then analysing them with specialised software to generate a 3D model.

โš’๏ธ Adobe Substance 3D Sampler
๐Ÿ“บ Basic 3D Capture - Capturing an outdoor scene in Substance 3D Sampler
๐Ÿ“บ Advanced 3D Capture with Substance 3D Sampler (Playlist)

๐Ÿ†“โš’๏ธ RealityCapture
๐Ÿ†“โš’๏ธ RealityScan
๐Ÿ†“โš’๏ธ Polycam
๐Ÿ“บ The Ultimate Guide to 3D Scanning | FULL WORKFLOW
๐Ÿ“„ Getting started with Photogrammetry โ€” with a Smartphone camera (2019)
๐Ÿ“„ A Guide to Photogrammetry Photography (2020)

NeRF: Neural Radiance Fields

๐Ÿ“„ NeRF: Neural Radiance Fields (matthewtancik.com)
๐Ÿ†“โš’๏ธ GitHub โ€“ bmild/nerf: Code release for NeRF (Neural Radiance Fields)
๐Ÿ†“โš’๏ธ Luma AI
๐Ÿ“บ Why THIS is the Future of Imagery: The Corridor Crew (YouTube)

Textures

โš’๏ธ Adobe Substance 3D Painter
โš’๏ธ Adobe Substance 3D Sampler
๐Ÿ†“ MatCap
๐Ÿ†“ ArtStation: Miloลก Belanec
๐Ÿ†“ Poliigon: Free Textures
๐Ÿ†“ 30 free PBR materials
Plain Textures
Textures.com

Audio

Link Description
๐Ÿ†“โš’๏ธFMOD A software audio engine that allows developers to easily implement audio playback and effects in their games, applications, and other interactive media.
๐Ÿ†“โš’๏ธAudacity A free and open-source digital audio editor and recording application.
๐Ÿ†“ZapSplat Free sound effects and royalty free music soundtracks.
๐Ÿ†“Purple Planet A collection of music written and performed by Chris Martyn and Geoff Harvey.

Motion Capture, Tracking & Rigging Tools

โš’๏ธ Rokoko
Xsens
โš’๏ธ RADiCAL
๐Ÿ†“ โš’๏ธ Amethyst
๐Ÿ†“โš’๏ธ Live Link Face for Unreal Engine (iOS)
๐Ÿ†“โš’๏ธ accuRIG
SlimeVR
VIVE Tracker
April Tag VR FullBody Tracker
HaritoraX

Hand Tracking

Mostly hand tracking information for Unreal Engine with Quest headsets
๐Ÿ†“โš’๏ธ Unreal Hand Gameplay Showcase (GitHub)
๐Ÿ“„ Designing for Hands (Meta/Oculus)
๐Ÿ“„ Introducing โ€˜First Hand,โ€™ Our Official Hand Tracking Demo Built With Presence Platformโ€™s Interaction SDK
๐Ÿ†“ โš’๏ธ Oculus VR Hands Models
Ultraleap

Quinn Kuslich (YouTube)

๐Ÿ“บ VR Hands and Animations in UE5 & UE4.27 | Tutorial Part 1 | Adding Hands and Gesture Animations
๐Ÿ“บ VR Hand Animation in UE5 & UE4.27 | Tutorial Part 2 | Object Specific Grip States for VR Weapons
๐Ÿ“บ Procedural VR Hand Animation in UE5 | Tutorial Part 3 | Half Life: Alyx Procedural Grip Animations

Just2Devs (YouTube)

๐Ÿ“บ Enable Hand Tracking 2.0 in Unreal Engine
๐Ÿ“บ Hand Tracking in Unreal Engine 5.0
๐Ÿ“บ The Just2Devs website

VRPlayground (YouTube)

๐Ÿ“บ Oculus Quest Hand Tracking Setup โ€“ Unreal Engine VR Tutorial
๐Ÿ“บ Unreal Engine Hand Animations โ€“ Unreal Engine 5 VR Tutorial

XR Development Tools & Frameworks

Link Description
๐Ÿ†“โš’๏ธ Babylon.js A JavaScript library for building 3D graphics and animations using WebGL (Web Graphics Library).
๐Ÿ†“โš’๏ธ VR Builder A VR creation open-source toolkit for Unity.
๐Ÿ†“โš’๏ธ ARKit A development platform that enables app developers to build AR experiences quickly and easily into their apps and games (Apple).
๐Ÿ†“โš’๏ธ RealityKit Simulate and render 3D content for use in your augmented reality apps (Apple).
๐Ÿ†“โš’๏ธ SceneKit A high-level 3D graphics framework that helps you create 3D animated scenes and effects in your apps (Apple).
๐Ÿ†“โš’๏ธ BlenderXR A library to use Blender with common VR/AR hardware. It supports Oculus Rift, HTC Vive, WindowsMR (via SteamVR), and Fove headsets.
๐Ÿ“„ XRAccessibility project A initiative driven by the XR Association and XR Access to provide a central place for developers to find solutions for creating accessible code across various XR platforms.
๐Ÿ“„ Inclusive User Testing in VR This Unity plugin allows users to directly give feedback in VR and allows user researchers to view this feedback asynchronously using a web-based dashboard.
๐Ÿ†“โš’๏ธ A-Frame A web framework for building virtual reality experiences. Users can make WebVR with HTML and Entity-Component, which can be viewed on Vive, Rift, Daydream, GearVR, and desktops.
๐Ÿ†“โš’๏ธ Unity XR Interaction Toolkit package A high-level, component-based, interaction system for creating VR and AR experiences. It provides a framework that makes 3D and UI interactions available from Unity input events.
โš’๏ธ Advanced Framework Core A complete framework to develop professional VR, Mobile and Desktop applications such as games, experiences, Architectural Viz or product presentations.
๐Ÿ†“โš’๏ธ Oculus Source Distribution for Unreal Engine
๐Ÿ†“โš’๏ธ Lร–VR An open source framework for rapidly building immersive 3D experiences.
๐Ÿ†“โš’๏ธ ApertusVR

Performance and Benchmarking

General VR Performance

๐Ÿ“บ Achieving PCVR Quality on a Mobile Headset with OwlChemy Labs

Unreal Engine Performance

๐Ÿ“„ Unreal Engine Performance Guide (GPUOpen)
๐Ÿ“„ Unreal Engine 5: Testing and optimizing Your Content
๐Ÿ“„ Unreal Engine 5: XR Performance and Profiling
๐Ÿ“„ Unreal Engine 5: VR profiling Tools

Meta Quest Performance

๐Ÿ“„ Performance and Optimization
๐Ÿ“„ Art Direction for All-in-One VR Performance
๐Ÿ“„ Basic Optimization Workflow for Apps
๐Ÿ“„ Open World Games and Asset Streaming with Unity
๐Ÿ“„ Testing and Performance Analysis
๐Ÿ“„ Performance Analyzer and Metrics (Perfetto-trace)
๐Ÿ“„ Getting a Handle on Meta Quest Memory Usage
๐Ÿ“„ Showdown on Quest Part 1: How App SpaceWarp Improves Performance

Profiling Tools

A profiler tool helps developers optimize performance by providing detailed information on how an application uses the GPU and CPU to render graphics and identify performance bottlenecks.

๐Ÿ†“โš’๏ธ Oculus Debug Tool
๐Ÿ†“โš’๏ธ RenderDoc
๐Ÿ†“โš’๏ธ OVR Metrics Tools
๐Ÿ†“โš’๏ธ Android GPU Inspector (AGI) - for Android based HMDs
๐Ÿ†“โš’๏ธ ARM: Streamline Performance Analyzer
๐Ÿ†“โš’๏ธ SteamVR Frame Timing
๐Ÿ†“โš’๏ธ NVIDIA Visual Profiler
๐Ÿ†“โš’๏ธ NVIDIA Nsight Graphics
๐Ÿ†“โš’๏ธ NVIDIA VR Capture & Replay - Early Access
๐Ÿ†“โš’๏ธ NVIDIA Performance Analysis Tools
๐Ÿ†“โš’๏ธ AMD Radeon GPU Profiler
๐Ÿ†“โš’๏ธ Intelยฎ Graphics Performance Analyzers:
๐Ÿ†“โš’๏ธ Intelยฎ VTuneโ„ข Profiler
๐Ÿ†“โš’๏ธ PVRTune
โš’๏ธ Superluminal

Peformance Tools & Plugins

Link Description
๐Ÿ†“โš’๏ธ OpenVR Benchmark The first benchmark tool for reproducibly testing your real VR performance, rendering inside of your VR headset. See if your hardware performs correctly! VR headset required.
๐Ÿ†“โš’๏ธ VR Performance Toolkit Performance-oriented collection of mods for VR games.
๐Ÿ†“โš’๏ธ OpenXR Explorer An open-source tool that allows developers to explore and test OpenXR runtimes and applications.
๐Ÿ†“โš’๏ธ Quest Games Optimizer A community-based tool to improve the Quest graphics and gaming experience.
๐Ÿ†“โš’๏ธ ReShade A generic post-processing injector for games and video software.
โš’๏ธ Simplygon Perform automatic 3D optimization, based on proprietary methods for creating levels of detail through Polygon mesh reduction and other optimization techniques.
โš’๏ธ fpsVR A utility for SteamVR for keeping track of FPS, frame time and other performance metrics in the in-game overlay.
๐Ÿ†“โš’๏ธ VRToolkit: Reshade-vrtoolkit Modular shader to enhance you HMD clarity & sharpness with minimal performance impact.

Sketching, Prototyping & Design Tools

Link Description
๐Ÿ†“โš’๏ธ Gravity Sketch An intuitive 3D design platform.
โš’๏ธ XR Wireframe Kit for Gravity Sketch The XR Wireframe kit, is to be used in Gravity Sketch for the process of UX/ UI design.
โš’๏ธ Adobe Aero An way to build, view and share robust immersive storytelling experiences in mobile AR.
๐Ÿ†“ โš’๏ธ 360ยฐ Art A free 360ยฐ Art Photoshop Plugin which letโ€™s you create VR ready artworks and comics.
๐Ÿ†“ โš’๏ธ Snap AR Lens Studio An application designed for artists and developers to build augmented reality experiences for hundreds of millions of Snapchatters.
๐Ÿ†“โš’๏ธ Meta Spark AR Studio Metaโ€™s full suite of technology, tools and educational resources that enable AR content across all Meta technologies.
โš’๏ธ Byldr A no-code platform that maximizes the capability of on-device app development.
โš’๏ธ XR Thinking: XR prototyping and mockups.
๐Ÿ†“โš’๏ธ Tvori Prototyping interfaces, products, and design experiences for XR.
โš’๏ธ ShapesXR A VR creation and collaboration platform for remote teams.
โš’๏ธ Bezel A VR creation and collaboration platform for remote teams.
๐Ÿ†“โš’๏ธ Nvidia Omniverse Create XR A platform for creating and collaborating on immersive, real-time 3D experiences. It allows users to design, visualize, and simulate 3D environments and objects, and to collaborate with others in real-time.

Interesting Projects

Link Description
๐Ÿ†“โš’๏ธ VRChat A virtual reality social platform that allows users to interact with each other in virtual worlds and environments. It allows users to create and customize their own avatars, explore virtual worlds and participate in activities such as games, conversations, and events.
๐Ÿ†“โš’๏ธ LucidVR So you want to have yourself a pair of working VR Haptic Gloves?
๐Ÿ†“โš’๏ธ OpenGloves An open source, OpenVR Driver that allows for use of DIY Virtual Reality Hardware in SteamVR games.
๐Ÿ†“โš’๏ธ ALVR Air Light VR allows you to stream VR games from your PC to your headset via Wi-Fi.
๐Ÿ†“โš’๏ธ OpenXR An open standard that allows virtual reality and augmented reality applications to be developed and run on multiple different hardware platforms, such as VR headsets and AR devices. This means that developers can create VR and AR experiences that can be used on any device that supports the OpenXR standard, rather than being limited to a specific brand or model. This makes it easier for developers to create and distribute their VR and AR applications, and also allows users to access a wider variety of content on their devices.
๐Ÿ†“โš’๏ธ OpenHaptics An open-source firmware for haptic-feedback devices that are used in Virtual Reality environments. OpenHaptics is designed to be easy to use and integrate with existing VR systems, making it a valuable tool for anyone working in the field of VR. The source code for OpenHaptics is available for free on GitHub, allowing anyone to contribute to its development and improvement.
๐Ÿ†“โš’๏ธ EyeTrackVR An open source and affordable VR eye tracker platform for VRChat.
๐Ÿ†“โš’๏ธ Ethereal Engine An end-to-end framework for the web, built on popular Javascript frameworks. Scalable multiplayer infrastructure with voice, video, expressive avatars, a visual editor and portals between worlds. Build your own games and social experiences and link them together.
๐Ÿ†“โš’๏ธ Half-Life: Alyx Workshop Tools A set of software utilities available as a free download for Half-Life: Alyx that allow you to create items for inclusion in the Steam Workshop and your own custom game addons.
Relativty An open-source VR headset.
๐Ÿ“„ DIY VR Headset DIY VR HEADSET FOR THE STEREOPI. 10 MS LATENCY FOR JUST $135
๐Ÿ†“โš’๏ธ OpenHMD A Free and Open-Source API and drivers for immersive technology, such as head mounted displays with built in head tracking.
โš’๏ธ Natural Locomotion Helps to reduce motion sickness.
๐Ÿ†“โš’๏ธ Interhaptics by Razor Design your haptics effects based on your audio. Extract the haptics features and optimize them with the editing tool.

How to Contribute

  • Clone repository and create a new branch:
$ git checkout https://github.com/authorTom/ultimate-XR-dev-guide -b name_for_new_branch
  • Make changes and test
  • Submit Pull Request with description of contribution

Issues

This project is actively maintained, please raise an issue if you feel the need to.

Like what has been done? please give the repository a star โญ

My Other Projects