Lighting build failed

On MacOS M3 with UE 5.4.4

Nanite and Lumen have been disabled.

Following the Crypt Raider tutorial for UE C++ course. Once some geometry and lights are added to the scene, I wanted to try building the lighting by Selecting Build > Build Lighting Only. This always fails with the following output:

LogStaticLightingSystem: Warning: No importance volume found, so the scene bounding box was used.  You can optimize your scene's quality and lighting build times by adding importance volumes.
LogStaticLightingSystem: Running Lightmass w/ ImmediateImport mode ENABLED
LogStaticLightingSystem: Running Lightmass w/ ImmediateProcess mode ENABLED
LogStaticLightingSystem: Running Lightmass w/ Sorting mode ENABLED
LogStaticLightingSystem: Running Lightmass w/ Mapping paddings ENABLED
LogStaticLightingSystem: Running Lightmass w/ Mapping debug paddings DISABLED
LogEditorBuildUtils: Build time 0:00
LogUObjectHash: Compacting FUObjectHashTables data took   0.17ms
LogStaticLightingSystem: Warning: Failed to build lighting!!! Lighting build failed.
DumpUnbuiltLightIteractions
Lights with unbuilt interactions: 1
    Light DirectionalLight
Primitives with unbuilt interactions: 140
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_0.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_1.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_10.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_103.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_104.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_105.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_11.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_111.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_112.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_113.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_114.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_115.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_116.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_117.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_118.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_119.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_12.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_120.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_121.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_122.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_123.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_127.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_128.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_129.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_13.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_130.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_133.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_134.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_135.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_136.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_137.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_138.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_139.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_14.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_140.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_142.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_143.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_144.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_145.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_146.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_147.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_148.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_149.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_15.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_152.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_157.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_158.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_16.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_17.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_170.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_173.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_174.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_175.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_176.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_177.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_178.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_179.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_18.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_180.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_181.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_182.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_183.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_184.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_19.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_2.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_20.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_21.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_22.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_24.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_25.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_26.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_27.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_28.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_29.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_3.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_30.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_31.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_32.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_33.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_34.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_35.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_36.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_37.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_38.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_39.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_4.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_40.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_41.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_43.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_44.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_45.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_46.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_47.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_48.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_49.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_5.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_50.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_51.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_52.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_53.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_54.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_55.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_56.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_57.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_58.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_6.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_60.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_61.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_62.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_63.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_64.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_65.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_66.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_67.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_68.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_69.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_7.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_70.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_71.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_72.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_73.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_74.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_75.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_76.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_77.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_78.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_79.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_8.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_80.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_81.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_82.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_83.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_86.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_87.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_89.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_9.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_90.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_92.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_93.StaticMeshComponent0
    Primitive StaticMeshComponent /Game/Dungeon.Dungeon:PersistentLevel.StaticMeshActor_95.StaticMeshComponent0
Cmd: MAP CHECK NOTIFYRESULTS
MapCheck: Error: WorldSettings Maps need lighting rebuilt 
MapCheck: Map check complete: 1 Error(s), 0 Warning(s), took 0,954ms to complete.

There are other questions online with this error but there are no answers about:

  1. Why does this happens?
  2. What conditions are required for lighting building?

As I discovered a solution, I thought I will document it here.

UE seems to use a separate program for the light baking and needs to communicate with it. MacOS is very security conscious and doesn’t like arbitrary connections. To enable light baking the following needs to be true:

  1. The UDP messaging plugin needs to be enabled for the UE project
  2. The programs “UnrealEditor” and “UnrealLightmass” must be added to the MacOS Firewall advanced options to allow incoming connections

This allows the two programs to communicate and the light baking is not stuck at 0% before being killed. By adding the UE editor to the allowed connection list, the UDP plugin also does not have the periodic failure messages and FPS drop.

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.

Privacy & Terms