Inspiration
We've always loved the "just one more run" feeling of bullet-hell survivors like Spell Brigade, but we wanted to experience that chaos in VR. The problem? Most VR games make you be the hero. We wanted to watch over the hero, like a god protecting their champion. What if you could control both at once?
What it does
Surface Breach is a VR bullet-hell survivor where you simultaneously play as a massive god entity AND the tiny Champion fighting below. Your Champion auto-attacks hordes of fantasy monsters while you guide their movement from above. But when things get overwhelming, YOU step in: reaching down with giant hands to grab weapons, crush enemies, and unleash devastating god powers.
The twist: you're not just observing. You're actively participating at two scales. Guide your Champion through zombies, imps, and liches. Level up. Choose perks. And when the swarm closes in, become the weapon yourself.
How we built it
Built in Unreal Engine 5 with a heavy focus on performance optimization for standalone VR:
- Mass Entity System: Renders 300+ animated enemies simultaneously using GPU-instanced Niagara particles with Vertex Animation Textures (VAT). No skeletal meshes per enemy. The battlefield is a living chaos engine with entities constantly spawning, attacking, dying, and respawning in different variations.
- Custom Spatial Octree: O(log N) queries for collision detection, targeting, and area effects
- Gameplay Ability System (GAS): Powers the perk system, auto-attacks, and god abilities
- Data-Driven Design: All enemies, perks, and spawn waves configured through Data Assets for rapid iteration
Challenges we ran into
- Scale perception in VR: Players expect to feel present, but we needed them to feel massive. Getting the god-perspective right (where your hands feel huge and the Champion feels tiny but still responsive) took countless iterations.
- Performance on Quest: Spawning 300+ animated enemies on standalone hardware seemed impossible. We built a custom rendering pipeline using Mass entities and Niagara with extended VAT support (animation blending, one-shot states, dynamic play rates). Every processor had to be optimized: parallel execution, game-thread safety, deferred spawning.
- Dual-scale input: Balancing controls that feel natural for both guiding a tiny Champion AND using massive god hands required constant tuning.
Accomplishments that we're proud of
- 300+ enemies on Quest 3: Hundreds of animated enemies on standalone VR hardware, all spawning, attacking, dying, and being replaced in real-time
- Dual-scale VR gameplay: Successfully making players feel like both a tiny hero AND a massive god simultaneously
- Sub-frame collision detection: Custom spatial octree handles thousands of projectile-enemy interactions without frame drops
- Data-driven everything: Designers can create new enemies, perks, and spawn waves without touching code
- The "wow moments": Dramatic spawn events where 30+ enemies burst onto screen in formations never gets old
What we learned
- Mass Entity architecture is incredibly powerful but requires thinking differently about game logic
- VR scale perception is fragile: small tweaks to hand size or camera height completely change how "godlike" you feel
- The "cozy lair vs. chaotic surface" contrast isn't just aesthetic. It gives players emotional breathing room.
What's next for Surface Breach
- Balancing and progression tuning
- More hand-related immersive abilities (grabbing, throwing, crushing)
- Hand tracking support
- Mixed reality mode
- Visual polish and VFX improvements
- Quest system with daily and weekly challenges
- Additional Champions with unique abilities
- Multiplayer co-op runs
Built With
- c++
- ecs
- gameplay-ability-system
- meta-quest
- niagara
- unreal-engine
- vertex-animation


Log in or sign up for Devpost to join the conversation.