Unity-Movement  by oculus-samples

Expressive VR avatars driven by real-time user tracking

Created 3 years ago
385 stars

Top 73.9% on SourcePulse

GitHubView on GitHub
Project Summary

This Unity package provides code samples for integrating Body, Eye, and Face Tracking (BT, ET, FT) into VR experiences using OpenXR's tracking layer APIs. It enables developers to create highly expressive custom avatars by mapping user movements and expressions into virtual environments, targeting Unity developers building immersive VR applications.

How It Works

The package leverages OpenXR's tracking layer APIs to expose raw tracking data for body, eye, and facial movements. This data is then processed and mapped onto custom avatars within Unity. The core advantage lies in its direct use of these advanced tracking capabilities to achieve nuanced and expressive avatar animations, enhancing user presence and immersion in VR.

Quick Start & Requirements

  • Requirements: Unity 6000.0.66f2 or newer, Meta XR SDK v81.0 or newer (including Meta XR Core SDK and Meta XR Interaction SDK). A project must be pre-configured following specific setup steps.
  • Installation: Add the package via Package Manager using the Git URL: https://github.com/oculus-samples/Unity-Movement.git. Specific versions can be appended with #. Sample scenes require separate import via Package Manager.
  • Setup: Requires OVRCameraRig, enabling tracking features (Body, Face, Eye) in OVRManager, setting Tracking Origin Type to "Floor Level", and configuring "Body Tracking Fidelity" to "High" and "Body Tracking Joint Set" to "Full Body". Specific layers (10, 11, HiddenMesh) are necessary for RecalculateNormals. Project Setup Tool can validate settings.
  • Rendering: Recommended URP settings include 4 bones for Skin Weights, 2x/4x MSAA, Full resolution textures, specific shadow configurations (3m distance, cascades), and at least one pixel light.
  • Build: Imported sample scenes must be added to Build Settings.

Highlighted Details

  • AI Coding Agents: Integrated with Meta Horizon VS Code/Cursor extension, hzdb MCP server, and Meta Quest skill set for AI-assisted development. A full toolchain is available at https://github.com/meta-quest/agentic-tools.
  • OpenXR Tracking: Utilizes OpenXR's tracking layer APIs for robust Body, Eye, and Face Tracking.
  • Expressive Avatars: Focuses on enabling dynamic, user-driven avatar expressiveness in VR.

Maintenance & Community

No specific community links (Discord, Slack) or roadmap details were found in the provided text.

Licensing & Compatibility

  • License: Primarily governed by the Oculus License. The MIT License applies only to specific, marked documents. If a file lacks explicit licensing, the Oculus License prevails.
  • Compatibility: No explicit notes on commercial use or closed-source linking were provided.

Limitations & Caveats

  • Requires specific versions of Unity and the Meta XR SDK.
  • Setup involves detailed configuration steps within the Unity editor.
  • The Oculus License may impose usage restrictions.
Health Check
Last Commit

3 weeks ago

Responsiveness

Inactive

Pull Requests (30d)
2
Issues (30d)
1
Star History
2 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.