From 5902e39f7b3808f0c0d1d577b26f4d0f2fd38d96 Mon Sep 17 00:00:00 2001 From: BoatFloater <111416210+BoatFloater@users.noreply.github.com> Date: Mon, 16 Feb 2026 21:26:42 +0900 Subject: [PATCH 1/2] use animator transform for PoseHandler in remote players --- .../com.basis.framework/Networking/BasisNetworkPlayer.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Basis/Packages/com.basis.framework/Networking/BasisNetworkPlayer.cs b/Basis/Packages/com.basis.framework/Networking/BasisNetworkPlayer.cs index 2c31579a1..03b7b4caa 100644 --- a/Basis/Packages/com.basis.framework/Networking/BasisNetworkPlayer.cs +++ b/Basis/Packages/com.basis.framework/Networking/BasisNetworkPlayer.cs @@ -104,7 +104,7 @@ public void AvatarLoadComplete() // All checks pas PoseHandler = new HumanPoseHandler( basisAvatar.Animator.avatar, - Player.AvatarTransform + basisAvatar.Animator.transform ); // PoseHandler.GetHumanPose(ref HumanPose); basisAvatar.LinkedPlayerID = playerId; From 8b822e7f7cca3cfdefebfb5f359f22a661b37e66 Mon Sep 17 00:00:00 2001 From: BoatFloater <111416210+BoatFloater@users.noreply.github.com> Date: Tue, 17 Feb 2026 08:00:44 +0900 Subject: [PATCH 2/2] store reference to animator transform in BasisPlayer --- .../com.basis.framework/Avatar/BasisAvatarFactory.cs | 1 + .../com.basis.framework/Networking/BasisNetworkPlayer.cs | 2 +- .../com.basis.framework/Players/Common/BasisPlayer.cs | 5 +++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Basis/Packages/com.basis.framework/Avatar/BasisAvatarFactory.cs b/Basis/Packages/com.basis.framework/Avatar/BasisAvatarFactory.cs index c846098b3..5b5b0204c 100644 --- a/Basis/Packages/com.basis.framework/Avatar/BasisAvatarFactory.cs +++ b/Basis/Packages/com.basis.framework/Avatar/BasisAvatarFactory.cs @@ -301,6 +301,7 @@ private static void SetupPlayerAvatar(BasisPlayer Player, BasisAvatar avatar, Ga Player.IsConsideredFallBackAvatar = isFallback; Player.BasisAvatar = avatar; Player.AvatarTransform = avatar.transform; + Player.AvatarAnimatorTransform = avatar.Animator.transform; Player.BasisAvatar.Renders = avatar.GetComponentsInChildren(true); Player.BasisAvatar.IsOwnedLocally = Player.IsLocal; diff --git a/Basis/Packages/com.basis.framework/Networking/BasisNetworkPlayer.cs b/Basis/Packages/com.basis.framework/Networking/BasisNetworkPlayer.cs index 03b7b4caa..6111e0166 100644 --- a/Basis/Packages/com.basis.framework/Networking/BasisNetworkPlayer.cs +++ b/Basis/Packages/com.basis.framework/Networking/BasisNetworkPlayer.cs @@ -104,7 +104,7 @@ public void AvatarLoadComplete() // All checks pas PoseHandler = new HumanPoseHandler( basisAvatar.Animator.avatar, - basisAvatar.Animator.transform + Player.AvatarAnimatorTransform ); // PoseHandler.GetHumanPose(ref HumanPose); basisAvatar.LinkedPlayerID = playerId; diff --git a/Basis/Packages/com.basis.framework/Players/Common/BasisPlayer.cs b/Basis/Packages/com.basis.framework/Players/Common/BasisPlayer.cs index cc39bf512..ad4d7f58e 100644 --- a/Basis/Packages/com.basis.framework/Players/Common/BasisPlayer.cs +++ b/Basis/Packages/com.basis.framework/Players/Common/BasisPlayer.cs @@ -64,6 +64,11 @@ public RuntimePlatform GetRuntimePlatform() /// public Transform AvatarTransform; + /// + /// Transform of the avatar's animator component + /// + public Transform AvatarAnimatorTransform; + /// /// Cached self transform for quick access. ///