CORPORATE PROJECT

Mulcol: VR Firestop Assembly Simulation

Room-scale VR assembly simulation with Unreal Engine and SteamVR; physics-based interaction, haptic feedback and performance optimization.

Unreal EngineC++SteamVRHTC ViveRoom-Scale VRIndustrial SimulationPhysics InteractionHaptic FeedbackPerformance OptimizationCAD IntegrationTrade Show DemoReal-Time Rendering
Mulcol VR firestop assembly simulation

ENGINEERING IMPACT

Measured scope and outcomes

Experience scale
Room-scale VR

Simulation that simulates field scenarios in physical space.

interaction model
Physics + haptic feedback

Rehearse assembly steps safely and tactfully.

Intended use
Safe training scenarios

Process trial without real field risk.

Quick Summary

  • Role: Lead Developer (feliXart studios)
  • Company/Client: Mulcol
  • Duration: September 2016 - September 2017
  • Platform/Headset: HTC Vive, room-scale VR
  • Engine: Unreal Engine 4.x (C++)
  • Highlight: Production-ready VR simulation experience for trade show demo

Timeline (2016-2017-2017)

  • 2016-09: Project start, simulation scenarios and VR prototype.
  • 2017-09: Completion of delivery and internal simulation scenarios.
  • 2017: Vakbeurs Gorinchem (Netherlands) fair demo.
  • 2017-09-30: Page publication date (pubDate).

Problems and Constraints

  • The need for safe simulation for risky assembly processes in the field.
  • Site preparation costs and risk of equipment damage.
  • High performance and low latency imperative for Room-scale VR.
  • Requirement for long-term stable operation in the fair environment.

Solution Summary

I brought the firestop assembly to the VR environment with physics-based interaction and guided workflow on Unreal Engine and SteamVR. The simulation scenarios were governed by a progression system that verified the sequential assembly of real parts.

Architecture Overview

  • SteamVR tracking pipeline: Low latency input stream for HMD + controller data.
  • Thread separation: Input thread -> game thread data transfer and update.
  • Input mapping: Action map and gesture control for trigger/grip/touchpad.
  • Locomotion: Teleport + room-scale walking combination.

Interaction Design

  • FSM: idle -> hover -> grab -> snap -> lock flow.
  • Snapping tolerances: automatic alignment based on position and rotation thresholds.
  • Haptics: different vibration patterns at grab, snap and success moments.

Performance Engineering (90 FPS / 11 ms)

  • Draw call optimization with forward rendering and instanced stereo.- Reduced GPU load with LOD, visibility and texture streaming.
  • Frame budget target: 11 ms, measurement: Unreal Insights + SteamVR frame timing.

Production Preparation for the Fair

  • Stress testing and crash recovery flows.
  • Thermal management and quality reduction strategies.
  • Short onboarding flow for first users (teleport + grab practices).

Impact/Results

  • Stable performance - 90 FPS / 11 ms frame budget - measurement: Unreal Insights + SteamVR frame timing.
  • Demo density - ~60 sessions per day - period: Vakbeurs 2017 - source: fair logs (client-reported).
  • Likes rate - 95% "very impressive" - ​​period: Vakbeurs 2017 - source: event survey (client-reported).
  • Onboarding time - shortened by 3 weeks - period: [X], baseline: traditional onboarding - source: internal onboarding KPI (client-reported).
  • Equipment damage - zero - period: [X] - source: maintenance/incident logs (client-reported).

Basic Tradeoffs

  • Teleport vs smooth locomotion: teleport-oriented design for comfort.
  • Baked lighting vs real-time: baked lighting preferences for stable FPS.
  • Realism vs performance: balance with LOD while maintaining PBR quality.

FAQ

Why were SteamVR and HTC Vive chosen?

Due to room-scale tracking and controller ecosystem.

How was 90 FPS maintained?

With forward rendering, instanced stereo, LOD and visibility optimizations.

How was the interaction flow designed?

With the FSM structure, snap and lock stages are controlled.

How was haptic feedback used?

With different vibration patterns at moments of contact, alignment and success.

How was CAD data integrated?

CAD models were optimized and imported into VR with LOD and material simplifications.

How was stability ensured in the fair environment?

With stress testing, thermal monitoring and automatic recovery flows.

Project Imprint

  • Client: Mulcol Fire Suppression Technologies
  • Developer Company: feliXart studios
  • Role: Lead Developer
  • Project Duration: September 2016 - September 2017
  • Page Date: 2017-09-30
  • Event: Vakbeurs Gorinchem 2017, Netherlands
  • Platform: HTC Vive (room-scale VR)
  • Engine: Unreal Engine 4.x -Core Language: C++
  • VR Framework: SteamVR

Related Projects

Apply similar architectural decisions to your own product — write to me.