This section describes several common issues and solutions that affect projects that use the Vicon VR for Unity plugin.

For further help or guidance using the plugin with your projects, contact Vicon Support.

On this page:

Trouble building projects

Unity projects that use the Vicon VR for Unity plugin can only be built as Windows 64-bit applications.

To set your Unity project to build as a 64-bit application, go to Edit > Build Settings and ensure the Architecture drop-down is set to Intel 64-bit (rather than Intel 32-bit).

Character meshes being culled from certain angles

When you use full-body characters with VR, Unity may automatically cull the mesh from certain angles.

To fix this, go to the Inspector, locate the Skinned Mesh Renderer component, and select Update When Offscreen.

This option is resource-intensive, so do not use it for more than one character.

Latency issues

Are you using Tracker?

Tracker is suitable for capturing full datasets, but to accommodate these datasets, it uses port 801 for the datastream. For a lower latency option, try Evoke or Shogun, both of which are designed to work with the low latency port 804.

Is the WiFi connection unreliable?

There are 2 main solutions to counteract the effects of an unreliable WiFi connection.

If possible, set up a multi-route connection in your project. This connects two servers to create redundancy in the network. The client can then use whichever frame arrives first from either connection.

Multi-route connection is useful for latency-critical applications such as VR. It is the recommended solution for very busy WiFi environments or when routers/access points experience interference. It ensures a robust and low latency stream of Vicon data to the client application.

See the documentation on multi-route connection.

If you can't set up mult-route connection in your project, you can also improve latency issues by selecting Use Pre Fetch in your ViconDataStreamClient component.

See the documentation on using Pre Fetch in the ViconDataStreamClient Script documentation.

Are you using an outdated version of Evoke?

By default, the Vicon Datastream Client uses Lightweight Segment Data to reduce latency (if it is available on the server). This is reported in the Console window.

If you are using a version of Evoke earlier than 1.1, the server doesn't support Lightweight Segment Data, and automatically uses non Lightweight Segment Data, which results in a significant increase in latency.

To resolve this, update your set-up to use Evoke version 1.1 or later.