Sword Art Online: Fatal Bullet

Sword Art Online: Fatal Bullet

240 ratings
UE4 Tweaks Guide (Temporal AA, No Chromatic Aberration, Improve Performance, and More!)
By Lulech23
Sword Art Online: Fatal Bullet is built in Unreal Engine 4. UE4 is a very flexible engine which allows changing many settings outside the game--even those which don't appear in the in-game options menu. In this guide, we'll examine how to configure a handful of these settings which may be of particular interest to SAO:FB players.
3
   
Award
Favorite
Favorited
Unfavorite
Introduction

Sword Art Online: Fatal Bullet is built in Unreal Engine 4. UE4 is a very flexible engine which allows changing many settings outside the game--even those which don't appear in the in-game options menu. In this guide, we'll examine how to configure a handful of these settings which may be of particular interest to SAO:FB players.

UE4 settings for SAO:FB are stored in a series of .ini files located at:

%localappdata%\SAOFB\Saved\Config\WindowsNoEditor

This folder contains several .ini files, many of which are empty. However, for our purposes we only need three: Engine.ini, Scalability.ini, and GameUserSettings.ini.

The first file contains explicit engine settings, while the last two handle user-level options instead. To edit the most basic settings, open GameUserSettings.ini and look for the header ScalabilityGroups.

[ScalabilityGroups] sg.ResolutionQuality=100.000000 sg.ViewDistanceQuality=3 sg.AntiAliasingQuality=3 sg.ShadowQuality=3 sg.PostProcessQuality=3 sg.TextureQuality=3 sg.EffectsQuality=3 sg.FoliageQuality=3

Most of these settings are directly configurable from the in-game options menu, and have a range of 0-3, where 0 is low/off and 3 is ultra. But note the term "scalability groups". Each of these settings actually modifies an entire group of settings. While it's a nice way to simplify things, it's entirely possible you only want to disable one or two features while keeping the rest.

That's where Scalability.ini comes in. In this file, it is possible to modify individual settings affected by scalability groups and even determine which quality setting to apply them to. In other words, instead of permanently overriding the in-game options menu, you can completely customize how the in-game options menu behaves! Just take the scalability group category name and add an @ symbol followed by the quality level the settings apply to. For example:

[TextureQuality@3] r.MaxAnisotropy=16

With this value set in Scalability.ini, if sg.TextureQuality is set to 3 in GameUserSettings.ini, anisotropic filtering will be set to 16.

Note that it isn't necessary to specify every available setting in a scalability group to make modifications such as this. Any values set to their defaults will be automatically removed from Scalability.ini at runtime.

Now that you know how each of these three configuration files is used, let's take a look at some of the things you can do with them!
Engine Settings
To apply engine settings, edit Engine.ini and add the header:

[SystemSettings]

Almost any custom engine settings should be added under this header to function.
1. Temporal Anti-Aliasing
SAO:FB uses a method of anti-aliasing known as FXAA by default. FXAA is a very fast, shader-based approach to anti-aliasing, but as a post-process effect it is unable to truly eliminate jaggies at the source. Temporal anti-aliasing is a newer alternative built directly into UE4 which works by jittering pixels and sampling color data from a variety of positions to create a smoother final image.

To enable TAA in SAO:FB, add the following settings under the [SystemSettings] header:

r.DefaultFeature.AntiAliasing=2 r.TemporalAACurrentFrameWeight=0.2 r.TemporalAASamples=32 r.TemporalAASharpness=0.8 r.Tonemapper.Sharpen=1

The setting r.TemporalAASamples essentially determines TAA quality. Acceptable values are 4, 8 (default), 16, 32, and 64. The higher the value, the less visible jitter is produced as a side effect of the AA method, but at slight cost to performance.

Note that the r.DefaultFeature.AntiAliasing setting determines the anti-aliasing method used. Setting this value to 0 will disable AA entirely, while 1 uses FXAA and 2 uses TAA.
2. Console Variables
For additional settings, UE4 supports adding a second header in Engine.ini:

[ConsoleVariables]

This is a very powerful feature, as it allows setting values for nearly any miscellaneous variables that might not have anywhere else to be declared. For example:

r.ScreenPercentage=75

This will force the game to render at 75% resolution scaling, improving performance without actually changing the output screen resolution. Because this is an override, there is no need to worry about in-game settings overwriting the change, allowing to set a scale higher or lower than is officially supported.

There are MANY console variables available, depending on the exact version of Unreal Engine 4 used to build the game. While more recently-added variables might not work, most can be added here to greatly customize your experience.

See here[www.kosmokleaner.de] or here[digilander.libero.it] for a searchable list of variables. Or, if you have UE4 installed yourself (it's free!), you can use the "dumpconsolecommands" command in an actual Unreal Engine console.
Scalability Settings
To apply scalability settings, edit Scalability.ini and add a new header for each scalability group you wish to modify, followed by the @ symbol and the quality level you wish to apply settings to. For example:

[TextureQuality@3]

The corresponding scalability group must be set to the same quality level in GameUserSettings.ini for changes to be applied in-game.

Note that default values for all scalability groups can be found in Unreal Engine 4 Documentation[docs.unrealengine.com]. This guide is not exhaustive--try out other settings for yourself!
1. Ambient Occlusion
Left: AO off, Right: AO on (note the corner and shelves)

Ambient occlusion is a shading technique which produces soft shadows based on objects' proximity to each other. This applies to everything from individual body parts to huge environments, so it has a big impact on scene appearance. However, it can also have a big impact on performance for weaker GPUs. On the other hand, stronger GPUs can benefit from even higher-quality AO than is enabled by default.

[PostProcessQuality@2] r.AmbientOcclusionLevels=0 [PostProcessQuality@3] r.AmbientOcclusionLevels=4

Acceptable values range from 0-4, where 2 is default at both medium and high settings.
2. Anisotropic Filtering
SAO:FB uses a maximum of 8x anisotropic filtering by default. Higher AF improves the appearance of textures when viewed at an angle, making them true to their original detail and less blurry.

[TextureQuality@3] r.MaxAnisotropy=16

Acceptable values include 0, 2, 4, 8, and 16.
3. Blur Graphics Buffer
At higher settings, SAO:FB uses a separate buffer for certain post-processing effects. This can produce slightly higher-quality results, but often isn't noticeable to the naked eye and can have a huge performance penalty. Most users will want to simply disable this for more FPS.

[PostProcessQuality@2] r.BlurGBuffer=0 [PostProcessQuality@3] r.BlurGBuffer=0

Acceptable values are 0 (off) and 1 (on), where 1 is default at both medium and high settings.
4. Chromatic Aberration
Left: CA on, Right: CA off (note the floor and character's arm)

Chromatic aberration is designed to simulate the color distortions of real camera lenses, but SAO:FB more likely just uses it for aesthetic effect. Unfortunately, it also default adds pixelation and blur to the scene, so you may prefer to just disable it. Chromatic aberration is enabled by default at quality levels 2 and 3, so you'll need to include both to get rid of it altogether.

[PostProcessQuality@2] r.SceneColorFringeQuality=0 [PostProcessQuality@3] r.SceneColorFringeQuality=0

Acceptable values are 0 (off) and 1 (on), where 1 is default at both medium and high settings.
5. Depth of Field
Left: DOF off, Right: DOF on (note the light on the door)

Depth of field is a diffusion technique designed to simulate camera blur, but SAO:FB uses it more as a light bloom technique on various scene elements. As a result, DOF can be disabled for improved performance even in scenes which have no traditional camera blur effect.

[PostProcessQuality@3] r.DepthOfFieldQuality=0

Acceptable values range from 0-2, where 2 is default at both medium and high settings.
6. Screen-Space Reflections
Left: SSR on, Right: SSR off (note the floor and back wall)

GGO can be a shiny place with lots of reflective surfaces using a combination of basic environment mapping and more advanced screen-space reflections. While the effect looks quite nice, it can also be taxing on weaker GPUs. On the other hand, stronger GPUs can benefit from even higher-quality reflections than are enabled by default.

[EffectsQuality@3] r.SSR.Quality=0

Acceptable values range from 0-4, where 0 is off, 3 is default, and 4 is max quality.
7. Shadows
Dynamic shadows are a crucial element for adding depth to a scene. However, they can also have a big impact on performance for weaker GPUs. On the other hand, stronger GPUs can benefit from even higher-quality shadows than are enabled by default.

Shadows are primarily affected by two values: quality and resolution. As these are independent of each other, it is possible to reduce shadow resolution while keeping the same quality, or reduce quality while keeping the same resolution. In this way it is possible to balance performance and appearance on low-end systems.

[ShadowQuality@2] r.ShadowQuality=3 r.Shadow.MaxResolution=512 [ShadowQuality@3] r.ShadowQuality=4 r.Shadow.MaxResolution=2048

Shadow quality ranges from 0-5, where 5 is default at medium and high settings. Max resolution is the square resolution of shadows in texels, where 4 is minimum and 1024 is default.
Other Settings
Made any other great tweaks? Share them in the comments below!

< >
108 Comments
Rokalm Mar 29 @ 7:42pm 
draw distance of grass is affected by view distance
Fenharell Mar 19 @ 5:09am 
Hello. I just read your guilde and its great. I tried to use your tips in Conan Exiles that based on UE4 too, and it works. One thing that i cant figure out is Foliage quality - there are no lines in scalability.ini and in engine.enin that affects draw distance of grass and its sad, dont you know how to edit it?
Lulech23  [author] Dec 16, 2020 @ 7:26pm 
@Waryth I have a long history with Unreal Engine, so I just looked up the developer documentation for UE4 to come up with parameters to try, and then tested it to figure out which ones worked in this particular game. Not sure how difficult it'd be to add new values to the UI, but most likely it'd require considerable effort. Editing and relaunching is pretty much the only way, unfortunately. Hopefully my screenshots give you an idea of each setting in advance.
Waryth Dec 16, 2020 @ 5:19am 
I'm confused on how you're able to make up this settings without a slider or at least see it in-game. How are you able to do it? I would like to set up my own graphics settings as possible without editing the text config back and forth and see it in-game restart after restart just to see my desired results..
Lulech23  [author] Nov 17, 2020 @ 7:10pm 
As a VR title, ADR1FT is most likely using UE4's forward renderer, which may have different TAA parameters. I haven't investigated that though, sorry.
Egor179 Nov 17, 2020 @ 1:45am 
So, after numerous attempts to enable TAA in ADR1FT by editing the configs, I still could not do it,
as in the case with The Solus Project, but there was a console, with its help I was still able to turn on TAA, in ADR1FT the console is locked. Any ideas on this?
Lulech23  [author] Aug 26, 2020 @ 11:10pm 
Thank you!
tynian87116 Aug 26, 2020 @ 5:11pm 
I don't even own this game, but this guide was well worth my time for games I have that are UE4. I hope you enjoy all the awards Steam'll allow me to throw at you OP, excellent guide!:stronk:
2ndLastJedi Jun 3, 2020 @ 11:26pm 
Gregory , can you share what settings you used ?
Lulech23  [author] Jun 3, 2020 @ 12:04am 
Awesome :D