cancel
Showing results for 
Search instead for 
Did you mean: 

Meta Avatars SDK mostly broken?

Kendel8
Level 3

Has anybody gotten Meta Avatars working in Unity? For me it seems to be largely not working. The SDK documentation mentions creating an app ID but doesn't say anything about what to do with it; once I figured out where to enter it, and created a new project using 2020.3 (as 2021.x seems not to be supported yet?), I made limited progress, but still can't get it working correctly.

 

After installing the SDK I opened the MirrorScene scene and ran it on my Quest 2. My POV was in the center of the 1st person avatar's torso; neither the 1st person nor the 3rd person torso follow head or controller motion (they're both frozen in default pose) so when I turn my head I see my arms floating beside my head; and, after correctly entering my app ID, both avatars have the correct skin tone for the arms and the correct shirt for my avatar, but no head or lower body; I can move around (and the static 1st person avatar moves with me), but cannot rotate (using either thumbstick).

 

The NetworkLoopbackExample scene seems to run correctly, except it shows an avatar that's not mine; all other example scenes fail to give me an avatar at all, although the other avatars they load show correctly. I do have the required permissions granted in my app (as proved by the MirrorScene showing correct arms/shirt), but can't get farther than that.

 

I'm developing on Mac, so have to test by deploying to device; `adb logcat` gives me thousands of lines of logging so I may well have missed errors in the logs, but I've combed through them pretty hard so I don't think so.

 

Can anyone confirm a working implementation in Unity? And if so, did you have to do anything not detailed in the documentation besides configuring your app ID?

5 REPLIES 5

Kendel8
Level 3

After playing with `adb logcat` filters I did find some errors; given that I didn't modify anything in the MirrorScene I'm not sure why things would not be fully set up so these may be normal, and there don't seem to be any further errors after the 'user avatar successfully loaded' message that gets logged after these -- but maybe someone has seen something similar?

 

2022/01/12 01:01:03.571 29406 29430 Error Unity [ovrAvatar2] Can't access joint Head unless it is in critical joint set
2022/01/12 01:01:03.571 29406 29430 Error Unity UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
2022/01/12 01:01:03.571 29406 29430 Error Unity UnityEngine.Logger:Log(LogType, Object, Object)
2022/01/12 01:01:03.571 29406 29430 Error Unity UnityEngine.Debug:LogError(Object, Object)
2022/01/12 01:01:03.571 29406 29430 Error Unity Oculus.Avatar2.OvrAvatarLog:Log(ELogLevel, String, String, Object)
2022/01/12 01:01:03.571 29406 29430 Error Unity Oculus.Avatar2.OvrAvatarLog:LogError(String, String, Object)
2022/01/12 01:01:03.571 29406 29430 Error Unity SampleAvatarEntity:GetSkeletonTransform(ovrAvatar2JointType)
2022/01/12 01:01:03.571 29406 29430 Error Unity SampleAvatarGazeTargets:CreateGazeTarget(String, ovrAvatar2JointType, ovrAvatar2GazeTargetType)
2022/01/12 01:01:03.571 29406 29430 Error Unity <Start>d__4:MoveNext()
2022/01/12 01:01:03.571 29406 29430 Error Unity UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
2022/01/12 01:01:03.571 29406 29430 Error Unity
2022/01/12 01:01:03.571 29406 29430 Error Unity [ovrAvatar2] SampleAvatarGazeTargets: No joint transform found for HeadGazeTarget
2022/01/12 01:01:03.571 29406 29430 Error Unity UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
2022/01/12 01:01:03.571 29406 29430 Error Unity UnityEngine.Logger:Log(LogType, Object, Object)
2022/01/12 01:01:03.571 29406 29430 Error Unity UnityEngine.Debug:LogError(Object, Object)
2022/01/12 01:01:03.571 29406 29430 Error Unity Oculus.Avatar2.OvrAvatarLog:Log(ELogLevel, String, String, Object)
2022/01/12 01:01:03.571 29406 29430 Error Unity Oculus.Avatar2.OvrAvatarLog:LogError(String, String, Object)
2022/01/12 01:01:03.571 29406 29430 Error Unity SampleAvatarGazeTargets:CreateGazeTarget(String, ovrAvatar2JointType, ovrAvatar2GazeTargetType)
2022/01/12 01:01:03.571 29406 29430 Error Unity <Start>d__4:MoveNext()
2022/01/12 01:01:03.571 29406 29430 Error Unity UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
2022/01/12 01:01:03.571 29406 29430 Error Unity
2022/01/12 01:01:03.571 29406 29430 Error Unity [ovrAvatar2] Can't access joint LeftHandIndexProximal unless it is in critical joint set
2022/01/12 01:01:03.571 29406 29430 Error Unity UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
2022/01/12 01:01:03.571 29406 29430 Error Unity UnityEngine.Logger:Log(LogType, Object, Object)
2022/01/12 01:01:03.571 29406 29430 Error Unity UnityEngine.Debug:LogError(Object, Object)
2022/01/12 01:01:03.571 29406 29430 Error Unity Oculus.Avatar2.OvrAvatarLog:Log(ELogLevel, String, String, Object)
2022/01/12 01:01:03.571 29406 29430 Error Unity Oculus.Avatar2.OvrAvatarLog:LogError(String, String, Object)
2022/01/12 01:01:03.571 29406 29430 Error Unity SampleAvatarEntity:GetSkeletonTransform(ovrAvatar2JointType)
2022/01/12 01:01:03.571 29406 29430 Error Unity SampleAvatarGazeTargets:CreateGazeTarget(String, ovrAvatar2JointType, ovrAvatar2GazeTargetType)
2022/01/12 01:01:03.571 29406 29430 Error Unity <Start>d__4:MoveNext()
2022/01/12 01:01:03.571 29406 29430 Error Unity UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
2022/01/12 01:01:03.571 29406 29430 Error Unity
2022/01/12 01:01:03.571 29406 29430 Error Unity [ovrAvatar2] SampleAvatarGazeTargets: No joint transform found for LeftHandGazeTarget
2022/01/12 01:01:03.571 29406 29430 Error Unity UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
2022/01/12 01:01:03.571 29406 29430 Error Unity UnityEngine.Logger:Log(LogType, Object, Object)
2022/01/12 01:01:03.571 29406 29430 Error Unity UnityEngine.Debug:LogError(Object, Object)
2022/01/12 01:01:03.571 29406 29430 Error Unity Oculus.Avatar2.OvrAvatarLog:Log(ELogLevel, String, String, Object)
2022/01/12 01:01:03.571 29406 29430 Error Unity Oculus.Avatar2.OvrAvatarLog:LogError(String, String, Object)
2022/01/12 01:01:03.571 29406 29430 Error Unity SampleAvatarGazeTargets:CreateGazeTarget(String, ovrAvatar2JointType, ovrAvatar2GazeTargetType)
2022/01/12 01:01:03.571 29406 29430 Error Unity <Start>d__4:MoveNext()
2022/01/12 01:01:03.571 29406 29430 Error Unity UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
2022/01/12 01:01:03.571 29406 29430 Error Unity
2022/01/12 01:01:03.572 29406 29430 Error Unity [ovrAvatar2] Can't access joint RightHandIndexProximal unless it is in critical joint set
2022/01/12 01:01:03.572 29406 29430 Error Unity UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
2022/01/12 01:01:03.572 29406 29430 Error Unity UnityEngine.Logger:Log(LogType, Object, Object)
2022/01/12 01:01:03.572 29406 29430 Error Unity UnityEngine.Debug:LogError(Object, Object)
2022/01/12 01:01:03.572 29406 29430 Error Unity Oculus.Avatar2.OvrAvatarLog:Log(ELogLevel, String, String, Object)
2022/01/12 01:01:03.572 29406 29430 Error Unity Oculus.Avatar2.OvrAvatarLog:LogError(String, String, Object)
2022/01/12 01:01:03.572 29406 29430 Error Unity SampleAvatarEntity:GetSkeletonTransform(ovrAvatar2JointType)
2022/01/12 01:01:03.572 29406 29430 Error Unity SampleAvatarGazeTargets:CreateGazeTarget(String, ovrAvatar2JointType, ovrAvatar2GazeTargetType)
2022/01/12 01:01:03.572 29406 29430 Error Unity <Start>d__4:MoveNext()
2022/01/12 01:01:03.572 29406 29430 Error Unity UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
2022/01/12 01:01:03.572 29406 29430 Error Unity
2022/01/12 01:01:03.572 29406 29430 Error Unity [ovrAvatar2] SampleAvatarGazeTargets: No joint transform found for RightHandGazeTarget
2022/01/12 01:01:03.572 29406 29430 Error Unity UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
2022/01/12 01:01:03.572 29406 29430 Error Unity UnityEngine.Logger:Log(LogType, Object, Object)
2022/01/12 01:01:03.572 29406 29430 Error Unity UnityEngine.Debug:LogError(Object, Object)
2022/01/12 01:01:03.572 29406 29430 Error Unity Oculus.Avatar2.OvrAvatarLog:Log(ELogLevel, String, String, Object)
2022/01/12 01:01:03.572 29406 29430 Error Unity Oculus.Avatar2.OvrAvatarLog:LogError(String, String, Object)
2022/01/12 01:01:03.572 29406 29430 Error Unity SampleAvatarGazeTargets:CreateGazeTarget(String, ovrAvatar2JointType, ovrAvatar2GazeTargetType)
2022/01/12 01:01:03.572 29406 29430 Error Unity <Start>d__4:MoveNext()
2022/01/12 01:01:03.572 29406 29430 Error Unity UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

 

Pacificeve
Level 2

I am by no means an expert but I'm having problems too.. While the scene's do compile and "work" I've had problems with movement, OVR, reflections where the avatars head is missing but rest of bodies there.. I still can't figure out how to link controls to the SDK so I can only move around, but all I can do is move around with the left controller. I even had it to the point where the camera moves around with the left controller and the body moves around with the right 😕

Kendel8
Level 3

Playing around with the configuration of the Sample Avatar Entity scripts in MirrorScene I've seen some success, including getting an almost full mirror avatar (still missing feet) with correct textures applied and hand and body tracking working (but the 1st person avatar still wasn't tracking correctly), and getting both avatars textured and tracking correctly but with only arms and torso; some settings combos result in application crashes, some in intermittent avatar rendering -- in some cases reloading the scene produces different results on each load, too.

 

I still haven't been able to get a consistent, working result -- and this is all just testing with the provided sample scenes, I haven't even started trying to integrate any of this into an actual project 😕

Have you been able to get grabber working? When I try it auto makes the avatar fall through map on load

Pacificeve, since I haven't been able to get avatars working reliably, no, I haven't gone any further with them.