
Blobber VR
Blobber is a short-form Virtual Reality prototype developed over a small development window during my two-year Game Development: Programming program at Red River College Polytechnic. Designed as a carnival-style target practice and weapon gym, the project emphasizes fast-paced interaction, physics-driven weapons, and clear player feedback through UI, audio, and visual effects.
Working within a team of two artists and two programmers, I was responsible for implementing core VR interaction systems, world-space UI and menus, physics-based weapons, scoring integration, and audio systems. My work focused on making interactions feel responsive, readable, and satisfying in VR, while ensuring clean, modular communication between gameplay systems.
PRIMARY ROLES
To support intuitive VR UI interaction, I implemented custom selection and feedback logic for both player hands. Each hand independently detects valid UI targets using Widget Interaction Components, enabling context-aware visual feedback when aiming at menus.
A Niagara-based menu laser provides immediate visual confirmation of interactable UI elements, only activating when a valid target is detected. Input actions were mapped to replicate standard mouse press and release behavior, allowing VR menus to behave consistently with traditional Unreal Engine UI workflows. Sound effects and controller vibration further reinforce selection, hover, and confirmation feedback.
I designed and implemented multiple world-space UI systems for VR, including the main menu, hand menu, score display, and level-end screen. These interfaces were built using modular Widget Blueprints and deployed as Widget Components in the world, allowing them to be spawned, positioned, and interacted with naturally in VR.
Menus were spawned relative to the player’s spawn point to ensure consistent placement and readability, and were designed to support in-world interaction using VR controllers without breaking immersion.
All weapons in Blobber are fully physics-driven and designed to feel responsive and arcade-like in a VR underwater environment. To achieve this, I implemented an enhanced throwing system that samples hand movement over time and applies averaged linear and angular velocity to weapons on release.
Gravity and velocity scaling were carefully tuned per weapon to balance realism with fun, resulting in throws that feel exaggerated, readable, and intentionally stylized to match the underwater theme without sacrificing player control. This system supported a wide range of weapon behaviors while maintaining consistent interaction logic.
I implemented collision handling for weapons, projectiles, and explosions using actor tagging to differentiate between environment and enemy interactions. On impact, weapons trigger appropriate audio, visual effects, scoring updates, and respawn logic depending on the collision type.
To ensure reliability and avoid lifecycle or performance issues, weapons are temporarily disabled, hidden, and repositioned to respawn rather than being destroyed. When a weapon successfully damages an enemy, score values are applied based on enemy type and reflected immediately in the UI.
Audio played a key role in reinforcing feedback and immersion in Blobber. I implemented spatialized sound effects throughout the project using custom attenuation settings, ensuring players could localize off-screen events and enemy activity in VR. Sound selection and tuning were intentionally designed to complement the underwater theme.
I also created MetaSounds for weapon effects, such as the bubble gun, which randomly selects from multiple variations to reduce repetition. Music transitions between menus and gameplay were handled using fade-in and fade-out logic to maintain a smooth and polished flow.