Using a material instance on a material billboard component in multiplayer causes a crash

Steps to reproduce:

  1. Create an actor that has a material billboard component
  2. Assign any material instance to the component
  3. Attempt to play as a listen server or client in the editor
  4. Observe Crash

Anyone else seeing this in 4.25? It didn’t happen in 4.24

[2020.06.08-14.00.05:215][ 62]LogThreadingWindows: Error: Runnable thread TaskGraphThreadHP 11 crashed.
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: === Critical error: ===
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: 
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: Assertion failed: IsInGameThread() || IsAsyncLoading() [File:D:/Build/++UE4+Licensee/Sync/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstance.cpp] [Line: 622] 
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: 
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: 
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: 
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: [Callstack] 0x00007ff9c7a8a799 KERNELBASE.dll!UnknownFunction []
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: [Callstack] 0x00007ff9298deb46 UE4Editor-Core.dll!UnknownFunction []
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: [Callstack] 0x00007ff9298e1f28 UE4Editor-Core.dll!UnknownFunction []
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: [Callstack] 0x00007ff92966e53d UE4Editor-Core.dll!UnknownFunction []
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: [Callstack] 0x00007ff9295f97b5 UE4Editor-Core.dll!UnknownFunction []
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: [Callstack] 0x00007ff9295fbaf0 UE4Editor-Core.dll!UnknownFunction []
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: [Callstack] 0x00007ff9271435d8 UE4Editor-Engine.dll!UnknownFunction []
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: [Callstack] 0x00007ff927145fb1 UE4Editor-Engine.dll!UnknownFunction []
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: [Callstack] 0x00007ff926b4b287 UE4Editor-Engine.dll!UnknownFunction []
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: [Callstack] 0x00007ff926b60388 UE4Editor-Engine.dll!UnknownFunction []
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: [Callstack] 0x00007ff91f0dcd36 UE4Editor-Renderer.dll!UnknownFunction []
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: [Callstack] 0x00007ff926ae3db8 UE4Editor-Engine.dll!UnknownFunction []
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: [Callstack] 0x00007ff926b2113f UE4Editor-Engine.dll!UnknownFunction []
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: [Callstack] 0x00007ff926afeb72 UE4Editor-Engine.dll!UnknownFunction []
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: [Callstack] 0x00007ff929417ad9 UE4Editor-Core.dll!UnknownFunction []
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: [Callstack] 0x00007ff929418b1d UE4Editor-Core.dll!UnknownFunction []
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: [Callstack] 0x00007ff929420eeb UE4Editor-Core.dll!UnknownFunction []
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: [Callstack] 0x00007ff92990050b UE4Editor-Core.dll!UnknownFunction []
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: [Callstack] 0x00007ff9298f7ee0 UE4Editor-Core.dll!UnknownFunction []
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: [Callstack] 0x00007ff9c9b57bd4 KERNEL32.DLL!UnknownFunction []
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: [Callstack] 0x00007ff9cab2ce51 ntdll.dll!UnknownFunction []
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: 
[2020.06.08-14.00.05:215][ 62]LogWindows: Error: Crash in runnable thread TaskGraphThreadHP 11
[2020.06.08-14.00.05:234][ 62]LogExit: Executing StaticShutdownAfterError
[2020.06.08-14.00.05:234][ 62]LogWindows: FPlatformMisc::RequestExit(1)
[2020.06.08-14.00.05:234][ 62]LogCore: Engine exit requested (reason: Win RequestExit)
[2020.06.08-14.00.05:244][ 62]Log file closed, 06/08/20 08:00:05

I am also seeing this issue, although it’s only happening in standalone play, when I run the game in PIE it works. The stack trace has only engine code, so I am having a really hard time tracking this issue down.

Assertion failed: IsInGameThread() || IsAsyncLoading() [File:D:/Build/++UE4+Licensee/Sync/Engine/Source/Runtime/Engine/Private/Materials/MaterialInstance.cpp] [Line: 622]

UE4Editor_Core!AssertFailedImplV() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:100]
UE4Editor_Core!FDebug::CheckVerifyFailedImpl() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:450]
UE4Editor_Engine!UMaterialInstance::GetMaterial() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\Engine\Private\Materials\MaterialInstance.cpp:622]
UE4Editor_Engine!UMaterialInterface::GetRelevance() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\Engine\Private\Materials\MaterialInterface.cpp:236]
UE4Editor_Engine!FMaterialSpriteSceneProxy::FMaterialSpriteSceneProxy() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\Engine\Private\Components\MaterialBillboardComponent.cpp:86]
UE4Editor_Engine!UMaterialBillboardComponent::CreateSceneProxy() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\Engine\Private\Components\MaterialBillboardComponent.cpp:296]
UE4Editor_Renderer!FScene::AddPrimitive() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\Renderer\Private\RendererScene.cpp:1291]
UE4Editor_Engine!::operator()() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\Engine\Private\Components\ActorComponent.cpp:92]
UE4Editor_Engine!ParallelForImpl::TParallelForData >::Process() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\Core\Public\Async\ParallelFor.h:169]
UE4Editor_Engine!TGraphTask > >::ExecuteTask()

[4.25.1] I got same error now. It happens only in Standalone Game.

I was able to isolate this issue in my game and reproduce it in a new project, I submitted a bug report.

I submitted a bug report with a sample project. This seems to happen if the actor loads while the engine is still initializing, if the actor loads after the engine is finished initializing then you don’t see the problem (i.e. works in PIE and single player, or if the level with the actor is loaded after the game is started) but when you launch in standalone mode or multiplayer on the level containing the actor, it crashes.

I was able to work around this on my project by assigning the base material to the billboard component, which is a reasonable temporary fix until epic fixes the engine bug.

+1 , i got same error too in 4.25.1 , hope it fix soon.

Thanks to your comment, I could work around it too.

I set the material billboard component hidden by default. And I put the Set Hidden in Game node(with unchecked obviously) at the Begin Play event.

could you give us a link to your ticket ?
are they accept this as bug ?

Still have this bug , and there is no fix for this from Epic , ue4 get more and more bug by each update .
so sad to update my project to 4.25 , i recommend to others to do not use this version , there is so many bug withouth any fix from epic …

Im also having this bug in 4.25 where an actor has a material billboard component with a material instance in one of its sprite elements.

It’s resolved for me now in 4.25.3