Crash when adding Groom to Blueprint

Hi!
I am looking to find a solution to a frequent crash that is plaguing my project in UE5.
I narrowed it down to an issue with Groom.

note: since I couldn’t find a Groom topic section in the forum I decided to post this question in general. please feel free to redirect me to the appropriate section of the forum if I missed it.

So the crash happens very consistently in 2 ways: when adding a groom binding asset to a blueprint, and while playing in the editor if I look away from the character with the groom and then look back at them.

The character blueprint has 2 grooms, one for the hair (which has more curves and more children) and one for the beard. They both attach through two different binding assets to the SK_Head.

Surprisingly the Hair groom works just fine and it never gave me any problems. But when I tried to add the beard it instantly crashes.

The crash report clearly indicates that my GPU hitches before crashing the engine.

CRASH REPORT:
Fatal error: [File:D:/build/++UE5/Sync/Engine/Source/Runtime/Windows/D3D11RHI/Private/D3D11Util.cpp] [Line: 179] Unreal Engine is exiting due to D3D device being lost. (Error: 0x887A0006 - ‘HUNG’)

UnrealEditor_D3D11RHI
UnrealEditor_D3D11RHI
UnrealEditor_D3D11RHI
UnrealEditor_D3D11RHI
UnrealEditor_D3D11RHI
UnrealEditor_RHI
UnrealEditor
UnrealEditor
UnrealEditor_Core
UnrealEditor_Core
UnrealEditor_Core
UnrealEditor_RenderCore
UnrealEditor_RenderCore
UnrealEditor_Core
UnrealEditor_Core
kernel32
ntdll

LOG:

[2021.10.06-20.20.44:388][  0]LogStall: Startup...
[2021.10.06-20.20.44:390][  0]LogStall: Startup complete.
[2021.10.06-20.20.44:399][  0]LogNativeClassHierarchy: Verbose: Native class hierarchy updated for 'HierarchicalLODOutliner' in 0.0002 seconds. Added 0 classes and 0 folders.
[2021.10.06-20.20.44:401][  0]LogLoad: (Engine Initialization) Total time: 9.60 seconds
[2021.10.06-20.20.44:401][  0]LogLoad: (Engine Initialization) Total Blueprint compile time: 0.00 seconds
[2021.10.06-20.20.44:509][  0]LogAssetRegistry: Asset discovery search completed in 7.1389 seconds
[2021.10.06-20.20.44:510][  0]LogCollectionManager: Fixed up redirectors for 0 collections in 0.000004 seconds (updated 0 objects)
[2021.10.06-20.20.44:511][  0]LogContentStreaming: Texture pool size now 1000 MB
[2021.10.06-20.20.47:452][161]LogSlate: Window 'Project Settings' being destroyed
[2021.10.06-20.20.47:457][161]LogSlate: Window 'Project Settings' being destroyed
[2021.10.06-20.21.09:537][733]LogAssetEditorSubsystem: Opening Asset editor for Blueprint /Game/Blueprints/Test_for_rpg/BP_EV_Customizable.BP_EV_Customizable
[2021.10.06-20.21.09:737][733]LogNativeClassHierarchy: Verbose: Native class hierarchy updated for 'BlueprintGraph' in 0.0004 seconds. Added 127 classes and 0 folders.
[2021.10.06-20.21.10:368][733]LogStaticMesh: StaticMesh /Engine/EditorMeshes/PhAT_FloorBox.PhAT_FloorBox should be resaved to improve async compilation performance.
[2021.10.06-20.21.10:418][733]LogBlueprintUserMessages: [Humanoid_AnimBlueprint_C_0] Humanoid AnimBlueprint: Could not find BP RPG Character
[2021.10.06-20.21.10:425][733]LogSlate: Took 0.000167 seconds to synchronously load lazily loaded font '../../../Engine/Content/Slate/Fonts/Roboto-BoldCondensed.ttf' (158K)
[2021.10.06-20.21.13:906][883]LogSlate: Warning: Unable to rasterize '../../../Engine/Content/Editor/Slate/Starship/AssetIcons/CharacterMovementComponent_16.svg'. File could not be found
[2021.10.06-20.21.34:808][694]LogSlate: Took 0.000125 seconds to synchronously load lazily loaded font '../../../Engine/Content/Slate/Fonts/Roboto-Light.ttf' (167K)
[2021.10.06-20.21.39:057][ 89]LogActorComponent: UnregisterComponent: (/Game/StarterContent/Maps/Minimal_Default.Minimal_Default:PersistentLevel.BP_EV_Customizable_C_2.Hair.NiagaraComponent_0) Not registered. Aborting.
[2021.10.06-20.21.39:060][ 89]LogActorComponent: UnregisterComponent: (/Engine/Transient.World_1:PersistentLevel.BP_EV_Customizable_C_0.Hair.NiagaraComponent_0) Not registered. Aborting.
[2021.10.06-20.21.39:126][ 89]LogActorComponent: UnregisterComponent: (/Engine/Transient.World_1:PersistentLevel.BP_EV_Customizable_C_0.Hair.NiagaraComponent_1) Not registered. Aborting.
[2021.10.06-20.23.30:605][566]LogActorComponent: UnregisterComponent: (/Game/StarterContent/Maps/Minimal_Default.Minimal_Default:PersistentLevel.BP_EV_Customizable_C_2.Hair.NiagaraComponent_0) Not registered. Aborting.
[2021.10.06-20.23.30:608][566]LogActorComponent: UnregisterComponent: (/Game/StarterContent/Maps/Minimal_Default.Minimal_Default:PersistentLevel.BP_EV_Customizable_C_2.Hair.NiagaraComponent_0) Not registered. Aborting.
[2021.10.06-20.23.30:611][566]LogActorComponent: UnregisterComponent: (/Engine/Transient.World_1:PersistentLevel.BP_EV_Customizable_C_0.Hair.NiagaraComponent_0) Not registered. Aborting.
[2021.10.06-20.23.30:684][566]LogActorComponent: UnregisterComponent: (/Engine/Transient.World_1:PersistentLevel.BP_EV_Customizable_C_0.Hair.NiagaraComponent_1) Not registered. Aborting.
[2021.10.06-20.23.35:715][569]LogD3D11RHI: GetQueryData is taking a very long time (5.0 s) (887a0006)
[2021.10.06-20.23.35:715][569]LogD3D11RHI: Error: Result failed with error DXGI_ERROR_DEVICE_REMOVED DXGI_ERROR_DEVICE_HUNG
 at D:/build/++UE5/Sync/Engine/Source/Runtime/Windows/D3D11RHI/Private/D3D11Query.cpp:356
[2021.10.06-20.23.35:715][569]LogD3D11RHI: [Aftermath] GDynamicRHI=0000045EFA820000, GDX11NVAfterMathEnabled=0, Result=0xFFFFFFFF, bDeviceActive=0
[2021.10.06-20.23.35:715][569]LogWindows: Windows GetLastError: The operation completed successfully. (0)

And this is the Crash Log when this happens during Gameplay

[2021.10.06-21.26.08:532][185]LogD3D11RHI: Timed out while waiting for GPU to catch up. (0.5 s) (ErrorCode 00000001) (00000000)
[2021.10.06-21.26.09:032][185]LogD3D11RHI: Timed out while waiting for GPU to catch up. (0.5 s) (ErrorCode 00000001) (00000000)
[2021.10.06-21.26.09:532][185]LogD3D11RHI: Timed out while waiting for GPU to catch up. (0.5 s) (ErrorCode 00000001) (00000000)
[2021.10.06-21.26.10:032][185]LogD3D11RHI: Timed out while waiting for GPU to catch up. (0.5 s) (ErrorCode 00000001) (00000000)
[2021.10.06-21.26.10:533][185]LogD3D11RHI: Timed out while waiting for GPU to catch up. (0.5 s) (ErrorCode 00000001) (00000000)
[2021.10.06-21.26.11:032][185]LogD3D11RHI: Timed out while waiting for GPU to catch up. (0.5 s) (ErrorCode 00000001) (00000000)
[2021.10.06-21.26.11:531][185]LogD3D11RHI: Timed out while waiting for GPU to catch up. (0.5 s) (ErrorCode 00000001) (00000000)
[2021.10.06-21.26.12:032][185]LogD3D11RHI: Timed out while waiting for GPU to catch up. (0.5 s) (ErrorCode 00000001) (00000000)
[2021.10.06-21.26.12:532][185]LogD3D11RHI: Timed out while waiting for GPU to catch up. (0.5 s) (ErrorCode 00000001) (00000000)
[2021.10.06-21.26.13:034][185]LogD3D11RHI: Timed out while waiting for GPU to catch up. (0.5 s) (ErrorCode 00000001) (887a0006)
[2021.10.06-21.26.13:034][185]LogD3D11RHI: Error: Direct3DDevice->CreateBuffer(&Desc, pInitData, BufferResource.GetInitReference()) failed with error DXGI_ERROR_DEVICE_REMOVED DXGI_ERROR_DEVICE_HUNG
 at D:/build/++UE5/Sync/Engine/Source/Runtime/Windows/D3D11RHI/Private/D3D11Buffer.cpp:103
[2021.10.06-21.26.13:034][185]LogD3D11RHI: [Aftermath] GDynamicRHI=000005791D020000, GDX11NVAfterMathEnabled=0, Result=0xFFFFFFFF, bDeviceActive=0
[2021.10.06-21.26.13:034][185]LogWindows: Windows GetLastError: The operation completed successfully. (0)

Hope you guys can help me understand what is going on.
If anything needs clarification, please feel free to point it out! :slight_smile:

Thank you!

P.S.
my machine’s stats, before you ask:
Intel(R) Core™ i9-9900K CPU @ 3.60GHz 3.60 GHz
32.0 GB (31.8 GB usable)
image

The problem is the 2 grooms.
Belive it or not, the system has been ■■■■ and is still ■■■■ to date.
It does not support having 2 grooms within the same blueprint.

Yet. They have the courage to call the system “ready” for release…

1 Like

Hello @MostHost_LA ! That’s good to know. I did not know that at all lol!

So I should just make a single groom for hair and beard huh… but then what if I wanna make a cape with fur?.. hehe. I guess they are still working on it.

I noticed that if I take off the hair and then put the beard, although it allows me to do it, it crashes when I start the game.

Another thing, surprisingly enough, until yesterday I was able to run both grooms on the blueprint. But since this morning it stopped working altogether.
The only thing I did inbetween was to add the Ultra Dynamic Sky from the marketplace into the project. I thought that’s what broke it. So I made a new project and migrated my blueprint alone. The crashes didn’t stop.

I really don’t understand why it changed suddenly …
but if it’s just an engine bug, then I will just work around it.

Thank you @MostHost_LA .

Should I send a bug report for this?

hi!
I think I figured out what was wrong.
was able to put both grooms on the character.
exibit A
image
Ron Swanson would be proud.

So the problem seems to have been in the way I was building the beards. I am making my hair in Blender, and for the beards I made heavy use of the Vertex Groups to handle the children attributes. Somewhere in the export or import, this was messing up Unreal I think.

image

Once I deleted those vertex groups from the particle system, I was able to bind the mustache to the character right away, as well as run the game without a crash for 10 minutes. I didn’t try any longer since I came to write this post asap.

I am gonna test this out with all my other beards, and then probably post again with the results.

Hope this can help some other developer out there!!

Hopefully some of these kinks will be cleaned out the alembic import. It’s sad to lose work and detail because of it…

Cheers! :slight_smile:

May still cause crashes.
It has on and off since always.

As a general rule of thumb if you can consistently reproduce an issue you should file a bug report - but realistically they have been ignoring those for over a year, so it makes no difference anyway.

Re having multiple grooms for fur.
It would depend. A cape can probably be socketed as a child actor maybe.
As a child actor it should be able to hold its own groom.

I would still suggest sticking to hair cards. They are far more reliable even if more painful to setup and create…

1 Like

I will deifinitely will look into a workflow that involves cards :slight_smile:

Hello!
This is for whomever may come here later and might have had this issue:

When Switching hair in real time (Currently bugged) during gameplay, the hair won’t bind if it has physics.

To fix this, in the groom asset, go to Interpolation>Hair Interpolation> activate RBG Interpolation and Hair Interpolation Type = Smooth Transform

Just something I wrestled with, figured out, and wanted to share.

4 Likes