Skip to main content

System

XFSDK Light provides shader precompilation, loading screens, and an in-game developer menu. The precompilation system has its own map and progress widget; the loading-screen manager is a separate system.

The shared PSO prewarming reference and shared loading-screen reference contain the detailed behavior, settings and Blueprint interfaces. The instructions below are specific to XFSDK Light. Shared loading-screen CVars use x_ in Core and xl_ in Light; the suffixes are identical. The developer menu is documented for Light only.

Shader precompilation​

  1. In Project Settings, search for XFSDK System:
    • Shader Precompilation Map: /XFSDK_Light/XFSDK_UI/XFSDK_ShaderPrecomp/ShaderPrecomp_Level
    • Startup Map: the map players should land on (e.g. your main menu).
  2. Set Game Default Map (Project Settings › Maps & Modes) to the Shader Precompilation Map. It is a tiny map: when there is work to do, precompilation starts there; when there isn't, the game moves straight on to the Startup Map. Any other default map is not redirected to the Startup Map on later starts.
  3. Add both maps to Project Settings › Packaging › List of maps to include in a packaged build.
  4. Make sure PSO precaching is on (it is by default):
[SystemSettings]
r.PSOPrecaching=1
r.PSOPrecache.Components=1
r.PSOPrecache.Resources=1

Precompilation only runs in packaged or standalone games, never in the editor or PIE.

Testing again: delete %LOCALAPPDATA%\<Project>\Saved\Config\Windows\GameUserSettings.ini (or remove its [XFSDKShaderPrecompilation] section) to make the next start run it again.

Precompilation behavior, settings and progress widget.

Loading screens​

In Project Settings › Game › XFSDK Loading Screen, set Loading Screen Widget to /XFSDK_Light/XFSDK_LoadingScreen/XFSDK_LoadingScreen or your own Widget Blueprint (any User Widget).

Loading-screen behavior, status text, settings and Blueprint API.

Developer menu​

The optional TBImGui-based developer menu exposes the XFSDK Light settings in Development builds. See console variables for the documented Light controls and Getting Started for the dependency.

References​

  • Epic Games. PSO Precaching for Unreal Engine. Documentation
  • Epic Games. Lyra Sample Game: Common Loading Screen plugin. The loading screen manager is based on it.