Inspiration
SkyBound Arena was born from a desire to merge two distinct adrenaline rushes: the high-speed, anti-gravity racing of titles like F-Zero and Wipeout, with the aerial combat freedom found in anime like Attack on Titan. We wanted to answer the question: "What if you could drift a hoverboard at 200mph through a neon metropolis while casting fireballs at your friends in VR?"
Our goal was to create a comfortable yet intense VR experience that moves beyond simple cockpit shooters, giving players full control over both their vehicle and their elemental magic.
What it does
SkyBound Arena is a multiplayer VR aerial combat racer. Players pilot high-speed anti-gravity decks through a procedurally generated cyberpunk city.
- Physics-Based Flight: Players must manage momentum, drifting around skyscrapers and boosting through gaps.
- Elemental Combat: The core mechanic involves switching between three elemental attunements on the fly:
- Fire: Explosive projectiles for heavy damage.
- Ice: High-velocity precision shots.
- Wind: Rapid-fire suppression.
- Survival: Players must manage Fuel and Health, scavenging resources while dodging enemy fire and environmental hazards.
How we built it
The project was built using Unity 6 and Photon Fusion (Shared Mode) to handle the complex networking requirements of high-speed VR.
- Networking: We utilized Fusion's
[Networked]properties to sync Fuel, Health, and Ammo states instantly across clients. We implemented client-side prediction to ensure that vehicle movement remains buttery smooth even with latency. - Animation System: To solve the challenge of a player sitting on a vehicle while aiming freely, we used Avatar Masking System. This splits the animation logic: the
Base Layerhandles the legs/vehicle posture, while theUpper Body Layerresponds to hand-tracking input for casting spells. - VR Optimization: We avoided screen-space UI entirely, building a fully diegetic World-Space Dashboard using curved canvases and 3D icons that float physically on the vehicle.
Challenges we ran into
- The "Self-Hit" Raycast: Early in development, our projectiles kept exploding inside the player's own shield because the raycast origin was slightly behind the vehicle collider. We solved this by implementing
LayerMasksto ignore the local player and adding a vector dot-product check to force projectiles forward if the math went sideways. - Animation Conflicts: We struggled with the Unity Animator overriding our attack animations with the "Idle" sitting state every frame. We solved this by implementing a "Brain Script" pattern, where a single central script manages the state machine and blocks movement logic for $0.5s$ whenever an attack trigger is received.
- Quest Performance: Rendering a dense city on mobile hardware was taxing. We optimized this by using simple geometry with ASTC-compressed textures and aggressive culling distances.
Accomplishments that we're proud of
- Seamless Multiplayer: Achieving lag-free synchronization of fast-moving projectiles and vehicles on a standalone headset.
- The "Feel" of Flight: Tuning the physics
Rigidbodydrag and angular drag to make the hoverboard feel weighty yet responsive without inducing motion sickness. - Visual Clarity: Creating a HUD that is readable in VR without obstructing the player's view of the city.
What we learned
- Network Authority: We learned the hard way that only the
StateAuthorityshould modify variables like Health or Fuel to prevent cheating and desync. - VR UX Design: We learned that 2D text is almost unreadable in fast-paced VR. We shifted our design to use color-coded bars and scaling icons, allowing players to read their status via peripheral vision.
What's next for SkyBound Arena
We plan to expand this prototype into a full competitive e-sport title. Our roadmap includes:
- Team Modes: 3v3 "Capture the Flag" and "Payload Escort" modes.
- Proximity Voice Chat: Allowing teams to strategize (or taunt opponents) based on their physical distance in the game world.
- New Elements: Introducing Earth (Shielding) and Lightning (Stun) magic types.
- Ranked Matchmaking: A persistent leaderboard system.
Built With
- c#
- il2cpp
- metaxrcoresdk
- openxr
- photonfusion
- unity6
- universalrenderpipeline

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