[WPI Logo]
Human Interaction in Virtual Environments Lab
Department of Computer Science
Worcester Polytechnic Institute

uiva_logoUnity Indie VRPN Adapter (UIVA)

Participants: Jia Wang, Robert W. Lindeman

UIVA (Unity Indie VRPN Adapter) is a socket based middleware to adapt VRPN to the Indie version of the Unity3D game engine. It consists of a server side and a client side. The client side is a DLL file that resides in the Unity3D game engine and exposes some data polling functions to the C# scripts that employ it. The server side contains a VRPN client to talk to the VRPN server to get the current sensor data, and use it to respond to the requests from the client side.

UIVA is open source under the same license of VRPN.It is free to use and distribute for research and noncommercial purposes (for commercial uses, please contact us directly). If you use UIVA to support your research project, please acknowledge this software in your publication resulting from it (a tech report with the performance analysis of UIVA will be posted here soon for you to refer to).

The preliminary version of UIVA is currently available for Windows only. I appologize to Linux and Mac users. However, thanks to VRPN, UIVA_Server should be able to talk to devices which connect to their Linux hosts, though I haven't tested it yet. Because Unity3D only supports Windows and Mac, there seems to be little need to implement UIVA in Linux. Some may consider running UIVA_Server on a different Linux machine, and this could be realized with a few changes to the code.

Download UIVA (Unity Indie VRPN Adapter) 1.02

UIVA Documentation

The following flow chart explains the basic concept as well as the data circulation in one game frame.


The following devices are supported in UIVA currently in version 1.02:

+ Microsoft Kinect
+ Nintendo WiiMote
+ Nintendo Wii Fit balance board
+ Wireless-T BPack accelerometer
+ General mouse
+ SpacePoint Fusion sensor (version 1.01)
+ PhaseSpace optical motion capture system (version 1.02)

Adding supports to other VRPN enabled devices is very easy. The UIVA documentation shows it in very detail. We welcome and appreciate well written codes to expand UIVA to support more devices. Please email your code to wangjia@wpi.edu with a readme file, and we will review it and try to add it to the next version.

Copyright - All Rights Reserved.

We thank the following companies for their support:
[qnx] [ati]
[nvidia] [ageia]