Skip to content

Instantly share code, notes, and snippets.

@DiceTsuki
Last active June 23, 2025 01:44
Show Gist options
  • Save DiceTsuki/e3ee44aeecc0daeb2c05f5f9d75aacfd to your computer and use it in GitHub Desktop.
Save DiceTsuki/e3ee44aeecc0daeb2c05f5f9d75aacfd to your computer and use it in GitHub Desktop.
Infinity Nikki: Unreal Engine 5 (UE5) Console Variables (CVars) Tweaks

[Quick Access]

Tested on PC (Windows) Version of Infinity Nikki

Unfortunately, no discussion of Unreal Engine (UE) config files is allowed in Official Infinity Nikki Discord server according to one of the Lead Moderator (modifying game files is against ToS). You have been warned!

Feel free to share and discuss on non-official places!

About

The game is using UE 5.4.4.

All Console Variables (CVars) were tested on game version 1.0.x (341).

Tested on (click to view):

Lenovo Y50-70

CPU: Intel Core i7-4710HQ

GPU: Nvidia GeForce GTX 860M (Maxwell, 4GB VRAM)

RAM: 16GB

Installed on: SATA 5400RPM HDD

Tested with these ingame graphics settings (click to view):

Screen Resolution: 1920x1080 (Fullscreen Window)

Frame Rate: 30FPS

All Medium/Off except:

Dynamic Resolution: On

Scene Details: High

View Distance: Low

Anti-Aliasing: Temporal Super Resolution

Glow Effect: On

A CVar is considered as "working" when there are visible visual/performance changes.

Config File Setup

  1. Create Engine.ini (and DeviceProfiles.ini, if you want to use it) in:

    InfinityNikkiGlobal\X6Game\Saved\Config\Windows\
    
  2. If you want to use DeviceProfiles.ini, Edit Engine.ini and add these:

    [SystemSettings]
    dp.Override="Custom"
    
  3. Set both files to read-only after editing them.

    Else the game will delete them at launch/exit.

Config File Types

CVar Priority

DeviceProfiles.ini > Game's DefaultDeviceProfiles.ini > Engine.ini > Game's OS-specific Scalability.ini.

Which File to Use?

Engine.ini:

Most CVars are usable when placed under [SystemSettings] section.

Some CVars need to be placed under other sections, which can't be used in DeviceProfiles.ini.

DeviceProfile.ini:

Compatible with most CVars that can be placed under Engine.ini > [SystemSettings].

Working CVars

Useful Links

  1. https://www.pcgamingwiki.com/wiki/Engine:Unreal_Engine_4

  2. https://www.pcgamingwiki.com/wiki/Engine:Unreal_Engine_5

  3. https://www.pcgamingwiki.com/wiki/Infinity_Nikki

  4. https://indxzero.github.io/ue544cvarwiki/

[Back]

What is Engine.ini?

https://www.pcgamingwiki.com/wiki/Engine:Unreal_Engine_5#Permanent_console_variable_.28cvar.29_changes

Engine.ini Example

[SystemSettings]
; Internal Resolution
r.ScreenPercentage=100

; TAA
;r.TemporalAASamples=8
;r.TemporalAACurrentFrameWeight=0.01
;r.TemporalAAFilterSize=1.0
;r.TemporalAA.HistoryScreenPercentage=100

; TSR
r.TSR.History.R11G11B10=1
r.TSR.History.ScreenPercentage=100
r.TSR.History.UpdateQuality=0
r.TSR.ShadingRejection.Flickering=0
r.TSR.RejectionAntiAliasingQuality=0
r.TSR.Resurrection=0

; Texture
r.MipMapLODBias=-0.5

; GI
r.Lumen.DiffuseIndirect.Allow=0
r.FRXGI.Allow=1
r.FRXGI.GridPixelSize=128

; Shadow
r.Shadow.CSM.MaxCascades=4
r.Shadow.MaxResolution=512
;grass.DisableDynamicShadows=1

; Reflection
r.SSR.Quality=1
r.SSR.HalfResSceneColor=1

; Misc.
r.OIT.SortedPixels.Layers=0 ; Fix transparent objects bug

Note:

Anything after ; until next line will be ignored by the game.

Engine.ini: Working CVars

TAAU = Temporal Anti-Aliasing Upsampling

TSR = Temporal Super Resolution

LOD = Level of Detail

GI = Global Illumination

 

Internal/Rendering Resolution:

[Top]

r.ScreenPercentage

TAAU and TSR will scale internal resolution to ingame's Screen Resolution.

UI will be rendered at screen resolution and overlaid on top of the internal resolution.

r.ScreenPercentage will override forced sg.ResolutionQuality by the game (on some devices).

The game's Dynamic Resolution will override r.ScreenPercentage with a range of 50-100% internal resolution.

Set value to 100 for no upscaling/native.

Set value to >100 for downscaling.

Lower: Higher performance, lower quality.

TSR

[Top]

UE 5.4.4 Default:

At AntiAliasingQuality@0:

r.TSR.History.R11G11B10=1
r.TSR.History.ScreenPercentage=100
r.TSR.History.UpdateQuality=0
r.TSR.ShadingRejection.Flickering=0
r.TSR.RejectionAntiAliasingQuality=0
r.TSR.Resurrection=0

At AntiAliasingQuality@Cine:

r.TSR.History.R11G11B10=0
r.TSR.History.ScreenPercentage=200
r.TSR.History.UpdateQuality=3
r.TSR.ShadingRejection.Flickering=1
r.TSR.RejectionAntiAliasingQuality=2
r.TSR.Resurrection=1

Tested CVars:

r.TSR.History.ScreenPercentage

Affects TSR sharpness and stability.

Range: 100 - 200

Game Default: 66 - 200

Lower: Higher performance, lower quality.

ue544cvarwiki stated that the value is clamped between 100 - 200.

Test result:

  • No performance difference at <100.

  • No quality difference at 200.

Lumen

[Top]

r.Lumen.Supported

Enables Lumen (GI and Reflection System).

Range: 0 (disable), 1 (enable)

Game Default: 1

r.Lumen.DiffuseIndirect.Allow

Enables Lumen GI.

Range: 0 (disable), 1 (enable)

Game Default: 0 or 1

r.Lumen.DiffuseIndirect.Allow=0
r.FRXGI.Allow=1
r.FRXGI.GridPixelSize=128

Enables alternative GI.

At r.FRXGI.GridPixelSize=128:

  • Same performance as Lumen GI Off.

  • The light diffusion is less intense than Lumen GI (noticable on Nikki's face).

  • Has lower update rate i.e. when you look up and down quickly, the diffusion will change slower than Lumen GI (almost instant).

Lower r.FRXGI.GridPixelSize: Higher update rate, lower performance.

Texture

[Top]

r.MipMapLODBias

Affects 2D textures' quality.

Range: -15.0 - 15.0

Game Default: -1.0 - 0.0

Lower: Higher quality.

Shadow

[Top]

r.Shadow.CSM.MaxCascades

Affects numbers of dynamic shadows that will appear.

Game Default: 1 - 6

Lower: Lower shadow quantity, higher performance

r.Shadow.MaxResolution

Affects shadow resolution.

It seems to affect structures, buildings, trees and NPCs (incl. Momo) but not Nikki.

Game Default: 256 - 2048

Lower: Higher performance, lower quality.

grass.DisableDynamicShadows

Disable dynamic shadows of the grass.

Range: 0 (disable), 1 (enable)

Game Default: 0

Foliage

[Top]

foliage.LODDistanceScale

Affects foliage (flowers, plants, bushes etc.) LOD transition (Near -> Far) (3D -> 3D Low Poly -> 2D).

Game Default: 0.6 - 1.0

Lower: Faster transition.

LOD

[Top]

r.SkeletalMeshLODBias

Affects NPCs LOD.

Game Default: 0

Higher: Lower LOD.

r.SkeletalMeshLODRadiusScale

Affects NPCs LOD transition (Near -> Far) (High Poly -> Low Poly).

Game Default: 0.75 - 1.0

Lower: Faster transition.

Reflection

[Top]

r.SSR.Quality

Affects reflection (water, mirror).

Range: 0 (disable) - 4

Game Default: 1 - 4

Lower: Lower quality.

r.SSR.HalfResSceneColor

Improve reflection's performance while reducing quality for a bit.

Game Default: 1 - 0

Misc.

[Top]

r.OIT.SortedPixels.Layers=0

Disables Order-independent Transparency (OIT; blending transparent objects correctly based on scene's depth).

Current OIT implementation is causing transparent objects overlap bug on some devices (e.g. hair, clothing, water layers became glitched/transparent when overlapped with each other in a scene).

The CVar is already enforced when Settings > Graphics > Render Quality is set to Low.

Use it until the bug is fixed.

Engine.ini: Non-Working CVars

[/Script/WindowsTargetPlatform.WindowsTargetSettings]: DefaultGraphicsRHI
* Only DX12 is supported.

foliage.DensityScale
foliage.ForceLOD
foliage.OnlyLOD
r.AntiAliasingMethod
r.DynamicGlobalIlluminationMethod

r.DynamicRes.*
* Use DeviceProfiles.ini

r.Lumen.Reflections.Allow
r.MaxAnisotropy
r.Nanite
r.SecondaryScreenPercentage.GameViewport
r.SetRes
r.Shadow.Virtual.Enable
r.SSGI.Quality
r.Streaming.MipBias
r.Tonemapper.Sharpen
t.MaxFPS

[Back]

[Back]

What is DeviceProfiles.ini?

https://dev.epicgames.com/documentation/en-us/unreal-engine/setting-up-device-profiles-in-unreal-engine

DeviceProfiles.ini Example

[Custom DeviceProfile]
CVars=r.DynamicRes.OperationMode=1 ; Required
CVars=r.DynamicRes.MinScreenPercentage=40
CVars=r.DynamicRes.MaxScreenPercentage=100
CVars=r.DynamicRes.FrameTimeBudget=33.3

Note:

Anything after ; until next line will be ignored by the game.

DeviceProfiles.ini: Working CVars

Dynamic Resolution

[Top]

r.DynamicRes.OperationMode

Required for other Dynamic Resolution's CVars to work.

Range: 0 (disable), 1 (enable based on ingame settings), 2 (force enable)

Game Default: 1

r.DynamicRes.MinScreenPercentage

Lowest internal resolution that will be used to meet frame time target.

Game Default: 50

r.DynamicRes.MaxScreenPercentage

Highest internal resolution that will be used when frame time target has been reached.

Game Default: 100

r.DynamicRes.FrameTimeBudget

Target frame time (in milliseconds).

E.g. if the target FPS is 30FPS, the target frame time is 1000/30 = 33.33.

Game Default: 20 (Windows)

[Back]

@ud4yk
Copy link

ud4yk commented Feb 28, 2025

Here trying to get rid of the pesky reflection bloom at the middle-sides of the screen, and make the game less blurry.

Also is there a way to force XESS or RT with Non-Nvidia cards?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment