Project Overview: Cyberpunk Buenos Aires VR
Cyberpunk Buenos Aires VR is a fast-paced VR racing game created for a university expo under a strict two-week deadline.
Players control Krammer, a reckless biker racing through a cyberpunk version of Buenos Aires.
The aesthetic draws from Akira and the explosive race dynamics of Split/Second.
You steer with your head and shoot with your hands while navigating high-speed tracks and avoiding enemies.
Technical Architecture
Modular Framework
The game is built on a custom scripting framework developed over three months, designed so every behavior is a decoupled, reusable module.
State Machines
- The core logic runs on a reusable State Machine component.
- Each machine manages a serialized list of states:
OnIdleStateOnRacingStateOnDeathState
- Each state exists as a child GameObject and contains all its own logic.
Modular Logic Example
Inside OnRacingState, an AI racer may use:
RigidbodyFollowTransform— movementRigidbodyRotateTowardsTransform— steeringAudioSourcePlaySound— sound effects
Each is an independent module activated only by the current state.
Performance & Centralized Updates
CentralUpdater
To keep VR performance high, the architecture avoids using Unity’s scattered Update() calls.
A single CentralUpdater runs the game loop.
Update Listeners
Modules needing per-frame logic use:
- UpdateListener component
IECallableOnUpdateinterface
They subscribe to the central loop only when their state is active.
ScriptableObject Integration
ScriptableObjects are used to manage:
- Input
- Object Pooling
- Racer Data (names, positions, laps)
This keeps everything efficient and Inspector-friendly.
Summary
The project delivers a high-speed VR racing experience built on a clean, scalable, and modular architecture, optimized for performance and rapid iteration.


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