Showing results for 
Search instead for 
Did you mean: 

Avatars SDK - Native DLL and new Unity integration

Level 7
The first drop of the native avatar SDK is now available!

This is the first time we’re sharing this DLL externally, so any feedback is much appreciated, and please let us know if you run into any issues so that we can work to resolve them.

Please note that this is not yet ready for redistribution and is covered under our existing NDA’s

What’s implemented?

All of the core functionality necessary to retrieve and render avatars is present:

  • Initialization
  • Avatar message processing
  • Avatar retrieval for specific users (it will fall back to the default avatar for now until we can roll out the avatar editor to developers)
  • Avatar animation
  • Avatar asset loading (meshes and textures)
  • Avatar render state retrieval

Still to come

The following features are either not implemented or partially implemented:

  • Enabling controller visibility will update hand poses but will not currently cause controller render parts to get added. (The Unity package renders controllers separately)
  • Gesture overrides are not yet implemented.
  • The avatar base cone is not yet implemented (including the custom base poses and highlight colors).
  • Semantic information about hands (grip volume sizes, point vectors, etc.) are not yet implemented.
  • Packet recording/playback is not yet implemented (Unity users can still take advantage of the Unity stub implementation for now).

To Be Finalized

  • The avatar material definition is still undergoing some changes (to add support for physically based materials and some animation features needed for voice visualization).
  • New render part types may still be added (currently everything is a skinned mesh render part).

Contained in the zip file

In the zip file, you’ll find:


  • libovravatar.dll

*IMPORTANT* - these DLLs are for development only, and will be removed from future releases, and should not be distributed with your applications. In the shipping version of the avatar SDK, these will be distributed with the oculus platform so that we can patch in enhancements and new content without requiring you to patch your applications. For now, we’re distributing these directly to you so that you can be working with the latest code. 

Please add this DLL directory to your %PATH% environment variable in order for the DLL to be accessible.


  • OVR_Avatar.h

This is the definition of the native SDK interface. We are working on doxygen-based documentation for the header, as well as a comprehensive Getting Started guide, which will both be included in a future release, but for now the best documentation on the API’s usage is the provided native sample, described below.


  • Dependencies\
  • Mirror\
  • ReferenceShaders\
  • CMakeLists.txt
  • generate_projects.cmd

This directory contains the files necessary to compile and run the native sample.

  • The Dependencies\ directory contains external dependencies the samples need to run (such as OVR and the Oculus Platform).
  • The Mirror\ directory contains Mirror.cpp, which is a simple “mirror” app that shows your first-person view and a “reflected” instance of your avatar. It is implemented for OpenGL and shows how to handle avatar messages, updating, and rendering.
  • ReferenceShaders\ contains a reference implementation for rendering avatar materials using glsl.
  • generate_projects.cmd is a batch file that will generate Visual Studio 2013 x64 project files from CMakeLists.txt (if you’re using a different version of Visual Studio, you will need to make changes to each file). You will need a recent version of cmake installed and accessible on the system’s PATH in order to run this script. Once the script is run, the Visual Studio 2013 solution file can be found in the newly-created VS2013\ subdirectory


  • OvrAvatar.unityPackage 

This directory contains the Unity integration of the native avatar SDK. It implements the same interfaces exposed through our earlier standalone Unity packages and should be a drop-in replacement.


  • libovravatar.lib 

This directory contains the Windows-specific libraries you will need to compile the Avatar SDK into your Windows applications. Link libovravatar.lib into your applications in order to use the functions exposed through OVR_Avatar.h.