RANGE

Overview

Range is a VR shooter prototype I built independently as a concept project. The core question driving it was: how do you design a weapon system where creating a new gun type requires zero programming? The answer shaped everything else in the project.

Gun assets were sourced from the Unreal Marketplace and heavily modified for VR use. Everything else was designed and built from scratch. The project targets SteamVR and Meta Quest and was configured for standalone Meta Quest APK export, though the primary release is on PCVR.

Project Details

Platform: SteamVR, Meta Quest (standalone APK configured)

Engine: Unreal Engine

Tech: Blueprint Visual Scripting

Role: Solo Designer & Developer

Status: Prototype available on itch.io

The Weapon Framework

The problem with most weapon implementations is that adding a new gun means duplicating code or touching shared systems. I wanted to eliminate that entirely. The master weapon class exposes everything meaningful as editable Blueprint variables, mesh, audio cues, damage value, fire rate, magazine size, bullet spread, and visual effects. Creating a new weapon means creating a child class, overriding only what differs, and it just works. No duplicated logic, no code changes.

Four weapon types demonstrate the system: pistol, shotgun, rifle, and sniper. Each has its own feel, sound, and behaviour, all derived from the same base.

The framework is entirely Blueprint. As a concept project the priority was proving the design pattern and iterating quickly.

VR Interactions

Getting weapon handling to feel right in VR is harder than it looks. Details that are invisible on a flat screen become immediately obvious in a headset. Everything needs more precision than expected.

Physical grab detection means you reach for the gun rather than pressing a button. Two-hand grip supports a secondary hold point so you can stabilise aim with both hands. Manual magazine reload is a physical action too, where you eject the magazine, retrieve a new one, and insert it rather than pressing a button to trigger an animation. Each weapon type has its own haptic intensity and duration on shoot. The sniper and the shotgun should not feel the same.

The Practice Range

Without a meaningful context to test weapons in, the framework would just be a tech demo. The practice range gives players a reason to pick up each weapon type and play with it. Static and moving targets across a range of sizes, a timer-based session, and persisted personal bests across sessions.

What I Learned

Range confirmed how much VR weapon feel depends on things that seem minor until they are off. The two-hand grip and manual reload both required multiple iterations before they felt natural. The weapon framework validated the Blueprint inheritance approach for rapid prototyping. Going from the master class to a working new weapon type took minutes, which is exactly what it was designed to do.

Gameplay Video