Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.


Warning for game developers: PCGamingWiki staff members will only ever reach out to you using the official press@pcgamingwiki.com mail address.
Be aware of scammers claiming to be representatives or affiliates of PCGamingWiki who promise a PCGW page for a game key.

Difference between revisions of "Engine:Unreal Engine 4"

From PCGamingWiki, the wiki about fixing PC games
(fixed)
Line 216: Line 216:
 
r.TemporalAA.Upsampling=1
 
r.TemporalAA.Upsampling=1
 
r.TemporalAA.Algorithm=0
 
r.TemporalAA.Algorithm=0
 +
r.ScreenPercentage=75
 
</pre>
 
</pre>
 
}}
 
}}

Revision as of 10:39, 5 July 2022

Unreal Engine 4
Unreal Engine logo.svg
Developers
Website
First release date
Predecessor
Successor

Key points

Complete suite of game development tools and engine used by over 500 games, see Games.

Video

Multi-monitor

See Ultra-widescreen.

Ultra-widescreen

Unreal Engine games are Vert- by default, unless the developer specifically implements proper Hor+ ultrawide support. See each individual game's entry page for specifics.
If a game is Vert-, FOV can be increased to give a proper 1:1 Hor+ ultrawide image. See the ultra-widescreen glossary page for details.
If a game does not allow FOV to be adjusted, and an external mod to implement it does not exist for the specific game in question, then the game does not support a proper ultrawide experience.
For multi-monitor setups, the resolution may be so wide that the in-game FOV option may not go high enough to achieve a proper 1:1 Hor+ image. See individual game entry pages for workarounds.

Field of view (FOV)

The FOV variable name is set individually by each developer and differs from game to game, so unfortunately there is no universal solution for adjusting FOV in games where it is not available as an option.
If the developers of a particular game have implemented FOV as a variable, it can usually be adjusted in GameUserSettings.ini.
For games in which customizable FOV is not supported, a wider FOV can be obtained by changing the FOV scaling from horizontal to vertical.
Change FOV scaling

Using the guide below, change Engine.ini to include these lines:

[/script/engine.localplayer]
AspectRatioAxisConstraint=AspectRatio_MaintainYFOV
In earlier versions of the engine, making the change causes all horizontal FOV values to be vertical, potentially resulting in a severe FOV increase. Making the change in later versions of the engine forces the game to maintain its native vertical FOV.

Borderless fullscreen windowed

Borderless Fullscreen

Using the guide below, change Engine.ini to include these lines:

[SystemSettings]
r.FullScreenMode=1

Exclusive fullscreen

Exclusive Fullscreen

Using the guide below, change Engine.ini to include these lines:

[SystemSettings]
r.FullScreenMode=0

Anti-aliasing (AA)

Disable anti-aliasing

Using the guide below, modify Engine.ini to include the following lines:

[SystemSettings]
r.PostProcessAAQuality=0

FXAA

Enable FXAA

Using the guide below, modify Engine.ini to include the following lines:

[SystemSettings]
r.PostProcessAAQuality=2

TAA

Enable Temportal AA

Using the guide below, modify Engine.ini to include the following lines:

[SystemSettings]
r.PostProcessAAQuality=4

Sharpen

Enable and adjust image sharpening

Using the guide below, modify Engine.ini to include the following lines:

[SystemSettings]
r.Tonemapper.Sharpen=1
This will sharpen the image and can help to offset the blur caused by FXAA and TAA. A value between 0.5 to 1.0 is recommended. 10.0 is the maximum. It has no performance impact.

Anisotropic filtering (AF)

Set anisotropic filtering to the highest quality

Using the guide below, modify Engine.ini to include the following lines:

[SystemSettings]
r.MaxAnisotropy=16

Vertical sync (Vsync)

Disable V-Sync

Using the guide below, change Engine.ini to include these lines:

[SystemSettings]
r.VSync=0

Frame rate (FPS)

Disable smooth frame rate

Using the guide below, change Engine.ini to include these lines:

[/Script/Engine.Engine]
bSmoothFrameRate=0
Disable FPS cap

Using the guide below, change Engine.ini to include these lines:

[/Script/Engine.RendererSettings]
t.MaxFPS=0
Set FPS limit

Edit GameUserSettings.ini to include these lines:

[/Script/Engine.GameUserSettings]
FrameRateLimit=60.000000

Adaptive exposure

Disable Adaptive Exposure

Using the guide below, change Engine.ini to include these lines:

[SystemSettings]
r.EyeAdaptationQuality=0

Ambient occlusion

Disable Ambient Occlusion

Using the guide below, change Engine.ini to include these lines:

[SystemSettings]
r.AmbientOcclusionLevels=0

Bloom

Disable Bloom

Using the guide below, change Engine.ini to include these lines:

[SystemSettings]
r.BloomQuality=0

Screen Space Reflections

Disable SSR

Using the guide below, change Engine.ini to include these lines:

[SystemSettings]
r.SSR=0

Fog

Disable Fog

Using the guide below, change Engine.ini to include these lines:

[SystemSettings]
r.Fog=0
r.VolumetricFog=0

Chromatic aberration

Disable Chromatic Aberration

Using the guide below, change Engine.ini to include these lines:

[SystemSettings]
r.SceneColorFringeQuality=0

Depth of field

Disable depth of field

Using the guide below, modify Engine.ini to include the following lines:

[SystemSettings]
r.DepthOfFieldQuality=0

Film grain

Disable film grain

Using the guide below, modify Engine.ini to include the following lines:

[SystemSettings]
r.Tonemapper.GrainQuantization=0

Lens flare

Disable lens flare

Using the guide below, modify Engine.ini to include the following lines:

[SystemSettings]
r.LensFlareQuality=0

Motion blur

Disable motion blur

Using the guide below, modify Engine.ini to include the following lines:

[SystemSettings]
r.MotionBlurQuality=0

Temporal AA Upsampling (TAAU)

Unreal Engine 4.19 added support for temporal AA upsampling GEN 4.[1]
See the official engine documentation for more details.
Enable temporal AA upsampling (TAAU) GEN 4

Using the guide below, modify Engine.ini to include the following lines:

[SystemSettings]
r.PostProcessAAQuality=4
r.TemporalAA.Upsampling=1
r.TemporalAA.Algorithm=0
r.ScreenPercentage=75
Unreal Engine 4.26 added support for temporal AA upsampling GEN 5.[2]
Enable temporal AA upsampling (TAAU) GEN 5

Using the guide below, modify Engine.ini to include the following lines:

[SystemSettings]
r.PostProcessAAQuality=4
r.TemporalAA.Upsampling=1
r.TemporalAA.Algorithm=1
r.ScreenPercentage=75

Vignette

Disable all tonemapping

Using the guide below, modify Engine.ini to include the following lines:

[SystemSettings]
r.Tonemapper.Quality=0
  • 0 = Disable all types of tonemapping shaders.
  • 1 = Film contrast.
  • 2 = Film contrast and vignette.
  • 3 = Film contrast, vignette, and film shadow tint.
  • 4 = Film contrast, vignette, film shadow tint, and grain.
  • 5 = Film contrast, vignette, film shadow tint, grain, and "GrainJitter".

Input

Mouse smoothing

Disable mouse smoothing

Using the guide below, change Input.ini to include these lines:

[/Script/Engine.InputSettings]
bEnableMouseSmoothing=False

Controller analog stick options

Change sensitivity, deadzone size, inversion

Using the guide below, change Input.ini to include these lines:

[/script/engine.inputsettings]
AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))

where the currently used values are the default.

Issues fixed

Stuttering

By default UE4 is setup to gradually stream in textures while playing, which could cause stuttering.
Fortunately it can be controlled with a console variable. For people with a lot of RAM & VRAM it might be better to disable it and load in all textures right away.
Disable texture streaming

Using the guide below, change Engine.ini to include these lines:

[SystemSettings]
r.TextureStreaming=0

Jittery temporal anti-aliasing

At higher TAA sample counts edges may appear jittery, even when still with no camera movement.
Fortunately it seems there's a way to remove the jitter without compromising on TAA quality/sample count.
This method may cause more ghosting to appear in some games.
Stop current frame from being considered in TAA

Using the guide below, change Engine.ini to include these lines:

r.TemporalAACurrentFrameWeight=0

Note that as mentioned above this may cause more ghosting artifacts to appear, likely depends on which UE4 version the game uses as different UE4 versions use slightly different TAA implementations. Using a value range of =0.2 through =.45 will remove ghosting and jitter. Value range is dependent on the game. Start at .2 then increase as needed.

Entire game besides the HUD and menu elements are white on Linux

This bug may occur when using a Vulkan beta driver from Nvidia.
Disable Use Collapsed Arrays option for the game

Run the game with this Launch Parameter:

__GL_GlslUseCollapsedArrays=0

On Steam that would be:

__GL_GlslUseCollapsedArrays=0 %command%

Native resolution is not available in borderless window modes

Newer versions of Unreal Engine 4 handles DPI automatically and prevents the use of native resolutions when a borderless window mode is being used. The render resolution will instead be the lower "DPI-aware" resolution.
For example, on a 3840x2160 monitor with 150% DPI scaling set, 2560x1440 will be used instead, as 3840 / 1.5 (150%) = 2560 and 2160 / 1.5 (150%) = 1440.
Allow a game to use the native resolution in borderless window modes[3]
  1. Locate the main game executable (e.g. <internal-project-name>-Win64-Shipping.exe) in a subfolder of the game.
    • This is usually located in <path-to-game>\<internal-project-name>\Binaries\Win64\ (Win32 if 32-bit).
  2. Right-click on the executable and select Properties.
  3. Navigate to the Compatibility tab and click on Change high DPI settings.
  4. Enable the following options:
    • [x] Use this setting to fix scaling problems for this program instead of the one in Settings
    • Use the DPI that's set for my main display when I signed in to Windows
    • [x] Override high DPI scaling behavior.
    • Scaling performed by: Application
  5. Click on OK followed by OK again.
  6. If performed correctly this should result in the borderless window mode of the game using the native resolution of the monitor as its internal render resolution.

SteamVR starts despite the game not using HMD devices

Start the game with -nohmd parameter.[4][5]

Other information

GameThread timed out waiting for RenderThread - After Windows Standby

Games may crash after a longer standby period. This can be fixed by increasing the timeout value.

Edit the Engine.ini file and add g.TimeoutForBlockOnRenderFence=9999999 to the [SystemSettings]

Enable developer console

The developer console allows real-time adjustments through various Unreal Engine 4 console variables, along with being able to run debug commands like ToggleDebugCamera that enables a flycam mode. Most games ship with the console disabled, although often retains code related to it that allows for its reactivation through third-party DLL injection.
Independent of custom game code - potential for reliability.
Extract and set up the Universal Unreal Engine 4 Unlocker
  1. Download and extract the Universal Unreal Engine 4 Unlocker.
  2. Run UuuClient.exe.
  3. Click 'Select' to select the process to inject the DLL into.
  4. Once the injection succeeds, press ~ in game to bring up the UE4 console (one press brings up mini-console, two presses will show the full thing).
  5. Type in desired command, or see this list of default UE4 cvars.[Note 1]

Notes

UuuClient.exe needs to be run each time the game is started, as this fix is not permanent. Use the UE4 dev-console launcher to automatically launch games with the console enabled.
If the console doesn't open when pressing ~, try following the instructions in the console unlocker's Readme.txt file.

Permanent console variable (cvar) changes

Like most engines that use console variables, Unreal Engine 4 has a config file that the variables' values are read from at startup.
Unlike in most engines, the method it uses may not be obvious. Editing files such as Scalability.ini could result in the entered values ignored depending on the graphics settings.
Entering cvars into the Engine.ini file instead should ensure the value changes will take place.
Add cvar name/values to the Engine.ini file

The Engine.ini file will usually accept cvar name/value pairs inside it, but only if entered into a [SystemSettings] section.

  1. Open the Engine.ini file inside the games config folder in a text editor.
  2. If the file does not have a [SystemSettings] section, add one to the bottom.
  3. Inside that section, add any preferred cvar name/value pairs, with the name/value separated with an '=' character, eg: r.MaxAnisotropy=16. Comments can also be added to the file by starting them with a ';' character.
  4. Save the file.

Notes

Values set with this method should usually override any value set elsewhere, however, some games might store values inside savegames, which may override them when the save gets loaded - the only workaround for these kind of games is to set the value through the developer console after loading the save and expect that the modified value may be written into the save.
The game may rewrite this file when exiting, usually removing any empty lines and lines containing only comments - any custom cvars should still be saved, though the file can be set as "read-only" if this rewrite isn't desired.
Changes to the games config files should be made while it is not running. As previously mentioned, the game may overwrite the file when exiting.
Unreal Engine 4 uses a hierarchical configuration scheme (on top of the multiple configuration categories previously mentioned), meaning that there can be multiple versions of (e.g.) Engine.ini found in different places, some of which may be prefixed with 'Default', 'Base', or 'Windows'. In general, it is best to edit the config file in the user configuration directory, as this should take priority over all others and work even if the game ships with encrypted config files. The file is usually located in %LOCALAPPDATA%\<Game>\Saved\Config\.

Modding tools

Customized versions of the Unreal Editor for creating custom maps and mods for select UE4 games can be found on the Epic Games Store.

Games

A list of all Unreal Engine 4 games.
  1. TAAU GEN 4 - last accessed on 2022-07-05
  2. TAAU GEN 5 - last accessed on 2022-07-05
  3. Verified by User:Aemony on 2019-10-25
    Used same method now for both Code Vein and The Outer World.
  4. Verified by User:Suicide machine on 2021-07-30
  5. Stopping game from launching in VR - last accessed on 2021-07-30


Cite error: <ref> tags exist for a group named "Note", but no corresponding <references group="Note"/> tag was found, or a closing </ref> is missing