Skip to content

About

VR Submarine EngineRoom — an Unreal Engine 5.8 PC VR maintenance prototype for a VR development course.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

Repository files navigation

VR Submarine EngineRoom

A PC VR maintenance game built in Unreal Engine for a VR development course. Keep an industrial submarine's engine running while managing fuel, coolant, pressure, and leaking pipes until you reach your destination.

Download the Windows build

Industrial submarine engine and control panel

The game

The player works inside the engine room, maintaining physical machinery with their VR controllers. Starting the engine begins the journey; low fuel or pressure slows progress, and neglecting maintenance can stop the engine.

  • Move the engine lever between STOP and RUN.
  • Pour the matching cans into the fuel and coolant tanks. Low coolant increases fuel consumption. Cans are unlimited and return to their stations when released.
  • Turn the wheel to restore pressure. Unrepaired leaks allow more pipes to leak, increasing pressure loss.
  • Snap the wrench onto a leaking pipe's bolt and complete five wrench strokes to repair it.
  • Reach the destination to finish the journey.

Choose 250 m, 500 m, or 750 m journeys and Easy, Medium, or Hard difficulty. Movement and turning can be changed independently in the pause menu during a journey.

Play

Requires 64-bit Windows, a PC VR headset with controllers, and its configured OpenXR runtime. A Quest 3 needs a PC VR connection; this download is not a standalone Quest application.

  1. Download Submarine_Windows.zip from Releases.
  2. Extract the complete folder and run EngineRoomVR.exe.
  3. Select journey length and difficulty, then Start Journey.
Control Default behaviour
Right stick Aim a teleport; release to travel
Left stick Snap-turn 45 degrees
Controller grab Hold and use the tools and controls
Controller menu Resume, movement mode, turning mode, restart, and quit

Choose Movement / Smooth for continuous walking or Turning / Smooth for continuous turning. Both default to the template's teleport/snap controls on a fresh launch. Restart returns to journey setup and remembers the control choices during the current application session.

Implementation

This prototype focuses on VR interaction and a readable Blueprint game loop.

  • Game rules: BP_GameLoop manages resources, engine state, journey distance, and accumulating leaks. Interaction actors report pouring, wheel turns, and repairs.
  • Physical interactions: tools have defined grip positions and return locations; the wrench follows a constrained repair motion when attached to a bolt.
  • VR foundation: Unreal's XR template provides the player, hands, grabbing, teleportation, and the basis of the menus. Optional smooth movement uses the existing navigation area; both turn modes reuse the template's rotation calculation.
  • Tuning: difficulty data assets expose consumption and leak values. Journey length, difficulty, and movement preferences are handled by the existing menus.
  • Feedback: visible tank levels, pouring effects, audio, and an arrival screen communicate the state of the machinery and journey.

Open the project

Clone or download this repository, open EngineRoomVR.uproject with Unreal Engine 5.8.2, and use VR Preview with a connected headset. The main level is /Game/Submarine/Levels/L_Submarine.

Folder Purpose
Content/Submarine Current level, gameplay Blueprints, UI, meshes, materials, audio, and settings
Content/XRFramework and template dependencies Player, hands, input, and interaction foundation
Content/LegacyVersions Earlier project versions retained for reference
Config Unreal project configuration
docs Gameplay details, tuning notes, and a development screenshot

About

VR Submarine EngineRoom — an Unreal Engine 5.8 PC VR maintenance prototype for a VR development course.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors