cancel
Showing results for 
Search instead for 
Did you mean: 

Meta Avatars SDK (Feedback/Issues)

mouse_bear
Retired Support

Do you have any feedback and/or issues in regards to the Meta Avatars SDK? Use this place to discuss, as we'll have members of the engineering team reviewing this thread!

 

Read the blog on the Meta Avatars SDK here: https://developer.oculus.com/blog/meta-avatars-sdk-now-available/

 

Refer to the Meta Avatars SDK documentation here: https://developer.oculus.com/documentation/unity/meta-avatars-overview/

108 REPLIES 108

Yes, we make reference to the preset Avatars here:
 https://developer.oculus.com/documentation/unity/meta-avatars-load-avatars/

 

These presets are not necessary but are available for devs to load from the filesystem for use for NPCs or to give users on non-Oculus platforms choices for their Avatar. 

You do need the Oculus Platform installed on your Windows machine if you are attempting to run any samples that pull a custom avatar from the CDN. But you also need to make sure you have configured your Oculus app to enable Avatars. Please see these docs:

https://developer.oculus.com/documentation/unity/meta-avatars-app-config/

StefaSic
Explorer

Hi, I have another question regarding the new avatars. The blog post mentioned "You can override any of the body positioning and facial expression data provided in order to fine-tune the appearance of Avatars in your applications"; however, I haven't been able to find anything related to this in the documentation.

I may have figured out body positioning, but I'm not completely sure. Pretty much what I'm attempting is manually setting the values of the OvrAvatarInputTrackingState object that gets passed into the SampleInputTrackingDelegate's GetRawInputTrackingState method. Not sure if this is the correct way of going about this though. I also have custom hand poses working but I'm assuming the two are unrelated.


As for overriding facial expressions, I haven't figured that out yet. Currently digging into whether OvrAvatarLipSyncState can be used similarly.

Has anyone got these working with the new meta avatars?

Edit: After looking again, I found some info related to this in the OvrAvatarEntity page in the documentation. Still find it a little on the vague side but at least I have a place to start.

Any word on when realtime spot and point of light will be supported with Meta Avatars?

minjun.ha
Explorer

Hello.

I'm going to use Meta Avatar to support Steam and Oculus Cross Platform. Do you happen to know the license notice or support that should be displayed to use Meta Avatar on Steam?

Thank you.

ahgames
Protege

Hi, I just updated Meta Avatars unity package from 9.1 to latest 12.0. It works great on Quest2 but on Quest1 I get the following exceptions. I am using Unity 2020.3.32 with Vulkan and Universal Render Pipeline (URP).

Spoiler
Texture creation failed. 'R16G16B16A16_UNorm' is not supported for Render usage on this platform. Use 'SystemInfo.IsFormatSupported' C# API to check format support.
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object, Object)
UnityEngine.Debug:LogError(Object, Object)
UnityEngine.Texture:ValidateFormat(GraphicsFormat, FormatUsage)
UnityEngine.RenderTexture:.ctor(Int32, Int32, Int32, GraphicsFormat, Int32)
Oculus.Skinning.GpuSkinning.OvrGpuSkinnerBase`1:.ctor(String, Int32, Int32, GraphicsFormat, FilterMode, Int32, OvrExpandableTextureArray, Shader)
Oculus.Skinning.GpuSkinning.OvrGpuSkinnerJointsOnly:.ctor(Int32, Int32, GraphicsFormat, FilterMode, Int32, OvrExpandableTextureArray, OvrExpandableTextureArray, SkinningQuality, Shader)
Oculus.Skinning.GpuSkinning.OvrAvatarGpuSkinnedRenderableBase:AddGpuSkinningObjects(OvrAvatarPrimitive)
Oculus.Skinning.GpuSkinning.OvrAvatarGpuSkinnedRenderableBase:ApplyMeshPrimitive(OvrAvatarPrimitive)
Oculus.Avatar2.Ov
[ovrAvatar2 OvrAvatarGpuSkinnedRenderable] Exception applying primitive (Oculus.Avatar2.OvrAvatarPrimitive) - System.NullReferenceException: Object reference not set to an instance of an object.
at UnityEngine.Object.set_name (System.String value) [0x00000] in <00000000000000000000000000000000>:0
at Oculus.Skinning.GpuSkinning.OvrGpuSkinnerBase`1[TDrawCallType]..ctor (System.String name, System.Int32 width, System.Int32 height, UnityEngine.Experimental.Rendering.GraphicsFormat texFormat, UnityEngine.FilterMode texFilterMode, System.Int32 depthTexelsPerSlice, Oculus.Skinning.GpuSkinning.OvrExpandableTextureArray neutralPoseTexture, UnityEngine.Shader skinningShader) [0x00000] in <00000000000000000000000000000000>:0
at Oculus.Skinning.GpuSkinning.OvrGpuSkinnerJointsOnly..ctor (System.Int32 width, System.Int32 height, UnityEngine.Experimental.Rendering.GraphicsFormat texFormat, UnityEngine.FilterMode texFilterMode, System.Int32 depthTexelsPerSlice, Oculus.Skinning.GpuSkinning.OvrExpandableTextureArray n
Texture creation failed. 'R16G16B16A16_UNorm' is not supported for Render usage on this platform. Use 'SystemInfo.IsFormatSupported' C# API to check format support.
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object, Object)
UnityEngine.Debug:LogError(Object, Object)
UnityEngine.Texture:ValidateFormat(GraphicsFormat, FormatUsage)
UnityEngine.RenderTexture:.ctor(Int32, Int32, Int32, GraphicsFormat, Int32)
Oculus.Skinning.GpuSkinning.OvrGpuSkinnerBase`1:.ctor(String, Int32, Int32, GraphicsFormat, FilterMode, Int32, OvrExpandableTextureArray, Shader)
Oculus.Skinning.GpuSkinning.OvrGpuSkinnerJointsOnly:.ctor(Int32, Int32, GraphicsFormat, FilterMode, Int32, OvrExpandableTextureArray, OvrExpandableTextureArray, SkinningQuality, Shader)
Oculus.Skinning.GpuSkinning.OvrAvatarGpuSkinnedRenderableBase:AddGpuSkinningObjects(OvrAvatarPrimitive)
Oculus.Skinning.GpuSkinning.OvrAvatarGpuSkinnedRenderableBase:ApplyMeshPrimitive(OvrAvatarPrimitive)
Oculus.Avatar2.Ov
[ovrAvatar2 OvrAvatarGpuSkinnedRenderable] Exception applying primitive (Oculus.Avatar2.OvrAvatarPrimitive) - System.NullReferenceException: Object reference not set to an instance of an object.
at UnityEngine.Object.set_name (System.String value) [0x00000] in <00000000000000000000000000000000>:0
at Oculus.Skinning.GpuSkinning.OvrGpuSkinnerBase`1[TDrawCallType]..ctor (System.String name, System.Int32 width, System.Int32 height, UnityEngine.Experimental.Rendering.GraphicsFormat texFormat, UnityEngine.FilterMode texFilterMode, System.Int32 depthTexelsPerSlice, Oculus.Skinning.GpuSkinning.OvrExpandableTextureArray neutralPoseTexture, UnityEngine.Shader skinningShader) [0x00000] in <00000000000000000000000000000000>:0
at Oculus.Skinning.GpuSkinning.OvrGpuSkinnerJointsOnly..ctor (System.Int32 width, System.Int32 height, UnityEngine.Experimental.Rendering.GraphicsFormat texFormat, UnityEngine.FilterMode texFilterMode, System.Int32 depthTexelsPerSlice, Oculus.Skinning.GpuSkinning.OvrExpandableTextureArray n
Texture creation failed. 'R16G16B16A16_UNorm' is not supported for Render usage on this platform. Use 'SystemInfo.IsFormatSupported' C# API to check format support.
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object, Object)
UnityEngine.Debug:LogError(Object, Object)
UnityEngine.Texture:ValidateFormat(GraphicsFormat, FormatUsage)
UnityEngine.RenderTexture:.ctor(Int32, Int32, Int32, GraphicsFormat, Int32)
Oculus.Skinning.GpuSkinning.OvrGpuSkinnerBase`1:.ctor(String, Int32, Int32, GraphicsFormat, FilterMode, Int32, OvrExpandableTextureArray, Shader)
Oculus.Skinning.GpuSkinning.OvrGpuSkinnerJointsOnly:.ctor(Int32, Int32, GraphicsFormat, FilterMode, Int32, OvrExpandableTextureArray, OvrExpandableTextureArray, SkinningQuality, Shader)
Oculus.Skinning.GpuSkinning.OvrAvatarGpuSkinnedRenderableBase:AddGpuSkinningObjects(OvrAvatarPrimitive)
Oculus.Skinning.GpuSkinning.OvrAvatarGpuSkinnedRenderableBase:ApplyMeshPrimitive(OvrAvatarPrimitive)
Oculus.Avatar2.Ov
[ovrAvatar2 OvrAvatarGpuSkinnedRenderable] Exception applying primitive (Oculus.Avatar2.OvrAvatarPrimitive) - System.NullReferenceException: Object reference not set to an instance of an object.
at UnityEngine.Object.set_name (System.String value) [0x00000] in <00000000000000000000000000000000>:0
at Oculus.Skinning.GpuSkinning.OvrGpuSkinnerBase`1[TDrawCallType]..ctor (System.String name, System.Int32 width, System.Int32 height, UnityEngine.Experimental.Rendering.GraphicsFormat texFormat, UnityEngine.FilterMode texFilterMode, System.Int32 depthTexelsPerSlice, Oculus.Skinning.GpuSkinning.OvrExpandableTextureArray neutralPoseTexture, UnityEngine.Shader skinningShader) [0x00000] in <00000000000000000000000000000000>:0
at Oculus.Skinning.GpuSkinning.OvrGpuSkinnerJointsOnly..ctor (System.Int32 width, System.Int32 height, UnityEngine.Experimental.Rendering.GraphicsFormat texFormat, UnityEngine.FilterMode texFilterMode, System.Int32 depthTexelsPerSlice, Oculus.Skinning.GpuSkinning.OvrExpandableTextureArray n
Unknown packet type (20) received
241004 [info ] {PERF}: cpu load cur=0.31 min=0.04 max=0.36 avg=0.21
Texture creation failed. 'R16G16B16A16_UNorm' is not supported for Render usage on this platform. Use 'SystemInfo.IsFormatSupported' C# API to check format support.
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object, Object)
UnityEngine.Debug:LogError(Object, Object)
UnityEngine.Texture:ValidateFormat(GraphicsFormat, FormatUsage)
UnityEngine.RenderTexture:.ctor(Int32, Int32, Int32, GraphicsFormat, Int32)
Oculus.Skinning.GpuSkinning.OvrGpuSkinnerBase`1:.ctor(String, Int32, Int32, GraphicsFormat, FilterMode, Int32, OvrExpandableTextureArray, Shader)
Oculus.Skinning.GpuSkinning.OvrGpuSkinnerJointsOnly:.ctor(Int32, Int32, GraphicsFormat, FilterMode, Int32, OvrExpandableTextureArray, OvrExpandableTextureArray, SkinningQuality, Shader)
Oculus.Skinning.GpuSkinning.OvrAvatarGpuSkinnedRenderableBase:AddGpuSkinningObjects(OvrAvatarPrimitive)
Oculus.Skinning.GpuSkinning.OvrAvatarGpuSkinnedRenderableBase:ApplyMeshPrimitive(OvrAvatarPrimitive)
Oculus.Avatar2.Ov
[ovrAvatar2 OvrAvatarGpuSkinnedRenderable] Exception applying primitive (Oculus.Avatar2.OvrAvatarPrimitive) - System.NullReferenceException: Object reference not set to an instance of an object.
at UnityEngine.Object.set_name (System.String value) [0x00000] in <00000000000000000000000000000000>:0
at Oculus.Skinning.GpuSkinning.OvrGpuSkinnerBase`1[TDrawCallType]..ctor (System.String name, System.Int32 width, System.Int32 height, UnityEngine.Experimental.Rendering.GraphicsFormat texFormat, UnityEngine.FilterMode texFilterMode, System.Int32 depthTexelsPerSlice, Oculus.Skinning.GpuSkinning.OvrExpandableTextureArray neutralPoseTexture, UnityEngine.Shader skinningShader) [0x00000] in <00000000000000000000000000000000>:0
at Oculus.Skinning.GpuSkinning.OvrGpuSkinnerJointsOnly..ctor (System.Int32 width, System.Int32 height, UnityEngine.Experimental.Rendering.GraphicsFormat texFormat, UnityEngine.FilterMode texFilterMode, System.Int32 depthTexelsPerSlice, Oculus.Skinning.GpuSkinning.OvrExpandableTextureArray n
Texture creation failed. 'R16G16B16A16_UNorm' is not supported for Render usage on this platform. Use 'SystemInfo.IsFormatSupported' C# API to check format support.
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object, Object)
UnityEngine.Debug:LogError(Object, Object)
UnityEngine.Texture:ValidateFormat(GraphicsFormat, FormatUsage)
UnityEngine.RenderTexture:.ctor(Int32, Int32, Int32, GraphicsFormat, Int32)
Oculus.Skinning.GpuSkinning.OvrGpuSkinnerBase`1:.ctor(String, Int32, Int32, GraphicsFormat, FilterMode, Int32, OvrExpandableTextureArray, Shader)
Oculus.Skinning.GpuSkinning.OvrGpuSkinnerJointsOnly:.ctor(Int32, Int32, GraphicsFormat, FilterMode, Int32, OvrExpandableTextureArray, OvrExpandableTextureArray, SkinningQuality, Shader)
Oculus.Skinning.GpuSkinning.OvrAvatarGpuSkinnedRenderableBase:AddGpuSkinningObjects(OvrAvatarPrimitive)
Oculus.Skinning.GpuSkinning.OvrAvatarGpuSkinnedRenderableBase:ApplyMeshPrimitive(OvrAvatarPrimitive)
Oculus.Avatar2.Ov
[ovrAvatar2 OvrAvatarGpuSkinnedRenderable] Exception applying primitive (Oculus.Avatar2.OvrAvatarPrimitive) - System.NullReferenceException: Object reference not set to an instance of an object.
at UnityEngine.Object.set_name (System.String value) [0x00000] in <00000000000000000000000000000000>:0
at Oculus.Skinning.GpuSkinning.OvrGpuSkinnerBase`1[TDrawCallType]..ctor (System.String name, System.Int32 width, System.Int32 height, UnityEngine.Experimental.Rendering.GraphicsFormat texFormat, UnityEngine.FilterMode texFilterMode, System.Int32 depthTexelsPerSlice, Oculus.Skinning.GpuSkinning.OvrExpandableTextureArray neutralPoseTexture, UnityEngine.Shader skinningShader) [0x00000] in <00000000000000000000000000000000>:0
at Oculus.Skinning.GpuSkinning.OvrGpuSkinnerJointsOnly..ctor (System.Int32 width, System.Int32 height, UnityEngine.Experimental.Rendering.GraphicsFormat texFormat, UnityEngine.FilterMode texFilterMode, System.Int32 depthTexelsPerSlice, Oculus.Skinning.GpuSkinning.OvrExpandableTextureArray n
[ovrAvatar2 entity] [2] OnUserAvatarLoaded
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object, Object)
UnityEngine.Debug:Log(Object, Object)
Oculus.Avatar2.OvrAvatarLog:Log(ELogLevel, String, String, Object)
Oculus.Avatar2.OvrAvatarLog:LogInfo(String, String, Object)
Oculus.Avatar2.OvrAvatarEntity:InvokeOnUserAvatarLoaded()
Oculus.Avatar2.OvrAvatarEntity:CheckLoadedAssets()
Oculus.Avatar2.<LoadAsync_Finalize_Internal>d__277:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

 

 

 

any help appreciated, thanks!
/anders.

ahgames
Protege

also, using latest Meta Avatars 12 on some machines Unity cannot build giving error

Plugins: Failed to load 'Assets/Oculus/Avatar2/Plugins/Win64/libovrbody.dll' with error 'A dynamic link library (DLL) initialization routine failed.

Same. Did you ever figure this out?

Hi, any updates on this @mouse_bear ? This forum seems to be mostly for questions answered by other users, but since you state in the thread post "we'll have members of the engineering team reviewing this thread" I would appreciate some kind of update if any engineer has picked up on the reported issue.

kind regards,

Anders.

Hi, any updates on this @mouse_bear ? 

kind regards,

Anders.