Unreal Engine Vite Help

Compile-Time Switches

Some Vite features cannot be console variables. Either they change shader permutation sets, which are decided when shaders are compiled, or they alter hot code paths where a runtime branch would cost more than the feature saves.

The switches

Macro

Default

Effect when enabled

VITE_RT_PSO_DEBLOAT

1

Compiles out a large set of ray tracing shader permutations

VITE_O_SSAO

1

Vite's optimised SSAO memory access path

VITE_PHYSX_FIXED_TIMESTEP

0

Deterministic fixed-step PhysX with render interpolation

VITE_DLSS_PATCH

0

Output-resolution translucency and volumetric fog when upscaling

VITE_NVRTX_TRANSLUCENCY_DEPTH

0

Separate translucency depth texture from the NvRTX branch

Each is defined with an #ifndef guard, so any of them can be overridden from the build system without editing the header.

Overriding a switch

Change a compile-time switch

  1. Open your project's Source/<Project>.Target.cs, or the engine target file if you are changing it engine-wide.

  2. Add the definition to GlobalDefinitions:

    public MyGameTarget(TargetInfo Target) : base(Target) { Type = TargetType.Game; DefaultBuildSettings = BuildSettingsVersion.V2; ExtraModuleNames.Add("MyGame"); GlobalDefinitions.Add("VITE_RT_PSO_DEBLOAT=0"); }
  3. Regenerate project files.

  4. Rebuild the engine, and wipe the shader cache if you changed VITE_RT_PSO_DEBLOAT or any switch that affects shader permutations. See Cache Management.

Prefer GlobalDefinitions in a target file over editing CoreDefines.h. Editing the header changes the value for every target and creates a diff against the engine repository that you will have to carry through every merge.

03 August 2026