- XR + Simulation
- Prototype
Birdwatching VR
A Unity VR prototype: explore a low-poly forest, photograph birds and fill a star-rated field guide. On our three-person student team I built the main systems: camera capture, bird detection, photo scoring, field-guide progress, backpack tools, comfort settings and the builds.
- My role
- Camera capture, bird detection and scoring, field-guide progress, backpack tools, comfort settings and builds
- Team
- Three-person student team with Felix Chughtai and Talulla Allen
- Built with
- Unity 6, C#, URP, XR Interaction Toolkit, OpenXR, XR Hands
- Status
- Playable prototype with PCVR support and Quest standalone build work; shown at an IGDA Baltimore showcase
Jump to a section
Camera to field guide
The core loop: take a photo, the game identifies and scores the bird, and the physical book in your hand updates.
- Hold the camera; it renders a live preview.
- Pull the trigger to save the view as a PNG.
- Rays find the most visible bird in frame.
- Framing, visibility, distance and fill become a 1–4 star score.
- Species progress is saved to disk.
- The field guide in your hand updates with the photo, name and stars.
What I built
VR camera capture
Held camera with live preview, trigger capture, zoom, shutter feedback, saved PNGs and preview repair.Bird detection and scoring
Camera rays identify the bird, then score framing, visibility, distance and fill into a 1–4 star rating.Bingo field guide
In-hand book with page turning, saved photos, species names, lock states, and best and latest stars.Backpack tools
Camera, book and feeding stick stowed on the body: shoulder retrieval, stow anchors, haptics, outlines and a right-shoulder camera summon.Feeding stick
A held perch that attracts one bird, holds it briefly, then releases it before a cooldown.Comfort settings
In-headset menu for movement, turning, vignette, credits and FPS, applied live. Controllers first, with a hand-tracking fallback.
What's in the current build, and the stack
Implemented slice
- Seven species: Robin, Blue Jay, Cardinal, Chickadee, Sparrow, Gold Finch and Crow.
- Nine bingo-book slots, including variants where the source art supports them.
- Saved photo and progress data, with migration for older saves.
- Low-poly forest with baked lighting, wind shaders, outlines and in-game credits.
- Still rough: bird materials and shaders, and some backpack and camera alignment.
Stack
- Unity 6000.3.10f1, C#, Universal Render Pipeline 17.3.0.
- XR Interaction Toolkit 3.3.1, OpenXR 1.16.1, XR Hands 1.7.3, Oculus XR 4.5.2.
- Dynamic Photo Camera Mini, adapted into a VR-held camera with live preview and PNG capture.
- PCVR/OpenXR, with Android/Quest output through IL2CPP and OpenGL ES 3.2.
Playtests and showcase
We demoed Birdwatching VR at the IGDA® Baltimore showcase at the University of Baltimore, alongside other student projects. It tested onboarding, controls and comfort: did people know what to do without us hovering?
Earlier tests were less graceful. If birds looked grabbable, people tried to grab them, or bonk them with the book. We tightened the grab flags so the game reads as observation, not bird harassment.
Dev logs and documents
Short PDFs I wrote during the semester as the camera, field guide, backpack and comfort work came together.
- Dev log 04: camera and field guide (PDF)
- Dev log 05: controllers, hands, comfort (PDF)
- Dev log 06: backpack prototype (PDF)
- Dev log 08: summon and polish (PDF)