[FREE] VR Tunnelling Pro - Plug-And-Play VR Comfort

Trailer
Asset Store
Github
Website

Instantly make your Unity VR game more comfortable! VR Tunnelling Pro (VRTP) reduces sim-sickness during intense motion by reducing peripheral vision and/or replacing it with static “cage” imagery. Tunnelling has been used to great effect in VR games such as Ubisoft’s Eagle Flight and in our own zero-g 6DoF shooter Sublevel Zero Redux.

Free and Open Source
With Oculus’ support, we’ve now made VRTP free on the Asset Store and on Github here! We’re working on a range of new features and improvements, and are pleased to announce that VRTP will support Oculus Quest alongside all other major platforms from all vendors.

The Github repo includes a dev branch with the latest techniques in beta, plus improvements to the editor GUI and more. Please feel free to submit issues and pull requests on the github, or discuss further here.

Fully Customisable
Use the default settings or delve into the huge range of options and modes, including colour, cubemap, 3D cage and blur. Mask objects from the effect or create static windows and portals. Use the debug tools to fine-tune motion sensitivity. Use Force Vignette mode to take full manual control of tunnelling.

Supports ALL Major VR Platforms
VRTP runs seamlessly on Rift, Vive, PSVR, Go, GearVR, Cardboard, Daydream and now Oculus Quest out of the box, including a lightning-fast mobile version which can also be used on non-mobile when performance is tight. Single-pass stereo is supported on non-mobile platforms, with beta support on mobile.

Powerful Preset System
Create full or partial presets in-editor and apply at runtime with one line of code. Let your players choose the settings that work for them.

Full Source Code, In-Depth Documentation
Get up and running in minutes with the quickstart guide, then drill down with tutorials and the comprehensive manual. Tweak anything you want with full source code and API documentation!

Why VRTP?
Comfort is one of the biggest and most common challenges VR developers face. Sim-sickness can be the difference between a great experience and an unplayable mess, in everything from indie projects to huge budget AAA titles. Tunnelling is a powerful tool for increasing comfort in almost any VR project.

Whether first-person, third-person, vehicular or anything else, we think VR games should put a premium on comprehensive, player-customisable comfort solutions. We’ve developed VR Tunnelling Pro to expand and improve upon the acclaimed comfort options in Sublevel Zero Redux, and make it easy for anyone to reduce sim-sickness in their own projects.

Unreal Engine 4
VRTP is now also available for UE4 - see the Oculus blog post for more details.

1 Like

Update: VRTP has just launched on the Asset Store!

Nice! Would you consider adding an effect like this to the package?

If yes, count me in as a customer since it seems it will do all the tunneling effects one could possibly need!

Hi! While that’s a cool effect, we really want VRTP to have a laser-focus on comfort, and that’s more towards immersion in my mind. That said, I see no reason that effect would have any conflicts with VRTP, so they should work well together.

1 Like

Cool thanks! I bought them both :slight_smile:

Great :slight_smile: Let me know if you have any troubles using them together so I can help out.

1 Like

I’ve purchased this plugin for testing and noticed the radius of the tunneling vignette is coupled to the value of the Unity camera’s far clipping plane.

Is there a reason for this, or a workaround? For the application I’m testing on I need the clipping plane to be at at least 2000, but with that value the vignette appears to be always in view even without turning.

Oops, sorry! I’ll try to get you a workaround ASAP and then update the plugin.

Ok, here’s a workaround. You’ll have to go into VrTunnellingPro/Scripts/TunnellingBase.cs, find line 501 and insert a couple of lines afterwards.

This is the code you’re looking for:

#if !UNITY_ANDROID && !UNITY_STANDALONE_OSX
// Reverse y for D3D, PS4, XB1, Metal
var api = SystemInfo.graphicsDeviceType;
if (
api != UnityEngine.Rendering.GraphicsDeviceType.OpenGLES3 &&
api != UnityEngine.Rendering.GraphicsDeviceType.OpenGLES2 &&
api != UnityEngine.Rendering.GraphicsDeviceType.OpenGLCore &&
api != UnityEngine.Rendering.GraphicsDeviceType.Vulkan
){
_eyeProjection[0][1, 1] *= -1f;
_eyeProjection[1][1, 1] *= -1f;
}
#endif

After that, insert the following two lines:

_eyeProjection[0][3, 3] = 0.002f;
_eyeProjection[1][3, 3] = 0.002f;

That should fix the issue. I’ll patch this into the Asset Store package ASAP. Thanks for the catch!

Does it contain a locomotion controll for vr?

No - it’s designed to work well with almost any locomotion method so it doesn’t include one itself.

ah pity, I need a locomotion solution for vr… thanks

The patch is now live in the Asset Store package, so you can just update rather than use the workaround.

1 Like

Version 1.1 out! Changelog:

  • Beta support for Single Pass Stereo on Mobile
  • Fixed a skybox regression bug on Android

Can you provide any details on how the mobile version works? The documentation says “without post-processing” which is fine, but I’m wondering about what it is. Are you rendering a piece of custom geometry that only covers the area where the effect is active? I assume you would render the opaque area before the geometry to write out the z-depth, and then do the feathered area as a final blended pass?

Does the mobile version support a stereo cubemap?

Is there any plans to support single pass stereo rendering on mobile? Can you elaborate on what issues you are having with it now? Unity’s new lightweight rendering pipeline should support mobile VR shortly and I’m expecting the efficiency improvements will be very useful, but the scriptable render pipelines require single-pass stereo.

Thanks.

Really sorry for the huge delay - for some reason I didn’t receive any notification about your post.

The mobile version works exactly as you guessed. An iris mesh gets drawn before anything else to zero depth, then a secondary feathered inner iris mesh at the end of the frame.

Stereo cubemap is not yet supported but I’m looking into it at the moment.

Single pass on mobile is currently in beta - it should work in pretty much all cases. The docs are a bit behind on that, sorry!

The asset is not currently tested with LWRP, but that’s another thing I’m currently looking into.

Hope that helps, and apologies again for the huge delay.

The asset is now free, will you no longer be supporting it?

Don’t worry - it’s actually the complete opposite! I’m about to update the OP, but the gist is - we’re now working with Oculus to open source the plugin, add a raft of new features, support even more platforms and even port it to Unreal Engine 4! As the first step, the asset is now free on the store, and it’ll be on our github in about a week’s time :slight_smile:

Here’s a sneak peek at the improvements we’re making to look-and-feel, and some of the new features!

VRTP’s UI is getting a whole new look, with lots of quality-of-life tweaks to make it even easier to use in the editor.

We’re adding a whole new section of effects, based on modifying motion.

All the new settings will of course be exposed both in the API and in Presets, which are also getting some UI improvements.

We’ll have more updates for you shortly, including a date for when VRTP will be open-sourced on our Github!

How can we use this with VRTK ?