Phantom Blade Zero
Overview
Ultra+ for Phantom Blade Zero fixes many of the base game’s graphical issues, especially with path tracing. It reduces noise and boiling, keeps more of the world dynamic, in ray tracing and in shadows, and stops the game from constantly overwriting graphics CVars. The HDNatureTextures add-on replaces rock, cliff and nature textures with sharper 4K versions.
Features
- Many graphical fixes to the base game, especially with path tracing
- Trees and shadows stay dynamic instead of static much further out (ExtendedDrawDistance)
- More geometry stays visible in ray tracing and path tracing (RayTracingCullingAngle)
- Less boiling with PT_EnableSharc and PTIndirectDownsample
- Most minor foliage casts shadows (FoliageShadows)
- Ray traced AO added to the engine (LightingAO rtao/rtao_nrd)
- Stops the game from constantly changing CVars, so fixes persist through play, which can also reduce stutters (GameCVarProfiles)
- Sharper rocks, cliffs and nature via upscaled textures and improved rock materials (HDNatureTextures add-on)
Game Tips
- If you use RR in game you don’t need to set denoiser or upscaler in Ultra+
- Keep GameCVarProfiles on pinned (default) - the game keeps changing every CVar Ultra+ does not set, while the ones Ultra+ sets keep Ultra+ values. frozen stops the game from changing CVars at all
- Set ExtendedDrawDistance and RayTracingCullingAngle to veryhigh or epic for less pop-in of foliage animation and ray traced objects
- With path tracing, try PT_EnableSharc=on to reduce boiling, especially on foliage - on_max reduces it further but loses more fine detail in motion
- PTIndirectDownsample=off renders path traced indirect lighting at full resolution instead of quarter resolution - very expensive
- Set FoliageShadows=on so shrubs, bamboo, grass, ivy, leaves, water plants, ground moss, small stones and branches cast shadows - reload a save to apply it everywhere
- Try LightingAO=rtao for ray traced AO (tune with RayTracingAOIntensity and RayTracingAORadius) or rtao_nrd for a denoised version
- Use ContactShadows=off to disable screen space contact shadows
- A custom ray reconstruction preset with responsivity bias is available in the Ultra+ Discord
- ALT + F2 toggles a vanilla comparison (it cannot compare foliage shadows)
Add-ons
HDNatureTextures is a large download (about 2.9 GB, 6.6 GB installed) and needs the main Ultra+ mod, which raises the game’s texture size limits so the 4K textures can display.
- HDNatureTextures: AI upscaled 4K replacements for 518 cliff, rock, stone, ground, trunk, branch and cave textures, most of which the game ships below their source resolution, plus the game’s own tiled rock detail layer with terrain blending on 201 cliff, rock, stone and rocky ground materials, with 4K versions of the game’s rock detail normal maps and finer, stronger detail so the rocks stay sharp up close.
Configuration
| Setting | Options | Keybind | Description |
|---|---|---|---|
| AutoApplyConfig | off,on | automatically reload settings when config changes - primarily to be used with the UPM overlay | |
| Bloom | game/0-3 | Bloom intensity (0.0 = off, 1.0 = default, 2.0 = double, game = use game default) | |
| ChromaticAberration | game,off,on | Recommend disabling in most games as it often just blurs the image for no benefit | |
| ChromaticAberrationIntensity | game/0-5 | Chromatic aberration (scene fringe) intensity scale (0.0 = off, 1.0 = default, 5.0 = max, game = use game default) | |
| ChromaticAberrationStartOffset | game/0-1 | Chromatic aberration start offset - distance from screen center where fringing begins (0.0 = center, 1.0 = edges, game = use game default) | |
| ColorGrading | game,off,on | allows disabling developer implemented color grading that can wash out some locations or cause significant transitions in interiors | |
| ContactShadows | game,off | disables contact shadows | |
| CustomEyeAdaptation | game,on | more stable and generally more exposed eye adaptation | |
| DebugLogging | off,on | enable verbose logging and optional native UObjectCache profiling (10s reports, measurement overhead) - ALT+D toggles at runtime | |
| Denoiser | game,none,none_temporalgihigh,temporal,temporal_high,rayreconstruction,rayreconstruction_temporalgihigh | F2 | Changes global illumination and reflection denoising - allows enabling ray reconstruction - temporal high settings increase the amount of temporal information to reduce noise at the cost of ghosting |
| DepthOfField | game,off,on,on_less_blurry | depth of field control - off reduces noise in cutscenes | |
| EnableKeybinds | off,on | Enables individual setting keybinds if they are available, does not change global keybinds | |
| ExtendedDrawDistance | game,veryhigh,epic | keeps world position offset animation and programmable Nanite rasterization further out and extends instanced ray tracing WPO culling (less distant foliage pop and stiffness) - game uses 4000, 1 and 1.25 | |
| ExtendedShadowQuality | game,veryhigh,epic,insane | epic matches in-game epic, insane is higher quality | |
| FilmGrain | game,off,on | film grain effect control | |
| Fog | game,off,on,on_with_lumen | Turns fog on or off, if on_with_lumen is provided then it allows enabling fog in lumen space (GI and reflections) | |
| FoliageShadows | game,on | on makes shrubs, bamboo, grass, ivy, leaves, water plants, ground moss, small stones and branches the game cooked without shadows cast ray traced shadows (trees, cliffs and bare ground are left alone) - applies to areas loaded after the change, reload a save to apply everywhere | |
| GameCVarProfiles | game,frozen,pinned | frozen stops the game from changing CVars at runtime (per area, volume and cutscene) so it cannot overwrite Ultra+, in-game graphics settings still apply - pinned keeps every game CVar profile running and only pins the CVars Ultra+ sets to Ultra+ values (a CVar Ultra+ stops setting stays pinned until restart) - game lets the game change CVars at runtime | |
| LODBias | game,off,minuspoint5,minus1,minus1point5,minus2 | Forces textures to be higher resolution, -0.5 is the safest, more can cause frequency patterns to appear, some games benefit from more than others | |
| LightingAO | lumen,ssao,gtao,rtao,rtao_nrd | F7 | Changes ambient occlusion method between Lumen, SSAO, or GTAO - lumen_less_noise is the safest default as full lumen may introduce shimmering/noise |
| LightingMode | game,uplus | F8 | lighting mode - uplus for default enhanced lighting |
| LightingNoiseQuality | game,standard,high,veryhigh,epic,insane | Higher noise quality reduces noise at the cost of performance, but costs less than increasing lighting quality | |
| LightingQuality | game,medium,high,veryhigh,epic,insane | CTRL+F10 | Standard lighting quality is the recommended default, higher lighting qualities will reduce noise and increase the detail of lighting in the scene particularly around smaller object |
| LightingResolution | low,medium,high,veryhigh,epic,insane | F6 | lighting resolution quality - higher quality is more accurate lighting at the cost of performance - standard in-game epic (the same as epic in this setting) is typically x16 downsampling which is usually not necessary, medium (x32) is the minimum recommended |
| LightingUpdateSpeed | default,high,epic,insane | Allows making global illumination update faster | |
| LocalExposure | game,off,on | allows disabling local exposure which can be paired with disabled color grading | |
| LumenDiffuseColorBoost | game/0-5 | Increases diffuse lighting especially from local lights | |
| LumenTraceDistance | game/20000-100000 | Maximum distance of objects traced in the lumen scene | |
| MotionBlur | game/0-1 | Ultra+ improves motion blur quality in every game by default, recommend a small amount of blur ~0.2 | |
| PTIndirectDownsample | game,off | disables path tracing indirect downsample - very expensive (quarter resolution by default) | |
| PT_EnableSharc | game,on,on_max | enables sHARC for PT (experimental), greatly reduces boiling noise especially on foliage, on_max will reduce boiling further but lose more fine detail in motion | |
| PostProcessingTonemapperPreset | game,vanilla,morecontrast | CTRL+F6 | more_contrast setting can add more depth to the scene |
| RayTracingAOIntensity | game/0.1-1 | Ray traced AO intensity (0.1 = faint, 1.0 = full occlusion, game = use game default) - only with ray traced AO | |
| RayTracingAORadius | game/25-2000 | Ray traced AO radius in units - larger reaches further occluders (game = use game default, UE default 200) - only with ray traced AO | |
| RayTracingCullingAngle | game,veryhigh,epic | smaller ray tracing culling angles keep small and instanced objects in ray tracing for longer (less obvious culling pop-in in reflections and shadows) - game uses 1.5 and 3 for instances | |
| ReduceInputLatency | game,off,on | reduce input latency at potential FPS cost if not GPU bound | |
| ReflectionBias | game/0-1 | Adds smoothing to reflections to make them more mirror like, a small amount is usually beneficial | |
| ReflectionDownsample | game,on | enables checkerboard downsampling if available in engine version | |
| ReflectionMaxRoughness | game/0.2-1.0 | Maximum roughness for reflections | |
| ReflectionRoughnessFadeLength | game/0.0-1.0 | Roughness fade length for reflections (0.0 = zero length, 1.0 = max fade length, game = use game default of 0.2) | |
| ScreenSpaceReflections | game,off,on | Allows disabling the Lumen reflection screen space component, usually safest with hardware lumen to reduce screen space artifacts | |
| Sharpness | game/0-1 | Control UE tonemapper sharpness - recommend setting this to 0 and using RCAS through reshade | |
| SkylightIntensity | game/0-3 | Skylight is a flat amount of light added to the scene, it mostly effects outdoors unless a game uses it to light interiors | |
| TuneLightSources | game,on | modify light sources to increase radius and indirect lighting and improve issues with overdark corners | |
| Upscaler | off,dlss_4.5,dlss_rayreconstruction,dlss,other | select your active upscaler to auto-configure denoising - dlss_4.5 uses Denoiser none_temporalgihigh, dlss_rayreconstruction uses the rayreconstruction Denoiser variant, both force MegaLights no-temporal variants; other upscalers use temporal Denoiser and MegaLights variants. off leaves Denoiser/MegaLightsQuality under manual control | |
| ViewDistanceScale | game,one,two,three,four | increases view distance scale, affects foliage most noticeably | |
| Vignette | game,off,on | F3 | vignette effect control |
| VignetteIntensity | game/0-2 | Vignette intensity scale (0.0 = off, 1.0 = default, 2.0 = double, game = use game default) | |
| VolumetricFog | game,off,on,on_disable_emissive | F5 | Turns volumetric fog on or off, if on_disable_emissive is provided - it disables the emissive component of fog which can cause fog to be overly intense and washed out |