Difference between revisions of "Engine:Unreal Engine 4"
m (Reverted edits by Lextra2 (talk) to last revision by 143.244.54.120) Tag: Rollback |
|||
Line 2: | Line 2: | ||
|cover=Unreal Engine logo.svg | |cover=Unreal Engine logo.svg | ||
|developer=Epic Games | |developer=Epic Games | ||
− | |website=https://www.unrealengine.com/ | + | |website=https://www.unrealengine.com/ |
|first release=March 2014 | |first release=March 2014 | ||
|predecessor=Unreal Engine 3 | |predecessor=Unreal Engine 3 | ||
Line 9: | Line 9: | ||
|listgames=false | |listgames=false | ||
}} | }} | ||
− | |||
'''Key points''' | '''Key points''' | ||
− | {{ii}} | + | {{ii}} Complete suite of game development tools and engine used by over 500 games, see [[#Games|Games]]. |
− | |||
− | |||
==Video== | ==Video== | ||
===[[Glossary:Multi-monitor|Multi-monitor]]=== | ===[[Glossary:Multi-monitor|Multi-monitor]]=== | ||
− | See [ | + | ''See [[#Ultra-widescreen|Ultra-widescreen]]. |
===[[Glossary:Ultra-widescreen|Ultra-widescreen]]=== | ===[[Glossary:Ultra-widescreen|Ultra-widescreen]]=== | ||
− | See [ | + | {{ii}} Unreal Engine games are {{term|Vert-}} by default, unless the developer specifically implements proper {{term|Hor+}} ultrawide support. See each individual game's entry page for specifics. |
+ | {{ii}} If a game is {{term|Vert-}}, FOV can be increased to give a proper 1:1 {{term|Hor+}} ultrawide image. See [[Glossary:Ultra-widescreen|the ultra-widescreen glossary page]] for details. | ||
+ | {{ii}} 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. | ||
+ | {{ii}} 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 {{term|Hor+}} image. See individual game entry pages for workarounds. | ||
− | ===[[ | + | ===[[Glossary:Field of view (FOV)|Field of view (FOV)]]=== |
− | + | {{ii}} 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. | |
+ | {{ii}} If the developers of a particular game have implemented FOV as a variable, it can usually be adjusted in GameUserSettings.ini. | ||
+ | {{ii}} For games in which customizable FOV is not supported, a wider FOV can be obtained by changing the FOV scaling from horizontal to vertical. | ||
+ | |||
+ | {{Fixbox|description=Change FOV scaling|fix= | ||
+ | Using [[#Permanent console variable (cvar) changes|the guide below]], change {{File|Engine.ini}} to include these lines: | ||
+ | <pre>[/script/engine.localplayer] | ||
+ | AspectRatioAxisConstraint=AspectRatio_MaintainYFOV</pre> | ||
+ | {{ii}} 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. | ||
+ | }} | ||
− | === | + | ===[[Glossary:Borderless fullscreen windowed|Borderless fullscreen windowed]]=== |
− | {{Fixbox|description= | + | {{Fixbox|description=Borderless Fullscreen|fix= |
− | + | Using [[#Permanent console variable (cvar) changes|the guide below]], change {{File|Engine.ini}} to include these lines: | |
− | |||
<pre> | <pre> | ||
− | [ | + | [SystemSettings] |
− | + | r.FullScreenMode=1 | |
− | |||
− | |||
</pre>}} | </pre>}} | ||
− | === | + | ===Exclusive fullscreen=== |
− | {{Fixbox|description= | + | {{Fixbox|description=Exclusive Fullscreen|fix= |
− | + | Using [[#Permanent console variable (cvar) changes|the guide below]], change {{File|Engine.ini}} to include these lines: | |
<pre> | <pre> | ||
− | [ | + | [SystemSettings] |
− | + | r.FullScreenMode=0 | |
− | |||
− | |||
</pre>}} | </pre>}} | ||
Line 55: | Line 59: | ||
}} | }} | ||
− | === | + | ===FXAA=== |
− | {{Fixbox|description=Enable FXAA||fix= | + | {{Fixbox|description=Enable [[FXAA]]||fix= |
Using [[#Permanent console variable (cvar) changes|the guide below]], modify {{File|Engine.ini}} to include the following lines: | Using [[#Permanent console variable (cvar) changes|the guide below]], modify {{File|Engine.ini}} to include the following lines: | ||
<pre> | <pre> | ||
Line 64: | Line 68: | ||
}} | }} | ||
− | === | + | ===TAA=== |
− | {{Fixbox|description=Enable Temporal | + | {{Fixbox|description=Enable Temporal AA||fix= |
Using [[#Permanent console variable (cvar) changes|the guide below]], modify {{File|Engine.ini}} to include the following lines: | Using [[#Permanent console variable (cvar) changes|the guide below]], modify {{File|Engine.ini}} to include the following lines: | ||
<pre> | <pre> | ||
Line 80: | Line 84: | ||
r.Tonemapper.Sharpen=1 | r.Tonemapper.Sharpen=1 | ||
</pre> | </pre> | ||
− | {{ii}} This will sharpen the image and can help to offset the blur caused by [[FXAA]] and [[TAA]]. | + | {{ii}} 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. |
}} | }} | ||
Line 100: | Line 104: | ||
</pre>}} | </pre>}} | ||
− | ===Frame rate | + | ===[[Glossary:Frame rate (FPS)|Frame rate (FPS)]]=== |
− | {{Fixbox|description= | + | {{Fixbox|description=Disable smooth frame rate|fix= |
− | + | Using [[#Permanent console variable (cvar) changes|the guide below]], change {{File|Engine.ini}} to include these lines: | |
+ | <pre> | ||
+ | [/Script/Engine.Engine] | ||
+ | bSmoothFrameRate=0 | ||
+ | </pre>}} | ||
+ | {{Fixbox|description=Disable FPS cap|fix= | ||
+ | Using [[#Permanent console variable (cvar) changes|the guide below]], change {{File|Engine.ini}} to include these lines: | ||
+ | <pre> | ||
+ | [/Script/Engine.RendererSettings] | ||
+ | t.MaxFPS=0 | ||
+ | </pre>}} | ||
+ | {{Fixbox|description=Set FPS limit|fix= | ||
+ | Edit {{File|GameUserSettings.ini}} to include these lines: | ||
<pre> | <pre> | ||
[/Script/Engine.GameUserSettings] | [/Script/Engine.GameUserSettings] | ||
− | FrameRateLimit= | + | FrameRateLimit=60.000000 |
+ | </pre>}} | ||
+ | |||
+ | ===[[High dynamic range (HDR)]]=== | ||
+ | {{ii}} Earlier versions of the engine do not support [https://docs.microsoft.com/en-us/windows/win32/direct3darticles/high-dynamic-range DXGI HDR output for DirectX 11] and must be running in [[#Exclusive fullscreen|Exclusive Fullscreen (FSE)]] mode in order for this to work.<ref>{{Refcheck|user=Aemony|date=2022-08-09|comment=Windows 10 did not natively support HDR output before v1703 which forced game engines to use proprietary APIs from AMD/Nvidia to allow HDR output through Exclusive Fullscreen mode. Once this limitation of Windows 10 was removed, Unreal Engine 4 (despite what the official documentation claims) was eventually updated to support proper DXGI based HDR output in windowed modes.}}</ref> | ||
+ | {{mm}} See the [https://docs.unrealengine.com/4.27/en-US/RenderingAndGraphics/HDRDisplayOutput/#enablinghdroutput official engine documentation] for more details. | ||
+ | |||
+ | {{Fixbox|description=Enable native HDR output|fix= | ||
+ | Using [[#Permanent console variable (cvar) changes|the guide below]], change {{File|Engine.ini}} to include these lines: | ||
+ | <pre> | ||
+ | [SystemSettings] | ||
+ | r.AllowHDR=1 | ||
+ | r.HDR.EnableHDROutput=1 | ||
+ | r.HDR.Display.OutputDevice=5 | ||
+ | r.HDR.Display.ColorGamut=2 | ||
+ | </pre> | ||
+ | |||
+ | Optionally you can add these lines to boost the UI brightness. This might make the UI integrate better with HDR. | ||
+ | <pre> | ||
+ | r.HDR.UI.CompositeMode=1 | ||
+ | r.HDR.UI.Level=1.5 | ||
+ | </pre> | ||
+ | }} | ||
+ | |||
+ | ===Adaptive exposure=== | ||
+ | {{Fixbox|description=Disable Adaptive Exposure|fix= | ||
+ | Using [[#Permanent console variable (cvar) changes|the guide below]], change {{File|Engine.ini}} to include these lines: | ||
+ | <pre> | ||
+ | [SystemSettings] | ||
+ | r.EyeAdaptationQuality=0 | ||
</pre>}} | </pre>}} | ||
===Ambient occlusion=== | ===Ambient occlusion=== | ||
− | {{Fixbox|description=Disable | + | {{Fixbox|description=Disable Ambient Occlusion|fix= |
Using [[#Permanent console variable (cvar) changes|the guide below]], change {{File|Engine.ini}} to include these lines: | Using [[#Permanent console variable (cvar) changes|the guide below]], change {{File|Engine.ini}} to include these lines: | ||
<pre> | <pre> | ||
Line 117: | Line 162: | ||
===Bloom=== | ===Bloom=== | ||
− | {{Fixbox|description=Disable | + | {{Fixbox|description=Disable Bloom|fix= |
Using [[#Permanent console variable (cvar) changes|the guide below]], change {{File|Engine.ini}} to include these lines: | Using [[#Permanent console variable (cvar) changes|the guide below]], change {{File|Engine.ini}} to include these lines: | ||
<pre> | <pre> | ||
Line 124: | Line 169: | ||
</pre>}} | </pre>}} | ||
− | ===Screen | + | ===Screen Space Reflections=== |
− | {{Fixbox|description=Disable | + | {{Fixbox|description=Disable SSR|fix= |
Using [[#Permanent console variable (cvar) changes|the guide below]], change {{File|Engine.ini}} to include these lines: | Using [[#Permanent console variable (cvar) changes|the guide below]], change {{File|Engine.ini}} to include these lines: | ||
<pre> | <pre> | ||
Line 133: | Line 178: | ||
===Fog=== | ===Fog=== | ||
− | {{Fixbox|description=Disable | + | {{Fixbox|description=Disable Fog|fix= |
Using [[#Permanent console variable (cvar) changes|the guide below]], change {{File|Engine.ini}} to include these lines: | Using [[#Permanent console variable (cvar) changes|the guide below]], change {{File|Engine.ini}} to include these lines: | ||
<pre> | <pre> | ||
Line 142: | Line 187: | ||
===Chromatic aberration=== | ===Chromatic aberration=== | ||
− | {{Fixbox|description=Disable | + | {{Fixbox|description=Disable Chromatic Aberration|fix= |
Using [[#Permanent console variable (cvar) changes|the guide below]], change {{File|Engine.ini}} to include these lines: | Using [[#Permanent console variable (cvar) changes|the guide below]], change {{File|Engine.ini}} to include these lines: | ||
<pre> | <pre> | ||
Line 166: | Line 211: | ||
===Lens flare=== | ===Lens flare=== | ||
− | {{Fixbox|description=Disable lens | + | {{Fixbox|description=Disable lens flare|fix= |
Using [[#Permanent console variable (cvar) changes|the guide below]], modify {{File|Engine.ini}} to include the following lines: | Using [[#Permanent console variable (cvar) changes|the guide below]], modify {{File|Engine.ini}} to include the following lines: | ||
<pre> | <pre> | ||
Line 180: | Line 225: | ||
r.MotionBlurQuality=0 | r.MotionBlurQuality=0 | ||
</pre>}} | </pre>}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Temporal Super Resolution=== | ===Temporal Super Resolution=== | ||
Line 219: | Line 252: | ||
r.ScreenPercentage=75 | r.ScreenPercentage=75 | ||
</pre> | </pre> | ||
+ | }} | ||
+ | |||
+ | ===Vignette=== | ||
+ | {{Fixbox|description=Disable Vignette|ref=|fix= | ||
+ | Using [[#Permanent console variable (cvar) changes|the guide below]], modify {{File|Engine.ini}} to include the following lines: | ||
+ | <pre> | ||
+ | [SystemSettings] | ||
+ | r.Tonemapper.Quality=1 | ||
+ | </pre> | ||
+ | * 0 = Use Legacy tonemapper. | ||
+ | * 1 = Use ACES tonemapper.<ref>{{Refurl|url=https://docs.unrealengine.com/4.27/en-US/RenderingAndGraphics/PostProcessEffects/ColorGrading/|title=ACES Tonemapper|date=2022-08-16}}</ref> | ||
+ | * 2 = Use ACES tonemapper and vignette. | ||
}} | }} | ||
Line 230: | Line 275: | ||
</pre>}} | </pre>}} | ||
===Controller analog stick options=== | ===Controller analog stick options=== | ||
− | {{Fixbox|description=Change sensitivity, deadzone | + | {{Fixbox|description=Change sensitivity, deadzone size, inversion|fix= |
Using [[#Permanent console variable (cvar) changes|the guide below]], change {{File|Input.ini}} to include these lines: | Using [[#Permanent console variable (cvar) changes|the guide below]], change {{File|Input.ini}} to include these lines: | ||
<pre> | <pre> | ||
Line 239: | Line 284: | ||
AxisConfig=(AxisKeyName="Gamepad_RightY",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)) | ||
</pre> | </pre> | ||
− | }} | + | where the currently used values are the default.}} |
==Issues fixed== | ==Issues fixed== | ||
===Stuttering=== | ===Stuttering=== | ||
− | {{ii}} Shader compilation causes stuttering. | + | {{ii}}Shader compilation causes stuttering. Some games, like Borderlands 3 for example, store shaders only temporarly, which means, you will stutter at the same place every time the level is loaded. Unfortunately there is no cvar to tweak this behavior. |
{{++}}[https://github.com/Sporif/dxvk-async DXVK-async] can remove shader compilation stutters. | {{++}}[https://github.com/Sporif/dxvk-async DXVK-async] can remove shader compilation stutters. | ||
{{--}}Using DXVK reduces your average FPS by 10% to 20%. | {{--}}Using DXVK reduces your average FPS by 10% to 20%. | ||
− | === | + | ===Jittery temporal anti-aliasing=== |
− | {{ | + | {{--}} At higher TAA sample counts edges may appear jittery, even when still with no camera movement. |
− | {{Fixbox|description= | + | {{++}} 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. | ||
+ | |||
+ | {{Fixbox|description=Stop current frame from being considered in TAA|fix= | ||
Using [[#Permanent console variable (cvar) changes|the guide below]], change {{File|Engine.ini}} to include these lines: | Using [[#Permanent console variable (cvar) changes|the guide below]], change {{File|Engine.ini}} to include these lines: | ||
<pre> | <pre> | ||
− | + | r.TemporalAACurrentFrameWeight=0 | |
− | r.TemporalAACurrentFrameWeight=0. | + | </pre> |
+ | |||
+ | 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=== | ||
+ | {{ii}} This bug may occur when using a Vulkan beta driver from Nvidia. | ||
+ | {{Fixbox|description=Disable Use Collapsed Arrays option for the game|ref=|fix= | ||
+ | Run the game with this Launch Parameter: | ||
+ | <pre> | ||
+ | __GL_GlslUseCollapsedArrays=0 | ||
+ | </pre> | ||
+ | |||
+ | On Steam that would be: | ||
+ | <pre> | ||
+ | __GL_GlslUseCollapsedArrays=0 %command% | ||
</pre> | </pre> | ||
}} | }} | ||
− | === | + | ===Native resolution is not available in borderless window modes=== |
− | {{ii}} | + | {{ii}} 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. |
{{mm}} 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. | {{mm}} 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. | ||
− | |||
− | {{Fixbox|description=Allow a game to use the native resolution|fix= | + | {{Fixbox|description=Allow a game to use the native resolution in borderless window modes|ref=<ref>{{Refcheck|user=Aemony|date=2019-10-25|comment=Used same method now for both Code Vein and The Outer World.}}</ref>|fix= |
− | # Locate the main game executable. | + | # Locate the main game executable (''e.g. {{file|<internal-project-name>-Win64-Shipping.exe}}'') in a subfolder of the game. |
+ | #* This is usually located in <code>{{p|game}}\<internal-project-name>\Binaries\Win64\</code> ('''Win32''' if 32-bit). | ||
# Right-click on the executable and select '''Properties'''. | # Right-click on the executable and select '''Properties'''. | ||
# Navigate to the '''Compatibility''' tab and click on '''Change high DPI settings'''. | # Navigate to the '''Compatibility''' tab and click on '''Change high DPI settings'''. | ||
Line 269: | Line 332: | ||
#* '''[x]''' Override high DPI scaling behavior. | #* '''[x]''' Override high DPI scaling behavior. | ||
#* Scaling performed by: <code>Application</code> | #* Scaling performed by: <code>Application</code> | ||
− | # Click on '''OK'''. | + | # Click on '''OK''' followed by '''OK''' again. |
+ | # 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=== | ===SteamVR starts despite the game not using HMD devices=== | ||
{{Fixbox|description=Start the game with {{code|-nohmd}} [[Glossary:Command line arguments|parameter]].|ref=<ref>{{Refcheck|user=Suicide machine|date=2021-07-30}}</ref><ref>{{Refurl|url=https://answers.unrealengine.com/questions/1021190/stopping-game-from-launching-in-vr.html?sort=oldest|title=Stopping game from launching in VR|date=2021-07-30}}</ref>}} | {{Fixbox|description=Start the game with {{code|-nohmd}} [[Glossary:Command line arguments|parameter]].|ref=<ref>{{Refcheck|user=Suicide machine|date=2021-07-30}}</ref><ref>{{Refurl|url=https://answers.unrealengine.com/questions/1021190/stopping-game-from-launching-in-vr.html?sort=oldest|title=Stopping game from launching in VR|date=2021-07-30}}</ref>}} | ||
+ | |||
+ | ==Other information== | ||
+ | ===GameThread timed out waiting for RenderThread - After Windows Standby=== | ||
+ | {{ii}} Games may crash after a longer standby period. This can be fixed by increasing the timeout value. | ||
+ | Edit the Engine.ini file and add <code>g.TimeoutForBlockOnRenderFence=9999999</code> to the <code>[SystemSettings]</code> | ||
===Enable developer console=== | ===Enable developer console=== | ||
− | + | {{ii}} 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. | |
+ | {{ii}} Independent of custom game code - potential for reliability. | ||
+ | |||
+ | {{Fixbox|description=Extract and set up the Universal Unreal Engine 4 Unlocker|fix= | ||
+ | # Download and extract the [https://framedsc.github.io/GeneralGuides/universal_ue4_consoleunlocker.htm#downloading-the-unlocker Universal Unreal Engine 4 Unlocker]. | ||
+ | # Run <code>UuuClient.exe</code>. | ||
+ | # Click 'Select' to select the process to inject the DLL into. | ||
+ | # Once the injection succeeds, press {{key|~}} in game to bring up the UE4 console (one press brings up mini-console, two presses will show the full thing). | ||
+ | # Type in desired command, or see [https://digilander.libero.it/ZioYuri78/ this list] of default UE4 cvars.{{Note|note=This list is for UE4 in general, most games will likely have custom ones not listed here.}} | ||
+ | |||
+ | '''Notes''' | ||
+ | {{ii}} <code>UuuClient.exe</code> needs to be run each time the game is started, as this fix is not permanent. Use the [https://community.pcgamingwiki.com/files/file/1443-universal-ue4-dev-console-launcher/ UE4 dev-console launcher] to automatically launch games with the console enabled. | ||
+ | {{ii}} If the console doesn't open when pressing {{key|~}}, try following the instructions in the console unlocker's <code>Readme.txt</code> file. | ||
+ | }} | ||
===Permanent console variable (cvar) changes=== | ===Permanent console variable (cvar) changes=== | ||
− | {{ii}} Unreal Engine 4 | + | {{ii}} 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 entered values being ignored depending on the graphics settings. |
− | {{++}} Entering cvars into the | + | {{++}} Entering cvars into the Engine.ini file instead should ensure the value changes will take place. |
− | {{Fixbox|description=Add | + | {{Fixbox|description=Add cvar name/values to the Engine.ini file|fix= |
+ | The Engine.ini file will usually accept cvar name/value pairs inside it, but only if entered into a <code>[SystemSettings]</code> section. | ||
# Open the <code>Engine.ini</code> file inside the games config folder in a text editor. | # Open the <code>Engine.ini</code> file inside the games config folder in a text editor. | ||
# If the file does not have a <code>[SystemSettings]</code> section, add one to the bottom. | # If the file does not have a <code>[SystemSettings]</code> section, add one to the bottom. | ||
− | # Inside that section, add | + | # Inside that section, add any preferred cvar name/value pairs, with the name/value separated with an '=' character, eg: <code>r.MaxAnisotropy=16</code>. Comments can also be added to the file by starting them with a ';' character. |
− | |||
# Save the file. | # Save the file. | ||
'''Notes''' | '''Notes''' | ||
− | {{ii}} Values set with this method should usually override any value set elsewhere, however, some games might store values inside | + | {{ii}} 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 [[#Enable developer console|through the developer console]] after loading the save and expect that the modified value may be written into the save. |
− | {{ii}} 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 isn't desired. | + | {{ii}} 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. |
{{ii}} 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. | {{ii}} 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. | ||
{{ii}} 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 <code>{{P|localappdata}}\<Game>\Saved\Config\</code>. | {{ii}} 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 <code>{{P|localappdata}}\<Game>\Saved\Config\</code>. | ||
}} | }} | ||
− | ===[https://www.epicgames.com/store/browse?sortBy=relevance&sortDir=DESC&category=Editor&count=40&start=0 | + | ===[https://www.epicgames.com/store/browse?sortBy=relevance&sortDir=DESC&category=Editor&count=40&start=0 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]]. | {{++}} Customized versions of the Unreal Editor for creating custom maps and mods for select UE4 games can be found on the [[Epic Games Store]]. | ||
Revision as of 15:39, 9 November 2022
Developers | |
---|---|
Epic Games | |
Website | |
https://www.unrealengine.com/ | |
First release date | |
March 2014 | |
Predecessor | |
Unreal Engine 3 | |
Successor | |
Unreal Engine 5 | |
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 [/script/engine.localplayer] AspectRatioAxisConstraint=AspectRatio_MaintainYFOV
|
Borderless fullscreen windowed
Borderless Fullscreen |
---|
Using the guide below, change [SystemSettings] r.FullScreenMode=1 |
Exclusive fullscreen
Exclusive Fullscreen |
---|
Using the guide below, change [SystemSettings] r.FullScreenMode=0 |
Anti-aliasing (AA)
Disable anti-aliasing |
---|
Using the guide below, modify [SystemSettings] r.PostProcessAAQuality=0 |
FXAA
Enable FXAA |
---|
Using the guide below, modify [SystemSettings] r.PostProcessAAQuality=2 |
TAA
Enable Temporal AA |
---|
Using the guide below, modify [SystemSettings] r.PostProcessAAQuality=4 |
Sharpen
Enable and adjust image sharpening |
---|
Using the guide below, modify [SystemSettings] r.Tonemapper.Sharpen=1 |
Anisotropic filtering (AF)
Set anisotropic filtering to the highest quality |
---|
Using the guide below, modify [SystemSettings] r.MaxAnisotropy=16 |
Vertical sync (Vsync)
Disable V-Sync |
---|
Using the guide below, change [SystemSettings] r.VSync=0 |
Frame rate (FPS)
Disable smooth frame rate |
---|
Using the guide below, change [/Script/Engine.Engine] bSmoothFrameRate=0 |
Disable FPS cap |
---|
Using the guide below, change [/Script/Engine.RendererSettings] t.MaxFPS=0 |
Set FPS limit |
---|
Edit [/Script/Engine.GameUserSettings] FrameRateLimit=60.000000 |
High dynamic range (HDR)
- Earlier versions of the engine do not support DXGI HDR output for DirectX 11 and must be running in Exclusive Fullscreen (FSE) mode in order for this to work.[1]
- See the official engine documentation for more details.
Enable native HDR output |
---|
Using the guide below, change [SystemSettings] r.AllowHDR=1 r.HDR.EnableHDROutput=1 r.HDR.Display.OutputDevice=5 r.HDR.Display.ColorGamut=2 Optionally you can add these lines to boost the UI brightness. This might make the UI integrate better with HDR. r.HDR.UI.CompositeMode=1 r.HDR.UI.Level=1.5 |
Adaptive exposure
Disable Adaptive Exposure |
---|
Using the guide below, change [SystemSettings] r.EyeAdaptationQuality=0 |
Ambient occlusion
Disable Ambient Occlusion |
---|
Using the guide below, change [SystemSettings] r.AmbientOcclusionLevels=0 |
Bloom
Disable Bloom |
---|
Using the guide below, change [SystemSettings] r.BloomQuality=0 |
Screen Space Reflections
Disable SSR |
---|
Using the guide below, change [SystemSettings] r.SSR=0 |
Fog
Disable Fog |
---|
Using the guide below, change [SystemSettings] r.Fog=0 r.VolumetricFog=0 |
Chromatic aberration
Disable Chromatic Aberration |
---|
Using the guide below, change [SystemSettings] r.SceneColorFringeQuality=0 |
Depth of field
Disable depth of field |
---|
Using the guide below, modify [SystemSettings] r.DepthOfFieldQuality=0 |
Film grain
Disable film grain |
---|
Using the guide below, modify [SystemSettings] r.Tonemapper.GrainQuantization=0 |
Lens flare
Disable lens flare |
---|
Using the guide below, modify [SystemSettings] r.LensFlareQuality=0 |
Motion blur
Disable motion blur |
---|
Using the guide below, modify [SystemSettings] r.MotionBlurQuality=0 |
Temporal Super Resolution
- Unreal Engine 4.19 added support for temporal AA upsampling GEN 4.[2]
- See the official engine documentation for more details.
Enable temporal AA upsampling (TAAU) GEN 4 |
---|
Using the guide below, modify [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.[3]
- Works similar to AMD FSR 2.0
Enable temporal AA upsampling (TAAU) GEN 5 |
---|
Using the guide below, modify [SystemSettings] r.PostProcessAAQuality=4 r.TemporalAA.Upsampling=1 r.TemporalAA.Algorithm=1 r.ScreenPercentage=75 |
Vignette
Disable Vignette |
---|
Using the guide below, modify [SystemSettings] r.Tonemapper.Quality=1
|
Input
Mouse smoothing
Disable mouse smoothing |
---|
Using the guide below, change [/Script/Engine.InputSettings] bEnableMouseSmoothing=False |
Controller analog stick options
Change sensitivity, deadzone size, inversion |
---|
Using the guide below, change [/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
- Shader compilation causes stuttering. Some games, like Borderlands 3 for example, store shaders only temporarly, which means, you will stutter at the same place every time the level is loaded. Unfortunately there is no cvar to tweak this behavior.
- DXVK-async can remove shader compilation stutters.
- Using DXVK reduces your average FPS by 10% to 20%.
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 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. |
- 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[5] |
---|
|
SteamVR starts despite the game not using HMD devices
Start the game with -nohmd parameter.[6][7]
|
---|
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 |
---|
Notes
|
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 entered values being 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
Notes
|
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
Notes
- ↑ This list is for UE4 in general, most games will likely have custom ones not listed here.
References
- ↑ Verified by User:Aemony on 2022-08-09
- Windows 10 did not natively support HDR output before v1703 which forced game engines to use proprietary APIs from AMD/Nvidia to allow HDR output through Exclusive Fullscreen mode. Once this limitation of Windows 10 was removed, Unreal Engine 4 (despite what the official documentation claims) was eventually updated to support proper DXGI based HDR output in windowed modes.
- ↑ TAAU GEN 4 - last accessed on 2022-07-05
- ↑ TAAU GEN 5 - last accessed on 2022-07-05
- ↑ ACES Tonemapper - last accessed on 2022-08-16
- ↑ Verified by User:Aemony on 2019-10-25
- Used same method now for both Code Vein and The Outer World.
- ↑ Verified by User:Suicide machine on 2021-07-30
- ↑ Stopping game from launching in VR - last accessed on 2021-07-30