So big day for us today – not only did we launch this shiny new web site, but we also have released the beta version (v. BETA-0.8) of our new VR Simulator.

What is the VR Simulator?

The VR Simulator started its life as a useful little utility we built to make developing the Immerseum SDK a little easierbut following conversations with many VR devs, we’ve decided to release it as its own editor extension for Unity.

Its purpose is to make developing virtual reality scenes easier when you don’t have (or feel like hooking up) a VR headset. As the name suggests, it simulates a VR experience for you by:

  • Adjusting your scene’s camera position to simulate what it would look like if an HMD were controlling the camera,
  • Moving and rotating your camera in response to keyboard, mouse, gamepad, etc. input to simulate walking and looking through an HMD,
  • Simulating position-tracked controllers (even if they’re not hooked up or currently being tracked) in your scene,
  • Moving your simulated position-tracked controllers to simulate hand movement in your scene.

That’s the the heart of it. However, the VR Simulator‘s real strength is its easy configurability and the ability to flexibly simulate your VR experience.  Using the Unity Editor, you can adjust the VR experience you’re simulating in a variety of ways:

  • Automatically detect headsets and controllers. The VR Simulator automatically detects the headset you’re using (and differentiates between SteamVR/Vive and Oculus Rift) and which inputs are currently connected to your development machine. Then, it only starts simulating if simulation is necessary: If you’re connected to an HMD, you’ll get the “real” experience and if not, you’ll get the simulation.
  • Simulate different head heights.  Out of the box, the VR Simulator can simulate a Seated,Standing, or Custom head height to let you playtest seated, standing, and room-scale VR experiences.
  • Simulate controllers using primitives or prefabs. Position-tracked controllers can either be simulated using configurable Unity primitives (spheres, cubes, etc.) or using any prefab. If your VR experience uses a custom controller model, you can use the same model in your simulations.
  • Configure simulated controllers’ starting positions.  You can set one or both of your simulated controllers to any position you’d care to. Using default presets, you can put them at the player’s (simulated) waist, at desk-level, reaching forward, or in a classic boxer’s pose (put up your dukes!).
  • Move simulated controllers independently of each other. Using simple scripting (seriously – it’s one method call!) you can move each controller to one of the position presets or to any set of coordinates you want.
  • Test controller interaction with your scene.  You can configure your simulated controllers the same way you would configure your standard controller models. That way, you can attach rigidbodies and colliders to them and test their interactions with the rest of your VR scene.
  • Capture player input using events.  Easily test your existing interaction logic by subscribing to one of the VR Simulator’s events – when the player pulls a trigger, have your scene do whatever it would normally do.
  • Easy C# scripting.  The VR Simulator provides an easy-to-work with C# scripting API that lets you build on, integrate with, or react to anything that happens in the VR Simulator.

Along with the actual VR Simulator itself, we’ve also released a comprehensive set of documentation – including a PDF user manual and extensive online reference materials.

For now, the  VR Simulator is being offered free of charge. As we come out of our beta test period, we will be making the  VR Simulator available in the Unity Asset Store and plan to charge for it as well. Please take the time to read more about the  VR Simulator:

vr-simulator-400x400