GPULightmass Crashing due to Invalid Geometry?

Hi Everyone, I’m currently trying to build Lighting with GPULightmass. I’ve built lighting before without an issue but just recently however I have been trying to build on levels and I get an error I have listed below with the crash report below. Here is a link to the issue within my engine as well. It seems when going into the CPP file for the lightmass error it gives me, this is due to invalid geometry. Is there a way to check for meshes or components with invalid geometry so I can fix this or any sort of fix for this? I have a Ryzen 9 3900x with a 3080 12gb. I have lowered light map settings, removed certain components, and more and this seems to be across levels with strictly static meshes imported from the UE marketplace. If anyone has any fix for this it would be much appreciated. I am also aware the map in the video does not require lighting to be built but this is across multiple and many levels with meshes that have invalid geometry. I have also allowed the engine to update the lightmaps if it ask and this proplem persist even when it updates. lmk if you have any further questions, Thank you.

What my IDE informs me:
Log LogGPULightmass LightmapTilePool created with 1095.94MB
Log LogGPULightmass Irradiance cache initialized with 448.00MB
Log LogTemp Static lighting system is created for world Lvl0.
Warning LightingResults No importance volume found and the scene is so large that the automatically synthesized volume will not yield good results. Please add a tightly bounding lightmass importance volume to optimize your scene’s quality and lighting build times.
Display LogMaterial Material /Game/Textures/KillBoxFog.KillBoxFog needed to have new flag set bUsedWithStaticLighting !
Error LogWindows appError called: Assertion failed: InstanceDesc.GeometryRHI [File:D:\build++UE5\Sync\Engine\Source\Runtime\Renderer\Private\RayTracing\RayTracingInstanceBufferUtil.cpp] [Line: 74]
Error LogWindows Ray tracing instance must have a valid geometry.

Crash Report:
Assertion failed: InstanceDesc.GeometryRHI [File:D:\build++UE5\Sync\Engine\Source\Runtime\Renderer\Private\RayTracing\RayTracingInstanceBufferUtil.cpp] [Line: 74] Ray tracing instance must have a valid geometry.

UnrealEditor_GPULightmass!GPULightmass::FSceneRenderState::SetupRayTracingScene() [D:\build++UE5\Sync\Engine\Plugins\Experimental\GPULightmass\Source\GPULightmass\Private\LightmapRenderer.cpp:1120]
UnrealEditor_GPULightmass!GPULightmass::FPointLightRenderState::RenderStaticShadowDepthMap() [D:\build++UE5\Sync\Engine\Plugins\Experimental\GPULightmass\Source\GPULightmass\Private\Scene\Lights.cpp:609]
UnrealEditor_GPULightmass!GPULightmass::FScene::AddLight<UPointLightComponent>'::2’::<lambda_2>::operator()() [D:\build++UE5\Sync\Engine\Plugins\Experimental\GPULightmass\Source\GPULightmass\Private\Scene\Scene.cpp:459]
UnrealEditor_GPULightmass!TEnqueueUniqueRenderCommandType<GPULightmass::FScene::AddLight<UPointLightComponent>'::2’::RenderThreadUpdateName,GPULightmass::FScene::AddLight<UPointLightComponent>'::2’::<lambda_2> >::DoTask() [D:\build++UE5\Sync\Engine\Source\Runtime\RenderCore\Public\RenderingThread.h:209]
UnrealEditor_GPULightmass!TGraphTask<TEnqueueUniqueRenderCommandType<GPULightmass::FScene::AddLight<UPointLightComponent>'::2’::RenderThreadUpdateName,GPULightmass::FScene::AddLight<UPointLightComponent>'::2’::<lambda_2> > >::ExecuteTask() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:1265]
UnrealEditor_Core!FNamedTaskThread::ProcessTasksNamedThread() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:758]
UnrealEditor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:649]
UnrealEditor_RenderCore!RenderingThreadMain() [D:\build++UE5\Sync\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:411]
UnrealEditor_RenderCore!FRenderingThread::Run() [D:\build++UE5\Sync\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:537]
UnrealEditor_Core!FRunnableThreadWin::Run() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:149]

1 Like

hi @Shinjuku007 ,
Scroll down in

Lightmass Basics In Unreal Engine | Unreal Engine 5.4 Documentation | Epic Developer Community (epicgames.com)

You need the Lighting important volume to select an area for GPULightmass to render.
Currently to are attempting to render the whole Scene . Using Several LIV each will be processed
WTF Is? Volume - Lightmass Importance in Unreal Engine 4 (youtube.com)

Read the original
Gpu Lightmass Global Illumination In Unreal Engine | Unreal Engine 5.4 Documentation | Epic Developer Community (epicgames.com)

Read the new
Download the ‘Lighting in Unreal Engine 5 for Educators and Students’ guide

The Epic GPULightmass forum
Epic’s GPUlightmass - Development / Rendering - Epic Developer Community Forums (unrealengine.com)

and
Luoshuang’s GPULightmass - Development / Rendering - Epic Developer Community Forums (unrealengine.com)

Thank you, While I dont have time to read all of the links provided now since I have to go to work soon, I will read them later and get back to you as to what fixes this crash.

Hello, i’m currently having the same problem where the GPU Lightmass crash after trying to build on a small level that has only 1 pointlight and a mesh, here is the error message:

Fatal error: [File:D:\build++UE5\Sync\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp] [Line: 863]
Rendering thread exception:
Assertion failed: GeometrySegmentIndex == RayTracingMeshCommand.GeometrySegmentIndex [File:D:\build++UE5\Sync\Engine\Plugins\Experimental\GPULightmass\Source\GPULightmass\Private\Scene\Scene.h] [Line: 50]

0x00007ff934a1f03c UnrealEditor-GPULightmass.dll!UnknownFunction
0x00007ff950d25d3f UnrealEditor-Renderer.dll!UnknownFunction
0x00007ff950d7fb1b UnrealEditor-Renderer.dll!UnknownFunction
0x00007ff9510224e8 UnrealEditor-Renderer.dll!UnknownFunction
0x00007ff950fc6415 UnrealEditor-Renderer.dll!UnknownFunction
0x00007ff934a46fa6 UnrealEditor-GPULightmass.dll!UnknownFunction
0x00007ff934a47da2 UnrealEditor-GPULightmass.dll!UnknownFunction
0x00007ff934a39dc1 UnrealEditor-GPULightmass.dll!UnknownFunction
0x00007ff934a9b0c1 UnrealEditor-GPULightmass.dll!UnknownFunction
0x00007ff972cec2f5 UnrealEditor-RenderCore.dll!UnknownFunction
0x00007ff972d19fff UnrealEditor-RenderCore.dll!UnknownFunction
0x00007ff96fe22722 UnrealEditor-Core.dll!UnknownFunction
0x00007ff96fe17d4a UnrealEditor-Core.dll!UnknownFunction
0x00007ff96fe181ee UnrealEditor-Core.dll!UnknownFunction
0x00007ff972d4894c UnrealEditor-RenderCore.dll!UnknownFunction
0x00007ff972d4d9e4 UnrealEditor-RenderCore.dll!UnknownFunction
0x00007ff97044c0ad UnrealEditor-Core.dll!UnknownFunction
0x00007ff9704435cf UnrealEditor-Core.dll!UnknownFunction
0x00007ffa6515e8d7 KERNEL32.DLL!UnknownFunction

Is there a particular way to fix it? Or a github repos of the plugin where I can manually download it for the version for Unreal 5.5.4?

Hey Noobil,

The fix for this is setting a lightmass boundary within the level. This worked for me.

Go to your quick to add to project on the tool bar (Cube icon with a plus to th right of selection mode). Then go to volumes and import a LightmassImportanceVolume. From here, dial it into your needed area in which the level expands. This will prevent the crashing our should.

This crash has been plaguing GPULM for a really long time and it requires multiple code paths to be changed to be properly fixed. For 5.6.0 a binary fix is available here: Epic's GPUlightmass - #668 by yujiang.wang

Hello,

Thanks for your answers guys, I have been able to understand what is happening with the crash, it is actually not related to a LightmassImportanceVolume, but more like unused material in my mesh.

I am working with Cubegrid to design my level, which creates a static mesh, but sometime there is a material slot that is set to “none”, and this makes the GPU Lightmass crash. I couldn’t find a way to remove an unused slot with the “Edit Material” (of the modeling tool) without disorganizing the order of the material slot, which is a pain if I have multiple slots.

I also made a video to explain exactly what happens : https://youtu.be/sGUEMLDFWew

Yes, the bug of None material causing GPULM to crash has been fixed in the community fork.

Thanks a lot for your reply, do you know where and how can I download it? I usually went to “Plugins → GPU Lightmass” inside unreal to have it, I couldn’t find the github repos of GPU lightmass for UE 5.5

Unfortunately we only have one for 5.6.0 now: Epic's GPUlightmass - #668 by yujiang.wang

1 Like