Skip to content

Merge dev into main#134

Merged
kyrylokuzyk-m merged 2 commits intomainfrom
dev
Apr 22, 2026
Merged

Merge dev into main#134
kyrylokuzyk-m merged 2 commits intomainfrom
dev

Conversation

@kyrylokuzyk-m
Copy link
Copy Markdown
Contributor

No description provided.

martin-prazak-meta and others added 2 commits April 20, 2026 15:50
Summary:
Adds the ability to visualize the source and target reference T-poses in the skeleton debug menu, alongside the existing source/target skeleton draws.

Used to diagnose and fix the problem in D100199558.

Reviewed By: bmcnamee-meta

Differential Revision: D100222467

fbshipit-source-id: dddffbc2323e30def576d8b00ecad31f8d19200d
Summary:
## [201.0.0]

### Added
- **Tracking space support**: Movement SDK now works correctly when `OVRCameraRig.trackingSpace` has a non-identity pose. Previously, the body-tracking avatar would detach from the user's body when used with features like MRUK World Locking.
- **RootMotionMode support**: New `RootMotionMode` enum (`WorldSpace`/`LocalSpace`) in C# bindings, with root pose extraction via `GetPoseByRef` and root motion application option on `AIMotionSynthesizerSourceDataProvider`. Includes debug skeleton visualization.
- **Networked root scale**: Root scale is now serialized as part of the snapshot header, enabling correct character scale in networked sessions without manual C# setup.
- **Cross-engine config compatibility**: Added a skeleton flag and coordinate space conversion fixes so retargeting configs created in Unity work in Unreal (and vice versa). Existing configs continue to work on their original engine; new configs are cross-engine compatible.
- **Improved auto-mapping**: KnownJoint detection algorithm now correctly identifies joints on previously failing rigs (Unreal Mannequin, Avatar Gen Mas). Auto Fill is now ~1-click for ~95% of character rigs. New reverse mapping utility lets configs daisy-chain rig→rig retargeting.

### Changed
- **Minimum Unity version raised from 2022.3 to Unity 6.**
- **Joystick input improvements**: Reference forward calculation now uses `ProjectOnPlane`; removed automatic `OVRCameraRig` dependency (uses component's transform as default); direction logic considers movement direction when look input is inactive.
- **Simplified C# serialization API**: Removed unused `createSnapshot` entry point. All C# serialization calls now use struct-based APIs.

### Fixed
- **Retargeter no longer overwrites eye bone transforms**: `CharacterRetargeter` now skips joints that have no mapping in the source body-tracking skeleton, allowing components like `OVREyeGaze` to control eyes without being clobbered each frame.
- **`AnimatorHorizontalParam` fix** (resolves [Unity-Movement#133](#133)).
- **Memory leaks** caused by undisposed `Allocator.TempJob` allocations in `GetTrackerPosesAndIndices` and `SkeletonUtilities.GetPosesFromTheTracker`, plus a leak of `TargetReferencePoseLocal` (`Allocator.Persistent`) in `SkeletonRetargeter.Dispose`.
- **`RootMotionMode` enum order restored** so Unity serialized values and dropdown entries match prior behavior.
- **Unmapped joints with zero-length parents** no longer flicker/oscillate in debug draw; falls back to scale 1.0.

Reviewed By: TudorJude

Differential Revision: D101766127

fbshipit-source-id: 42e08260590435bbfe75bcdf242bd34f7d073828
@meta-cla meta-cla Bot added the cla signed label Apr 22, 2026
@kyrylokuzyk-m kyrylokuzyk-m merged commit e0d639f into main Apr 22, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants