Borderlands: The Pre-Sequel PC Tweaks

HBAO+
You can use Nvidia Inspector (NVIDIA GPUs only) to force HBAO+ provided you disable in-game SSAO. This setting can have a heavy impact on frame rate, if you get unplayable frame rates with High Quality try lowering this value progressively:
 * 1. Download NVIDIA Inspector.
 * 2. Open NVIDIA Inspector and click on the crossed screwdriver and wrench icon.
 * 3. Under Profiles select Borderlands: The Pre-Sequel.
 * 4. Under Ambient Occlusion compatibility insert the compatibility code 0x0000002F.
 * 5. Under Ambient Occlusion setting select Performance, Quality, or High Quality.
 * 6. Under Ambient Occlusion usage select Enabled.
 * 7. On the top right hand corner click on Apply changes.

The configuration files
The majority of tweaks are made in configuration files, which have a .ini extension. Due to this, they are often referred to simply as INIs

These files are stored in: Documents\My Games\Borderlands The Pre-Sequel\WillowGame\Config\

This folder contains the following files:

The files that most tweaks are made in:
 * WillowEngine.ini
 * WillowEngine contains most technical settings, such as graphics quality.
 * WillowGame.ini
 * WillowGame contains most game options that are neither technical or dealing with input, such as weapon bob
 * WillowInput.ini
 * WillowInput deals entirely with how you control things in game, either with the keyboard, mouse, or gamepad

All these files can be edited directly with Notepad (Right click -> Edit)

Warnings
These tweaks will be reversible only if the .ini files are backed up.

When joining a game, you may be sent the ini files of the host. This is one reason it is best to make the files read-only once you have edited them.

Any tweaks that have permanent effects on your save file will be noted with a star (*)

Before tweaking
This is important: Start Borderlands at least once before tweaking for the first time. Go to Options, and change a control - any control. This is necessary to build a binding list in WillowInput.ini

Next, back up all configuration files.
 * Making a copy of the Config folder inside the WillowGame folder is the simplest method.
 * The SaveData folder should be backed up as well. This is a good idea even if not editing your ini files, as save corruption is unfortunately common.

Finally, make sure all file extensions can be seen.
 * If you're on XP, open a file browsing window and go to the Tools menu.
 * If you're on Vista or 7, press Alt inside a browsing window, then go to the tools menu.
 * Pick Folder Options
 * Go to the View tab
 * Un-check Hide extensions for known file types
 * Press Ok

Tweak format
Each tweak will be under the corresponding category, and will begin with the file to be edited. If there is a relevant forum thread, it will be linked as well.

Commenting INI file lines
Any line of an ini file will be disabled by putting a semicolon before it. An example of this is in the startup movies tweak.

Game tweaks
Discussion of various in-game console commands on the old Gearbox forums: www.webcitation.org/query?url=http://web.archive.org/web/20160414020335/http://oldforums.gearboxsoftware.com/oldforums/20150309002228/http://oldforums.gearboxsoftware.com/showthread.php?t=148783

Disable intro splash-screens when starting game
WillowEngine.ini

Find this within the [FullScreenMovie] section: StartupMovies=2K_logo StartupMovies=Gearbox_logo StartupMovies=2K_Australia_Logo StartupMovies=NVidia StartupMovies=Loading

Disable the startup movies in this file by adding a ; before each line: ;StartupMovies=2K_logo ;StartupMovies=Gearbox_logo ;StartupMovies=2K_Australia_Logo ;StartupMovies=NVidia ;StartupMovies=Loading ;SkippableMovies=Loading

Enable developer console
WillowInput.ini

Find under [Engine.Console]:

ConsoleKey=

Replace with

ConsoleKey=` (tilde on American keyboards, or any other button that is not used by the game)

TypeKey=Backslash can also be used which lets you enter stuff on one line quickly

Show/hide HUD (for screenshots)
Follow the instructions for enable developer console, then in the game press either console or typekey and type: togglehud

Take an ultra-resolution screenshot
More info here.

Will have black lines in between tiles unless vignette shading is turned off. Only way to take over-resolution shots with black outlines still turned on would be to run the whole game in a scaled resolution.

Follow the instructions for enable developer console, then in the game press either console or typekey and type: TiledShot 6 516

the first number is the multiplier of the current game's resolution, e.g. how many tiles will be put together

The second number is The second parameter is the tile overlap in pixels. Each tile actually overlaps a little bit to ensure that fullscreen blurring or distortion post-process effects will match. The default value is 64 pixels. For instance, if you're using a post-process effect that blurs a lot, you may want to increase this parameter.

Change FOV
(Field of view)more info

Follow the instructions for enable developer console, then in the game press either console or typekey and type:

FOV

(default is 90, it is 70 on consoles and was in Borderlands 1 - this is also editable in the game settings now)

Third person camera view
Follow the instructions for enable developer console, then in the game press either console or typekey and type: Camera 3rd

Turn subtitles off (in cutscenes as well)
bSubtitlesEnabled=False bSubtitlesForcedOff=TRUE

Disable black outlines
WillowEngine.ini

Find under [Engine.Engine]: DefaultPostProcessName=WillowEngineMaterials.WillowScenePostProcess

Replace with: DefaultPostProcessName=EngineMaterials.ScenePostProcess

or (also removes "cel shading" effect)

DefaultPostProcessName=WillowEngineMaterials.RyanScenePostProcess

or (also removes "cel shading" effect and vignette/colour correction effects)

DefaultPostProcessName=WillowEngineMaterials.CinematicScenePostProcess

(Screenshot comparison between the 3)

Increase graphics quality
WillowEngine.ini

FogVolumes=True bAllowLightShafts=True AmbientOcclusion=True bAllowTemporalAA=True bAllowD3D9MSAA=True FXAA=False MaxAnisotropy=16 MaxMultiSamples=4 DetailMode=2 bEnableVSMShadows=True bEnableBranchingPCFShadows=True TessellationFactorMultiplier=3.000000 HighPrecisionGBuffers=True NumberOfDecals=2 PhysXLevel=3 ViewDistance=2

Change to 1.500000 or higher: MaxDrawDistanceScale=1.500000

To stop textures "fading in"/"popping in" as initially low quality (CTRL+F to find these spread out over different sections): OnlyStreamInTextures=True bUseTextureStreaming=False MipFadeInSpeed0=0 MipFadeOutSpeed0=0 MipFadeInSpeed1=0 MipFadeOutSpeed1=0

This is very dependent on how good your computer is (more info), but setting it to "6" (uncapped) is the best when possible: FramerateLocking=6

Always use highest texture quality:

MaxProcBuildingLODColorTextureSize=4096 MaxProcBuildingLODLightingTextureSize=4096 TEXTUREGROUP_World=(MinLODSize=4096,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage,IgnoreTextureLODBias) TEXTUREGROUP_WorldNormalMap=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage) TEXTUREGROUP_WorldSpecular=(MinLODSize=4096,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage) TEXTUREGROUP_Character=(MinLODSize=4096,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage,IgnoreTextureLODBias) TEXTUREGROUP_CharacterNormalMap=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage) TEXTUREGROUP_CharacterSpecular=(MinLODSize=4096,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage) TEXTUREGROUP_Weapon=(MinLODSize=4096,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage,IgnoreTextureLODBias) TEXTUREGROUP_WeaponNormalMap=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage) TEXTUREGROUP_WeaponSpecular=(MinLODSize=4096,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage) TEXTUREGROUP_Vehicle=(MinLODSize=4096,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage) TEXTUREGROUP_VehicleNormalMap=(MinLODSize=4096,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage) TEXTUREGROUP_VehicleSpecular=(MinLODSize=4096,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage) TEXTUREGROUP_Cinematic=(MinLODSize=4096,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage) TEXTUREGROUP_Effects=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Linear,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage) TEXTUREGROUP_EffectsNotFiltered=(MinLODSize=4096,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage) TEXTUREGROUP_Skybox=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage) TEXTUREGROUP_UI=(MinLODSize=4096,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage) TEXTUREGROUP_Lightmap=(MinLODSize=4096,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage) TEXTUREGROUP_Shadowmap=(MinLODSize=4096,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,NumStreamedMips=1,MipGenSettings=TMGS_SimpleAverage) TEXTUREGROUP_RenderTarget=(MinLODSize=4096,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage) TEXTUREGROUP_MobileFlattened=(MinLODSize=4096,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage) TEXTUREGROUP_ProcBuilding_Face=(MinLODSize=4096,MaxLODSize=1024,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage) TEXTUREGROUP_ProcBuilding_LightMap=(MinLODSize=4096,MaxLODSize=256,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage) TEXTUREGROUP_Terrain_Heightmap=(MinLODSize=4096,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage) TEXTUREGROUP_Terrain_Weightmap=(MinLODSize=4096,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage) TEXTUREGROUP_ImageBasedReflection=(MinLODSize=4096,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_Blur5) TEXTUREGROUP_Bokeh=(MinLODSize=4096,MaxLODSize=4096,LODBias=0,MinMagFilter=Linear,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)

Enabling this will ensue a performance hit on your PC but will greatly add to the visuals of the game. This gives you some Advance Shadowing effects like Self-Shadowing as well as moving shadows: DynamicShadows=True

Setting these options to from False to True will allow for a better percentage of closer filtering shadows and Shadow Maps which will increase the overall quality: bEnableVSMShadows=True bEnableBranchingPCFShadows=True MinShadowResolution=2048 MinPreShadowResolution=2048 MaxShadowResolution=2048 MaxWholeSceneDominantShadowResolution=4096 ShadowFadeResolution=16 PreShadowFadeResulotion=512

To Increase the LOD points and make shadows transition smoother when getting closer or further: ShadowCascades=10

Below the above mentioned line, there are 4 more lines that set the resolution of the shadows according to your distance to them. The closer you are the better they look. Right now there are only 4 shadow resolutions LOD points, the below will add more so the shadows gradually lose their resolution in a smooth manner instead of all of in a choppy manner as you get further away. This change will also add more variety to shadow resolutions according to their distance. This will make 10 different shadow resolutions instead of 4.

The 4 lines start with "ShadowSplit=x" where x is a different number. Copy the lines below and replace the 4 existing lines with the 11 lines below. (eleven, not ten): ShadowSplit=0.0 ShadowSplit=0.05 ShadowSplit=0.05 ShadowSplit=0.05 ShadowSplit=0.1 ShadowSplit=0.18 ShadowSplit=0.29 ShadowSplit=0.45 ShadowSplit=0.60 ShadowSplit=0.85 ShadowSplit=1.0

To cast the lower quality shadows further away and make better quality shadows surround you further (this can be changed to suit): ShadowCast_Near=5000 ShadowCast_Far=8000

WillowLightmass.ini

MaxTriangleLightingSamples=16 MaxTriangleIrradiancePhotonCacheSamples=8 bAllowCropping=True EmissiveSampleSize=256 DiffuseSampleSize=256 SpecularSampleSize=256 VoxelSize=90 VolumeMaxDistance=2000 NumVoxelDistanceSamples=1200 NumShadowRays=12 DominantShadowSuperSampleFactor=15 bUsePhotonsForDirectLighting=True bOptimizeDirectLightingWithPhotons=True bUseIrradianceGradients=True

WillowUI.ini

Change the info box for lootable items making it bigger and allowing information to all fit in the box:

These will be found under [WillowGame.StatusMenuMapGFxObject]: InfoBoxDistance=100 ZoomSpeedFactor=0.75

WillowGame.ini InteractDistance=768

Increase the zoom on the map in the menu. If you don't want a more up in your face looking map in the menu, You can just leave these as is: MinScale=400 MaxScale=650

Reducing Physx Particles
WillowEngine.ini

Find under [Engine.Engine]: MaxParticleResize=0

Replace "0" (Infinte) with the desired number of particles processed in real-time, for example: MaxParticleResize=50