VR Example
This example project demonstrates the integration of the Genies Avatar SDK with Meta's SDK. The project will be buildable to Meta Quest 3.

Key Unlocks
- Leverages Genies login flow with UI configured to work in VR.
- Features pre-configured character retargeting, set up to work especially for Genies Avatars.
- Works with hand tracking as well as controllers.
A VR-friendly avatar editor is not included in this example project. A developer should be able to adapt the Avatar Editor framework from the Genies SDK, if needed.
Link to Project
The VR Example project is available on GitHub:
https://github.com/geniesinc/genies-sdk-vr-example
Requirements
- Unity 2022.3.62f2
- Android build support installed via Unity Hub
- Git installed and accessible to Unity/UPM
- Required to fetch the Meta Movement SDK Git dependency
- Network access on first open (some packages restore from GitHub)
Packages Included
- Unity packages (remote UPM dependencies, auto-downloaded; not redistributed):
- URP (
com.unity.render-pipelines.universal) - OpenXR (
com.unity.xr.openxr) - XR Management (
com.unity.xr.management)
- URP (
- Meta XR SDKs (remote UPM dependencies, auto-downloaded; not redistributed):
- Core (
com.meta.xr.sdk.core) 83.0.1 - Interaction (
com.meta.xr.sdk.interaction.ovr) 83.0.1 - Movement (
com.meta.xr.sdk.movement, UPM Git dependency)
- Core (
- Genies Avatar SDK (vendored UPM package; redistributed):
- Core (
Packages/com.genies.avatar-sdk.client/) 1.3.1
- Core (
This repo currently only works on Genies Avatar SDK v1.3.1 so there may be issues with Unity 6 projects.
Getting Started
- Open the project in Unity 2022.3.62f2 or later.
- Wait for packages to resolve.
- If you're on a fresh clone, Unity will need to fetch
com.meta.xr.sdk.movementfrom GitHub (requires Git).
- If you're on a fresh clone, Unity will need to fetch
- If you haven't done so already, create a Genies account
- Customize an Avatar in the Avatar Starter sample scene
- Use the Bootstrap Wizard to configure the Genies Avatar SDK for an Android build.
Scenes
Assets/Scenes/Main.unity: Core scene for testing. Use the UI to login, and wait for your Genie to spawn.Assets/Scenes/StagingAndConfiguration.unity: Useful for authoring and testing Avatar retargeting.Assets/Samples/Genies Avatar SDK/1.3.1/Avatar Starter Scene/Scene/AvatarStarter.unity: Non-VR scene from the Genies SDK, Useful for creating a Genie account and customizing an Avatar.
High Level Flow
Assets/Genies VR Example/LoginCanvasVR.cs: initializes the Genies SDK and drives email-OTP login with a VR-friendly UI.Assets/Genies VR Example/LoadAndBecomeMyAvatar.cs: loads the logged-in user's Avatar.Assets/Genies VR Example/GeniesAvatarControllerVR.cs: hooks the loaded Avatar into Meta retargeting and applies VR-specific rendering tweaks (including head/face hiding).Assets/Genies VR Example/GeniesCharacterRetargeterForMeta.cs: name-based bone mapping and retarget setup for Genies Avatars.
Building to Meta Quest 3
This repo is intended to be buildable to Quest 3.
To build to Quest 3, follow the guidelines from the Meta Quest documentation: https://developers.meta.com/horizon/documentation/unity/unity-build/
Notes
- Tattoos on Avatars is not supported at the moment with VR projects.
- Some Avatar scaling and stabilization behaviors are device-only (Editor vs on-device behavior can differ).
- If VS Code search seems to "miss" Unity assets, check
.vscode/settings.jsonworkspace excludes.
Planned Features
These are planned features coming soon:
- Tattoos support.
- Update to newest version of SDK which will add Unity 6 support and more.
- Completely hiding the head geometry from VR camera to prevent clipping artifacts.
Third-party Code Redistribution
This repository does not redistribute any of the Meta XR SDK packages themselves. Core, Interaction, and Movement are remote dependencies that Unity's Package Manager will auto-download when you open the project.
The one Package Manager dependency that is redistributed is the Genies Avatar SDK package, which is directly included under Packages/com.genies.avatar-sdk.client/.
It does include and redistribute various Meta XR Samples, sourced from:
- Meta XR Core SDK
- Meta XR Interaction SDK
- Meta XR Movement SDK
Licenses
- Review the applicable third-party licenses and notices included with the Meta packages and any bundled sample content.
- The Genies Avatar SDK package also contains third-party notices under
Packages/com.genies.avatar-sdk.client/Internal/**/ThirdPartyNotices. - The Genies Avatar SDK is governed by its own EULA license agreement.