cancel
Showing results for 
Search instead for 
Did you mean: 

Oculus Avatars Crashes UE 4.24.1, How to Make it Work?

faetell
Level 3
I started a new project using the public version of UE 4.24.1 from the Epic launcher, and did a vanilla setup of the Oculus Avatar SDK per the setup documentation.

I copied the code for the LocalAvatar class pretty much verbatim from the Oculus-VR github repo. After running the project it crashes with the stack trace below, which doesn't seem to have anything to do with what I'm doing. This same setup works in 4.23.1, and if I take that working 4.23.1 project and update it to 4.24.1 I encounter the same crash.

Has anyone got the Avatar SDK working in UE 4.24.1? How can I fix this? Does it work in the sample project with the latest Oculus/UE distro built from source?

CRASH STACK TRACE:

Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Containers/Array.h] [Line: 614] Array index out of bounds: 2 from an array of size 2

UE4Editor_Core!AssertFailedImplV()
UE4Editor_Core!FDebug::CheckVerifyFailedImpl()
UE4Editor_Engine!DispatchCheckVerify<void,<lambda_360768f400fab54e29d427536ddf31f0> >()
UE4Editor_Engine!FGPUBaseSkinVertexFactory::FShaderDataType::UpdateBoneData()
UE4Editor_Engine!FSkeletalMeshObjectGPUSkin::ProcessUpdatedDynamicData()
UE4Editor_Engine!FSkeletalMeshObjectGPUSkin::UpdateDynamicData_RenderThread()
UE4Editor_Engine!<lambda_bcdfe8981c912d846fa86c038246d06d>::operator()()
UE4Editor_Engine!TGraphTask<TEnqueueUniqueRenderCommandType<`FSkeletalMeshObjectGPUSkin::Update'::`2'::SkelMeshObjectUpdateDataCommandName,<lambda_bcdfe8981c912d846fa86c038246d06d> > >::ExecuteTask()
UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread()
UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit()
UE4Editor_RenderCore!RenderingThreadMain()
UE4Editor_RenderCore!FRenderingThread::Run()
UE4Editor_Core!FRunnableThreadWin::Run() [d:\build\++ue4\sync\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp
5 REPLIES 5

yibble
Level 5
I've hit the same issue too. I found that disabling avatar components except for the hands seems to be a functioning workaround to at least allow me to continue to develop. I did this on my first pass, so it could be any of the components -- EnableExpressive, EnableBody, or EnableBase -- or a mix of them.

I.E.

// FIXME: Had to disable EnableExpressive, EnableBody, and EnableBase to get preview running.
UPROPERTY(EditAnywhere, Category = "Avatar|Capabilities")
bool EnableExpressive = false;

UPROPERTY(EditAnywhere, Category = "Avatar|Capabilities")
bool EnableBody = false;

UPROPERTY(EditAnywhere, Category = "Avatar|Capabilities")
bool EnableHands = true;

UPROPERTY(EditAnywhere, Category = "Avatar|Capabilities")
bool EnableBase = false;

UPROPERTY(EditAnywhere, Category = "Avatar")
bool UseCombinedMesh = false;


brainbug4000
Level 2
I also could not makke it to work, even not with hands only enabled. The crash goes away with above approach, but the hands still do not show up for me. Only somes distorted bones of the controller-meshes.

Any chance to get an update for 4.24 ? I can unfortunately not go back to 4.22 as I need some features of 4.24 😕


yibble
Level 5
Hi @brainbug4000,

With my above suggestions I get a distorted OG Touch controller model wrapped in avatar flesh in Unreal's VR preview, but if I package the project, all seems well with proper avatar hands.

I'm holding out for 4.25 before I release a build to my testers because 4.24.1 also has a Material Instance issue in Post Processing Components, which is affecting my vignette effect.

brainbug4000
Level 2
Hi @yibble, 

ah that is interesting. When it works in a packaged project, it can not be much, I'd think.
I am also waiting for 4.25 or a patch which would sort out the issue(s).
Fingers crossed 🙂 .

I find it a bit odd that the avatars do not work with the current unreal engine build.

Lower priorities I guess...



lee17
Level 4
Oculus Avatar works for me on 4.24.3 oc16 editor and package on Oculus Rift. However, when I cook or package it, it gave me random failures, but sometimes it can successfully finish cooking/packaging. The binary build sometimes gives crash error on exit.