1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

A Guide To Engine.ini Settings

Discussion in 'General Discussion' started by pschlik, May 5, 2018.

  1. pschlik

    pschlik Well-Known Member

    Joined:
    Dec 8, 2016
    Messages:
    854
    Likes Received:
    1,476
    Tweaking UE4 commands and settings (click the link for a whole list of 'em) in the Engine.ini file has sorta become a trend these days, as it allows us to change graphics settings as well as other things that DTG doesn't have coded in as options in the settings menu. Many of these things are set to their defaults for certain reasons, and anyone who changes such settings might look crazy to DTG, but they can make the game look better or play better, and usually get away without a ton of performance draw. [Even though DTG would like to argue otherwise.]

    But the choice to use them or not is still up to us-and that's what counts!

    So, what is Engine.ini?
    Engine.ini is a file in the folder YourName\Documents\my games\TS2Prototype\Saved\Config\WindowsNoEditor which allows you to edit the default values for Unreal Engine console commands. As we don't have access to the console because we aren't DTG, Engine.ini is the only way to change console commands in normal play.

    In theory, any command can be triggered from here, but there's more to it than just opening the file in notepad and throwing in a few commands!

    Engine.ini setup
    To mess with settings in Engine.ini, open up the file in some text editor of choice. Though the file is ".ini" it's nothing more than plain text. You should notice at least some lines like this:
    Code:
    [Core.System]
    Paths=../../../Engine/Content
    Paths=%GAMEDIR%Content
    ...followed by a bunch of DLC related stuff. It's best to leave that alone. Not sure what happens if you mess with it.

    To add in command calls, go to the bottom of the file, and on a blank line, type in "[SystemSettings]" and hit enter to go to the next line. This line will allow you to call any command you can find, but without it nothing will happen. The hard part, as such, is just finding what commands and values you want to use!

    After that has been entered, you can insert your commands. Each command needs its own line in the file, resulting in a general format like this:
    Code:
    [Core.System]
    Paths=../../../Engine/Content
    Paths=%GAMEDIR%Content
    *assorted DLC paths*
    
    potentially some random junk
    
    [SystemSettings]
    r.command=*value*
    t.otherCommand=*value*
    p.differentCommand=*value*
    
    Keep it all on separate lines and it should work fine. Just beware that, despite any command working, not all commands will actually cause the intended effect. Engine.ini only calls these commands once, when the game starts, and some commands will not work when only called once.

    Useful commands
    Once the file is set up and you know how to enter things, you have to know what to enter! Here are some popular renderer commands and what they do:

    r.ViewDistanceScale=*value*
    This is a nice and simple draw distance multiplier which applies to static scenery-most notably, the railroad tracks and ties. The default value is 1, so whatever number you insert in place of "value" is the multiplier for how far away things will be drawn. This is the most resource intensive command of them all, as the extra objects rendered will massively increase RAM usage and slightly increase GPU usage. A modest example is r.ViewDistanceScale=5, which renders scenery at 5 times the distance.

    r.EyeAdaptationQuality=*value*
    All this command does is turn on or off dynamic brightness adjustment. This is supposed to mimic what everyone's eyes do, but with both our eyes adapting and the game trying to adapt, the stacked effect can look very ugly. Turning this off can make scenes look much more natural and makes the lighting more moody overall. There are a few quality settings, but if you use this command, it is only useful to set it to 0. Oh, and it has 0 effect on FPS. r.EyeAdaptionQuality=0

    r.MaterialQualityLevel=1/0
    Nothing too special with this one, all it does is make procedural grass render from far away or not render from far away. Ironically, despite being a quality setting, this is actually only an on/off setting, and 1 is lower quality than 0. The default value is 1, so it is only useful to add this command if you intend to set it to 0. Despite the difference in grass quality being huge, there is not that much of a hit on FPS. r.MaterialQualityLevel=0

    r.MotionBlurQuality=*value*
    The original Engine.ini tweak-usually used to turn off motion blur, that's about all its useful for. It can handle other values from 0 to 4, but if you want to turn off motion blur and keep it off without needing to hit Ctrl + F2, just set this to 0. It has no FPS impact, and will probably increase FPS if anything. r.MotionBlurQuality=0

    r.SkeletalMeshLODBias=*value*
    A useful setting I just recently tried out, this (and other assorted LOD Bias settings) can be used to make things look good from far away, especially when r.ViewDistanceScale does not apply. Trains are skeletal meshes, so this setting makes trains look better...or worse. In the case of an LOD bias, a negative number makes things look better, a positive number makes them look worse. So this one can really really hurt FPS. UE4 seems to dislike skeletal meshes, so use it at your own risk. A more reasonable value to set is r.SkeletalMeshLODBias=-2

    foliage.LODDistanceScale=*value*
    This LOD setting applies to stuff like trees and bushes. One common complaint is that the transition between tree LODs is too noticable. Set this value to something greater than 1, and trees will render at higher quality further away. Not only will that look better, it will also make the transition between LODs happen further away, which looks a lot better than it changing up front. Before you go to crazy, remember that this is a multiplier, setting it to 20 will render trees 20 times further away...which is a lot. If you want to be reasonable, use foliage.LODDistanceScale=3

    r.Fog=1/0
    Don't like fog? Think a clear day shouldn't be quite this foggy? Well, you can add r.Fog=0 to Engine.ini in order to remove all fog...in all weather presets. Main problem with this option is that even weather presets that should have fog will not have fog, so you'll need to turn it off and on to use it correctly. It's rarely worth the effort. And again, as a binary option defaulted to 1, there is no reason to enter this in Engine.ini except to set it to 0.

    There are other commands of course, but the render settings tend to be the most useful.

    How much of a difference does this all make?
    Want an easier comparison? Look at this link.
    Here's a comparison shot of Bitterfield station using normal settings
    530070_20180906170522_1.png
    ...and then the exact same scene with added Engine.ini tweaks.
    530070_20180906170816_1.png
    Some places will have bigger differences than others, but it is crazy how Ultra settings aren't so ultra as is theoretically possible. The extra catenary detail is really massive, and the extra foliage is noticable too. Also notice how you can't see any passengers normally, but with the engine.ini tweaks, all the waiting passengers are visible again. The talent 2 is mostly unchanged, but it does have a bit of extra detail down there! (Not every computer needs to be able to handle ultra settings, but sometimes it feels like that's DTG's goal.)

    And there are many many other settings to try out. You can change things like shadows and HDR and bloom and etc in there. Check out that link at the top of the post for more commands to try on your own. All these settings suggested here can make the game look better, but you can also always disable lots of specific features to make it look worse, but run faster, if you like. There's all kinds of possibilities.

    Bonus tip: volume increase
    Nobody can deny that TSW is a lot quieter than TS2018 at the same volume settings. And not everyone has speakers that can be changed on a whim, so there's a way to use GameUserSettings.ini to make TSW as loud as you want.

    GameUserSettings.ini, which is in the same folder as Engine.ini, is actually pretty boring, as it is literally only the settings that are already in the options menu, however, it allows you to enter values normally not allowed by the options menu-like 200% sound volume, which is the commonly used number.

    To set your sounds to be a lot louder, it is best to go for the main volume setting. In GameUserSettings.ini, find the line that has "MasterSoundVolume" in it. The numbers here are all normal float numbers, not percentages! So, to double volume, replace MasterSoundVolume=1.000000 with MasterSoundVolume=2.000. NOT 200! (That will be serious loss of hearing!)

    Beware, this can make other things very loud, so you might want to reduce the volume of everything else to start off with, then fine tune to your liking.

    PS: Would help a lot of people if this could get pinned for easier visiblity
     
    Last edited: Sep 6, 2018
    • Upvote Upvote x 31
    • Useful Useful x 3
  2. Anthony Pecoraro

    Anthony Pecoraro Well-Known Member

    Joined:
    Dec 11, 2016
    Messages:
    1,226
    Likes Received:
    1,325
    I’m definitely going to play with these! Thank you for sharing this!
     
  3. jamesbaby286

    jamesbaby286 Member

    Joined:
    Feb 14, 2018
    Messages:
    57
    Likes Received:
    86
    Is there any way to change the distance away that trains pop in from invisible? I've applied these settings and I don't believe I've seen a change in that regard.
     
  4. pschlik

    pschlik Well-Known Member

    Joined:
    Dec 8, 2016
    Messages:
    854
    Likes Received:
    1,476
    That is one effect I was looking for, but I don't know of any way to do that at the moment. I think that's intentional on DTG's part as rendering trains is not the most efficient thing UE4 can do, and rendering them from forever away would just be laggy.
     
    • Upvote Upvote x 1
  5. jamesbaby286

    jamesbaby286 Member

    Joined:
    Feb 14, 2018
    Messages:
    57
    Likes Received:
    86
    I'm surprised they don't use a super low poly version of the trains in the far distance. Just to stop that pop in from being so jarring.
     
    • Upvote Upvote x 1
  6. ProfCreeptonius

    ProfCreeptonius Well-Known Member

    Joined:
    Mar 21, 2018
    Messages:
    195
    Likes Received:
    379
    pschlik I don't think a rating is enough:
    Thank you for this post - my game just got 50 times more enjoyable
     
    Last edited: May 7, 2018
    • Upvote Upvote x 3
  7. Anthony Pecoraro

    Anthony Pecoraro Well-Known Member

    Joined:
    Dec 11, 2016
    Messages:
    1,226
    Likes Received:
    1,325
    I agree!!!!!
     
    • Upvote Upvote x 2
  8. Daniel Bloch

    Daniel Bloch Well-Known Member

    Joined:
    Dec 14, 2016
    Messages:
    586
    Likes Received:
    1,181
    Yes TSW is enjoyable now again! Thx for that! :) (grass tweak rocks!) :D
     
    • Upvote Upvote x 2
  9. Anthony Pecoraro

    Anthony Pecoraro Well-Known Member

    Joined:
    Dec 11, 2016
    Messages:
    1,226
    Likes Received:
    1,325
    I think it adjusts the track render distance too!
     
  10. pschlik

    pschlik Well-Known Member

    Joined:
    Dec 8, 2016
    Messages:
    854
    Likes Received:
    1,476
    Ha! I'll leave the masses and the devs to figure out what does what. It seems the grass setting also changes the shadows of the trees for some reason, but whatever looks good is what counts.
     
    • Upvote Upvote x 1
  11. Shaun123

    Shaun123 New Member

    Joined:
    Jan 22, 2018
    Messages:
    29
    Likes Received:
    16
    One problem I’m having despite having all settings maxed out, is the amount of flickering/shimmering textures in GWE (that’s the only route I play) overhead lines flickering, textures on the Class 166/HST shimmering, and the sort of “jelly cab” effect that was present in TS.

    Is this anti-aliasing related?

    Any fix for it?
     
    • Upvote Upvote x 2
  12. giogurto_grande

    giogurto_grande Member

    Joined:
    Dec 21, 2017
    Messages:
    27
    Likes Received:
    66
    Shaun123, that's caused by TAA which is one of the antialiasing modes available in TSW. It happens mostly when stationary, right? Unfortunately it seems to be an engine-related issue. Or perhaps when you stop the player/train, there is still some kind of micro-movement going on which makes TAA go crazy? It would be helpful if we could raise this directly with one of TSW Devs as they are probably aware of this issue and may know what the cause is.

    I wouldn't recommend changing AA to FXAA or disabling AA at all, because You'll get your eyes sore from all the crawling. You can play around with Reshade, it's a tool that you can configure to add various post-processing effects to 3D games. There are some AA options too.

    On a side note, TAA, from what I've read, is supposed to eliminate shimmering. Ironic :)
     
    • Upvote Upvote x 2
  13. ARuscoe

    ARuscoe Well-Known Member

    Joined:
    Apr 9, 2018
    Messages:
    991
    Likes Received:
    484
    PLEASE PLEASE!
    Before editing ANY file, copy it, even to the same folder and rename it to include OLD. If you then mess anything up, you can delete the new version and copy the old one back into place (renaming as you go)
    Also, once you've got a successful update copy that too and rename to include NEW
    It is very likely that any future update to the software will overwrite the default .ini so you could lose all of the new settings!
     
    • Upvote Upvote x 1
  14. pschlik

    pschlik Well-Known Member

    Joined:
    Dec 8, 2016
    Messages:
    854
    Likes Received:
    1,476
    Updates usually don’t touch Engine.ini. I know some guys who didn’t touch it in months, and it went through all those recent updates we had without any problems.
     
    • Upvote Upvote x 2
  15. KMAC

    KMAC New Member

    Joined:
    Mar 1, 2018
    Messages:
    15
    Likes Received:
    3
    you can also right protect those files as extra protection, that way you can play with settings in game but any changes wont be written to file, its a good way to experiment with your edits.
     
  16. DANNYBOY2487

    DANNYBOY2487 Active Member

    Joined:
    Dec 19, 2017
    Messages:
    138
    Likes Received:
    90
    i got my distance level at 32 and you can see the trains in the distance they don't pop out of nowhere
     
    • Upvote Upvote x 2
  17. LastTrainToClarksville

    LastTrainToClarksville Well-Known Member

    Joined:
    Oct 12, 2017
    Messages:
    648
    Likes Received:
    451
    I gave the rendersettings modification a try, but after looking at both CSX and NEC, I just wasn't that impressed by the changes in landscape, etc., so I've removed them. Honestly, I haven't observed most of the "defects" that bother other contributors to this thread -- just a matter of what matters, I suppose?
     
    • Upvote Upvote x 1
  18. Anthony Pecoraro

    Anthony Pecoraro Well-Known Member

    Joined:
    Dec 11, 2016
    Messages:
    1,226
    Likes Received:
    1,325
    r.MaterialQualityLevel=0 increases the view distance of the grass, but makes the track and trees look worse.
     
    • Upvote Upvote x 1
  19. pschlik

    pschlik Well-Known Member

    Joined:
    Dec 8, 2016
    Messages:
    854
    Likes Received:
    1,476
    New Breakthrough!

    You know how I once said finding the things in brackets like "[/script/engine.renderersettings]" are "hard to find" and that I'd need to find other ones to be able to trigger something other than rendersettings?

    Well, as it turns out, there is a universal thing in brackets that can trigger any command! (from default UE4 stuff to things added in by the devs) Replace [/script/engine.renderersettings] with [SystemSettings] and now you can preset the value of any command, not just the "r.setting" commands.

    I'll need to find some interesting non-renderer commands to use, but to try it out, you can swap in [SystemSettings] and add on something silly like "ShowFlag.CollisionVisibility=1" which isn't a render setting, but if it works, will consistently crash the game on startup. It's silly but it is a good way to check if this is working. I'll have to find if there are other commands actually useful out there.
     
    Last edited: Sep 8, 2018
    • Upvote Upvote x 5
    • Useful Useful x 3
  20. Shaun123

    Shaun123 New Member

    Joined:
    Jan 22, 2018
    Messages:
    29
    Likes Received:
    16
    Yes, that’s exactly what’s happening! Unfortunately TAA is the best of a bad situation, don’t think I could go to FXAA or turn it off completely.

    Is the anything I change in the Radeon graphics settings, to override application settings, and use the Radeon settings? Would this see an improvement?
     
    • Upvote Upvote x 1
  21. Anthony Pecoraro

    Anthony Pecoraro Well-Known Member

    Joined:
    Dec 11, 2016
    Messages:
    1,226
    Likes Received:
    1,325
    I have AMD Radeon too!
     
  22. giogurto_grande

    giogurto_grande Member

    Joined:
    Dec 21, 2017
    Messages:
    27
    Likes Received:
    66
    Well, you can set up Anti-aliasing in 3D games in Radeon Software. There should be a section named quality setttings, 3D settings etc. It's worth a try, but be aware that some games don't react to changing those settings.

    Edit: I just maxed out all quality settings on the driver level and didn't see any improvement in TSW's viuals. Maybe TSW is one of these resistant games. I'm a GeForce user though, so there is still a chance that Radeon can do better.
     
  23. Jef-F

    Jef-F Active Member

    Joined:
    Dec 8, 2016
    Messages:
    209
    Likes Received:
    133
    There's a fundamental problem that doesn't allow TSW to benefit from these settings in control panels: UE uses deferred rendering and shading pipeline which precludes use of any decent anti-aliasing like MSAA. Video drivers ain't gonna change that.
     
    • Upvote Upvote x 1
  24. Anthony Pecoraro

    Anthony Pecoraro Well-Known Member

    Joined:
    Dec 11, 2016
    Messages:
    1,226
    Likes Received:
    1,325
    Here is one to fix the tree popping: foliage.LODDistanceScale=##
    This was found by Tyler in the Discord.
     
  25. Daniel Bloch

    Daniel Bloch Well-Known Member

    Joined:
    Dec 14, 2016
    Messages:
    586
    Likes Received:
    1,181
    foliage.LODDistanceScale=6

    Add this to the engine.ini and the popping trees are gone... 6 is a high value that kills your fps, so you have to try a lower number that fits your system.
     
    • Useful Useful x 2
    • Upvote Upvote x 1
  26. pschlik

    pschlik Well-Known Member

    Joined:
    Dec 8, 2016
    Messages:
    854
    Likes Received:
    1,476
    Alright, added that one on to the list of useful commands since it is pretty useful.
     
    • Upvote Upvote x 2
  27. keksman

    keksman Active Member

    Joined:
    Sep 28, 2017
    Messages:
    170
    Likes Received:
    202
    Thank you so much for all of this! Game looks much better and is much more enjoyable with foliage.LODDistanceScale, r.ViewDistanceScale, r.Fog and r.EyeAdaptationQuality.
     
  28. walgrafix

    walgrafix New Member

    Joined:
    Jul 5, 2018
    Messages:
    11
    Likes Received:
    3
    hello to all dear friends. What do you think could be the text string for the density of the foliage? possible that we do not find a solution to this? thank you...
     
  29. Anthony Pecoraro

    Anthony Pecoraro Well-Known Member

    Joined:
    Dec 11, 2016
    Messages:
    1,226
    Likes Received:
    1,325
    Have it set to max foliage.
     
  30. walgrafix

    walgrafix New Member

    Joined:
    Jul 5, 2018
    Messages:
    11
    Likes Received:
    3
    [QUOTE = "Anthony Pecoraro, post: 48426, membro: 1440"] Hai impostato il limite massimo di fogliame. [/ QUOTE]
    changing the setting to the foliage does not solve the problem. A few meters later the graphics return to the highest level.
     
  31. Anthony Pecoraro

    Anthony Pecoraro Well-Known Member

    Joined:
    Dec 11, 2016
    Messages:
    1,226
    Likes Received:
    1,325
    Huh?
     
    • Downvote Downvote x 1
  32. walgrafix

    walgrafix New Member

    Joined:
    Jul 5, 2018
    Messages:
    11
    Likes Received:
    3
    sorry for my poor English!
    I said that if we set the graphics on low after a while the game returns with a density of the landscape as if it were set to max.
    I noticed that this problem is not solved by setting the graphics to low.
    and as if he lost the settings.
    I wondered if we could find a function for this problem.
    the ue4 editor has a function called FoliageDensity but I can not use it in the .ini file
     
    • Upvote Upvote x 1
  33. Anthony Pecoraro

    Anthony Pecoraro Well-Known Member

    Joined:
    Dec 11, 2016
    Messages:
    1,226
    Likes Received:
    1,325
    Ok. I understand now.
     
  34. Rudolf

    Rudolf Active Member

    Joined:
    Dec 9, 2016
    Messages:
    171
    Likes Received:
    191
    This really is a great article. I have one question. There is an in game setting for the View Distance. I wonder how this relates to the setting discussed here.

    Note: within a few days I will publish an update of my toolkit TSWTools. This tool will support most of the settings discussed here and make it safer (if all works as intended) to play with them .
     
    • Upvote Upvote x 1
  35. keksman

    keksman Active Member

    Joined:
    Sep 28, 2017
    Messages:
    170
    Likes Received:
    202
    Im pretty sure changing the View Distance in the game menu settings overwrites r.ViewDistanceScale, if thats what your question is. Havent tested it myself yet but thats what happens when you increase the audio in the gamefiles and change it in the game menu afterwards.
    r.ViewDistanceScale= 3 is equal to View Distance on ultra.
     
    • Upvote Upvote x 1
  36. Rudolf

    Rudolf Active Member

    Joined:
    Dec 9, 2016
    Messages:
    171
    Likes Received:
    191
    Yes, possible, but the audio volume is set in GameUserSettings.ini and this is updated instantly when you change it in game. The viewdistance for the in game setting is maintained in GameUserSettings.ini and it sets the ViewDistanceQuality parameter. I'm not sure how and when this is mapped to the Unreal setting r.ViewDistanceScale setting. These are differently named settings. Anyway, as a precaution it is wise to leave the setting in game at its default value. In that case no value is written to GameUserSettings.ini
     

Share This Page