Difference between revisions of "Engine:Unreal Engine 4"

From PCGamingWiki, the wiki about fixing PC games
(Info about UE4 modding tools)
(Field of view (FOV))
(One intermediate revision by the same user not shown)
Line 31: Line 31:
 
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>[/script/engine.localplayer]
 
<pre>[/script/engine.localplayer]
AspectRatioAxisConstraint=AspectRatio_MaintainYFOV</pre>
+
AspectRatioAxisConstraint=120</pre>
 
}}
 
}}
  

Revision as of 02:20, 28 August 2021

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
This results in a tremendously higher FOV than intended, and will likely result in a "fishbowl" effect on anything narrower than a 48:9 triple-monitor setup. Some users may consider this ultra-high FOV to be desirable, while others will find it detrimental to their enjoyment.

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

[/script/engine.localplayer]
AspectRatioAxisConstraint=120

Borderless fullscreen windowed

Borderless Fullscreen

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

[SystemSettings]
r.FullScreenMode=1

Anti-aliasing (AA)

Configure anti-aliasing quality[1]

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

[SystemSettings]
r.PostProcessAAQuality=0
0 disables anti-aliasing, while values from 1 to 6 affect the quality of the used method (FXAA or TAA).
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.

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

Exclusive fullscreen

Exclusive Fullscreen

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

[SystemSettings]
r.FullScreenMode=0

Adaptive exposure

Disable Adaptive Exposure

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

[SystemSettings]
r.EyeAdaptationQuality=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

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.[dubious – discuss]

Input

Mouse smoothing

Disable mouse smoothing

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

[/Script/Engine.InputSettings]
bEnableMouseSmoothing=False

Issues fixed

Streaming stutter/slowdown

By default UE4 is setup to stream in level assets while playing, which could cause stuttering during gameplay when those assets are loaded.
Fortunately this streaming can be controlled with a console variable, for people with plenty of RAM & VRAM it might be better to disable it and load in all assets when the level first loads instead.
Changing it this way will cause some stutter/freezing when first loading into the level, but after finished loading it should hopefully let gameplay be more stable.
Disable UE4 asset streaming, and load all assets on map load

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

r.Streaming.FullyLoadUsedTextures=1
r.Streaming.HLODStrategy=2

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 supposedly could cause more ghosting in some games, though the author couldn't see this happen.
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.

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[2]
  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.[3][4]

Other information

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 after loading the save through the developer console 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.
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.
The Unreal Engine EULA states that any engine tools must only be distributed through authorized services such as the Epic Games Store, Unreal Marketplace or private GitHub repositories that can only be accessed with an Epic-linked GitHub account. They cannot be distributed through Steam, GOG.com or other storefronts.[5]
Game Developer Publisher First release Available on
103 Dystopia Interactive December 21, 2018
Windows
macOS (OS X)
Linux
2000:1: A Space Felony National Insecurities Humble Bundle, National Insecurities July 7, 2017
Windows
3 out of 10 Terrible Posture Games August 6, 2020
Windows
303 Squadron: Battle of Britain Atomic Jelly Movie Games, PlayWay August 31, 2018
Windows
404Sight Retro Yeti Games April 16, 2015
Windows
6 Seasons and a Game The Human Beings Moto Studios January 9, 2021
Windows
A Fisherman's Tale Innerspace VR Vertigo Games January 22, 2019
Windows
A Glider's Journey Emma Franklin, Charlie Marshall Emma Franklin September 27, 2019
Windows
A Rip in Time iV Games
A Way Out Hazelight Studios Electronic Arts March 23, 2018
Windows
A Writer and His Daughter Dimfrost September 30, 2017
Windows
A Year of Rain Daedalic Entertainment March 13, 2020
Windows
Absolver Sloclap Devolver Digital August 29, 2017
Windows
Abzû Giant Squid Studios 505 Games August 2, 2016
Windows
Ace Combat 7: Skies Unknown Project Aces Bandai Namco Entertainment January 31, 2019
Windows
Adrift Three One Zero 505 Games March 28, 2016
Windows
AFL Evolution 2 Wicked Witch Software Tru Blu Games September 11, 2020
Windows
AfterShock Sam Goddard, Calvin Bennett Focus Studios
Windows
Agony Madmind Studio, Abstraction PlayWay May 29, 2018
Windows
Agony Unrated Madmind Studio October 30, 2018
Windows
Alchemy Garden MadSushi Metaboli
Windows
Alert: Sector 8 Cypress Inheritance June 27, 2016
Windows
Alice VR Carbon Studio Klabater October 27, 2016
Windows
Aliens: Fireteam Elite Cold Iron Studios Focus Home Interactive August 24, 2021
Windows
All-Star Fruit Racing 3DClouds.it July 13, 2018
Windows
Alluris 562 Interactive October 11, 2019
Windows
macOS (OS X)
Alone in the Dark: Illumination Pure FPS Atari, THQ Nordic June 9, 2015
Windows
Alucinod Thomas Pettus August 30, 2019
Windows
Amid Evil Indefatigable New Blood Interactive June 20, 2019
Windows
Ancestors Legacy Destructive Creations 1C Company May 22, 2018
Windows
Ancestors: The Humankind Odyssey Panache Digital Games Private Division August 27, 2019
Windows
Animal Super Squad DoubleMoose Games May 15, 2019
Windows
Apsulov: End of Gods Angry Demon Studio August 8, 2019
Windows
Aquanox: Deep Descent Digital Arrow THQ Nordic October 16, 2020
Windows
Arcadegeddon IllFonic
Windows
Arise: A Simple Story Piccolo Techland December 3, 2019
Windows
ARK: Survival Evolved Studio Wildcard, Instinct Games, Efecto Studios, Virtual Basement, Abstraction Games Studio Wildcard August 29, 2017
Windows
macOS (OS X)
Linux
Asemblance Nilo Studios June 21, 2016
Windows
Asgard's Wrath Sanzaru Games Oculus Studios October 10, 2019
Windows
Ashen A44 Annapurna Interactive December 7, 2018
Windows
Assault Spy Wazen NIS America October 2, 2018
Windows
Assetto Corsa Competizione Kunos Simulazioni 505 Games May 29, 2019
Windows
AstroKill Doomsday Games
Windows
Linux
Astroneer System Era Softworks February 6, 2019
Windows
Asylum Senscape
Atomic Heart Mundfish
Auto Chess Dragonest October 29, 2020
Windows
Aven Colony Mothership Entertainment Team17 July 25, 2017
Windows
Avowed Obsidian Entertainment Xbox Game Studios
Axiom Soccer Earthbound Games
Windows
Azur Lane: Crosswave Idea Factory, Compile Heart, Felistella Idea Factory International February 13, 2020
Windows
Back 4 Blood Turtle Rock Studios Warner Bros. Interactive Entertainment October 12, 2021
Windows
Backbone EggNut Raw Fury June 8, 2021
Windows
Bad Guys at School Forceight June 15, 2020
Windows
Balan Wonderworld Arzest, Balan Company Square Enix March 26, 2021
Windows
Batman: Arkham VR Rocksteady Studios Warner Bros. Interactive Entertainment April 25, 2017
Windows
Battalion 1944 Bulkhead Interactive Square Enix May 23, 2019
Windows
Battle Breakers Epic Games November 13, 2019
Windows
Battlefleet Gothic: Armada Tindalos Interactive Focus Home Interactive April 21, 2016
Windows
Battlefleet Gothic: Armada 2 Tindalos Interactive Focus Home Interactive January 24, 2019
Windows
Beastiarium Fazan December 5, 2016
Windows
Bee Simulator Varsav Game Studios Bigben Interactive|Nacon|Bigben Interactive November 14, 2019
Windows
Ben and Ed Sluggerfly December 8, 2015
Windows
Between Two Castles - Digital Edition Daisu Games November 15, 2019
Windows
Beyond a Steel Sky Revolution Software June 26, 2020
macOS (OS X)
Windows
Linux
Bierzerkers Shield Break Studios February 25, 2016
Windows
Bigfoot CyberLight Game Studio
Windows
Biomutant Experiment 101 THQ Nordic May 25, 2021
Windows
BIOS PIXYUL December 16, 2016
Windows
Black Myth: Wukong Game Science Interactive
Blair Witch Bloober Team Lionsgate Games August 30, 2019
Windows
Blazing Sails: Pirate Battle Royale Get Up Games
Windows
Bleeding Edge Ninja Theory Xbox Game Studios March 24, 2020
Windows
Bless Unleashed Round8 Studio Neowiz August 6, 2021
Windows
Bloodstained: Ritual of the Night ArtPlay, DICO, Disruptive Games, WayForward Technologies 505 Games June 18, 2019
Windows
Blue Fire ROBI Studios Graffiti Games February 4, 2021
Windows
Boiling Bolt Persistant Studios Plug In Digital December 5, 2017
Windows
Bone Voyage Team Cobblestone Breda University of Applied Science May 6, 2019
Windows
Borderlands 3 Gearbox Software 2K Games September 13, 2019
Windows
macOS (OS X)
Botology Black Lime Studio June 24, 2015
Windows
Bottle Tonguç Bodur April 21, 2016
Windows
BPM: Bullets per Minute Awe Interactive September 15, 2020
Windows
Bravely Default II Claytechworks, Square Enix Square Enix September 2, 2021
Windows
Breach QC Games
Breathedge RedRuins Softworks HypeTrain Digital, RedRuins Softworks February 25, 2021
Windows
Brick Rigs Lukas Rustemeyer November 7, 2016
Windows
Brickadia Brickadia Development Team
Windows
Linux
Bright Memory FYQD-Studio FYQD-Studio, AGM PLAYISM March 25, 2020
Windows
Broomstick League Virtual Basement Blue Isle Studios
Builders of Egypt Strategy Labs PlayWay, CreativeForge Games
Windows
Bunny Minesweeper DillyFrame January 1, 2018
Windows
Burning Daylight Burning Daylight Team April 19, 2019
Windows
Bus Simulator 18 stillalive studios astragon Entertainment June 13, 2018
Windows
Bus Simulator 21 stillalive studios astragon Entertainment September 7, 2021
Windows
Call of Cthulhu Cyanide Studio Focus Home Interactive October 30, 2018
Windows
Call of the Sea Out of the Blue Raw Fury December 8, 2020
Windows
Capsular Gunschlinger July 25, 2019
Windows
CastleStorm II Zen Studios September 23, 2020
Windows
CAT Interstellar Ionized Games October 7, 2017
Windows
Linux
Century: Age of Ashes Playwing
Windows

More...

Notes

  1. This list is for UE4 in general, most games will likely have custom ones not listed here.

References

  1. Scalability Reference - last accessed on 2021-02-02
    "Adjusting the Anti-Aliasing quality level using the r.PostProcessAAQuality console command will adjust the quality of whichever Anti-Aliasing method you are using (FXAA or Temporal AA). For either Anti-Aliasing method, a value of 0 used with r.PostProcessAAQuality will disable the effect. For FXAA, the effect of values 2, 4, and 6, can be seen in the above image; the smoothing of jagged edges becomes better and better. Values above 6 have no effect."
  2. Verified by User:Aemony on 2019-10-25
    Used same method now for both Code Vein and The Outer World.
  3. Verified by User:Suicide machine on 2021-07-30
  4. Stopping game from launching in VR - last accessed on 2021-07-30
  5. Unreal Engine - End User License Agreement For Publishing - last accessed on 2021-08-05
    "Any public Distribution (i.e., intended for Engine Licensees generally) which includes Engine Tools (including as modified by you under the License) must take place either through the Marketplace (e.g., for distributing a Product’s modding tool or editor to end users) or through a fork of Epic’s GitHub UnrealEngine Network (e.g., for distributing source code)."