MultiWorld 1.9.1
Manage multiple isolated UWorld instances simultaneously in Unreal Engine, transferring player and actors between worlds.
Loading...
Searching...
No Matches
Skylight "Real Time Capture"

Skylight "Real Time Capture"

The problem

The Skylight could not render correctly in the UMultiWorldSceneCaptureComponent2D component when the "Real Time Capture" option is enabled and the component is in a Background World.

Possible issue with Skylight and the Real Time Capture option

The workaround

The workaround is to disable the "Real Time Capture" option and manually call the RecaptureSky Blueprint node if/when needed to refresh the scene lighting information.

We suggest to force a recapture only after relevant changes to the Skylight state, for example after significant changes to the SkyAtmosphere, VolumetricClouds, HeightFog, DirectionLight (sun position).

Technical details

The reason of the problem is that Unreal Engines computes lighting information only once on loading, and then updates the information only for the Active World (in a way that makes impossible for the MultiWorld plugin to force an update for the captured Background World). This results in wrong lighting information when UMultiWorldSceneCaptureComponent2D captures images from a Background World.

Useful information about the Skylight and the "Real Time Capture" flag can be found here in the official Unreal Engine documentation:

‍For Stationary or Movable Sky Lights, updates happen once on load and only updates further when Recapture is called unless the Real Time Capture feature is enabled. Both are accessible via the Details panel, and Recapture can also be called via Blueprint in-game .

‍The Real Time Capture mode provides dynamic and specular environment lighting, making possible dynamic time-of-day simulations with real-time reflections on scene elements.

‍Real Time Capture mode is faster and more efficient than the RecaptureSky Blueprint node because all the computations stay on the GPU without any use of CPU processing that can cause pauses, or slowdowns in gameplay.