Borderlands PC Tweaks

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\WillowGame\Config\

This folder contains the following files:
 * WillowCompat.ini
 * WillowEditor.ini
 * WillowEditorUserSettings.ini
 * WillowUI.ini

As well as 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 -&gt; Edit)

Warnings
None of these tweaks will, if you back up your ini files, be irreversible. When you join 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 you start
This is important: Start your game at least once before you start 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 your configuration files.
 * Making a copy of your Config folder inside the WillowGame folder is the simplest method.
 * You should also back up your SaveData folder. This is a good idea even if you aren't editing your ini files, as save corruption is unfortunately common.

Finally, make sure you can see file extensions.
 * 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 you need to edit. If there is a relevant forum thread, it will be linked as well.

Commenting INI file lines
You can disable a line of a ini file by putting a semicolon before it. A example of this is in the startup movies tweak.

Finding your borderlands folder
Steam\steamapps\common\borderlands
 * If you bought the game through Steam, your game folder will be:
 * If you bought the game retail or anywhere else, your folder should be in Program Files under a 2K Games or Gearbox Games folder.

Creating a shortcut
Some tweaks or fixes require you to modify the shortcut to start borderlands. When told to modify the shortcut, right click it, and click properties. Most changes will be in the Target box. If the contents of the target box are quoted, make sure the end quote is always at the end of the executable, eg: For Steam Users:
 * If you bought the game with Steam, right click Borderlands in your game list and pick Create desktop shortcut
 * Otherwise, either copy your existing shortcut, or make a shortcut to Borderlands\binaries\borderlands.exe
 * "C:\Program Files\Borderlands\binaries\Borderlands.exe" -nomoviestartup
 * Not: "C:\Program Files\Borderlands\binaries\Borderlands.exe -nomoviestartup"

You can also achieve the same effect within Steam itself rather that creating a shortcut.

Simply right click on the Borderlands from your games list, go to Properties, under the General tab there is a button for Set Launch Options... in the prompt that appears type -nomoviestartup click okay and close the properties.

Bindings changes
Unless otherwise noted, all pasted binds (Eg FOV binds) must be placed AFTER the existing bindings. Existing bindings are located beneath the "WillowGame.WillowPlayerInput" section.

Another thing that may affect bindings is 'Word Wrap' in Notepad. When Word Wrap is activated, bindings which are inserted may not work properly.

Increase difficulty
WillowGame.ini Find under [Engine.GameInfo] : GameDifficulty=+1.0 Replace with: GameDifficulty=+4.0

WORKS ONLY in multiplayer LAN mode with 2+ players... Because the increase in difficulty has nothing to do with the config file, only the additional (inactive or otherwise) players.

Disable startup movies
WillowEngine.ini Find: [FullScreenMovie] StartupMovies=2K_logo StartupMovies=Gearbox_logo StartupMovies=NVidia StartupMovies=Loading SkippableMovies=2K_logo SkippableMovies=Gearbox_logo SkippableMovies=Attract SkippableMovies=NVidia Replace with: [FullScreenMovie] ;StartupMovies=2K_logo ;StartupMovies=Gearbox_logo ;StartupMovies=NVidia ;StartupMovies=Loading SkippableMovies=2K_logo SkippableMovies=Gearbox_logo SkippableMovies=Attract SkippableMovies=NVidia

Disable story introduction movies
You can avoid being forced to watch the story intro, the bus sequence, and the guardian angel sequence by re-naming the corresponding files. Open the folder: Borderlands\WillowGame\Movies Rename these files: Prelude.bik Attract.bik VoG_Transition_Movie.bik To: Prelude.bik_ Attract.bik_ VoG_Transition_Movie.bik_ Note that Steam users may find these movies are redownloaded upon release of an official patch. Temporarily renaming them back to the original names prior to letting steam download the patch should avoid this issue.

Disable ALL movies
If you just want to disable ALL movies, including cutscenes, add this to the Target field of your borderlands shortcut: -nomoviestartup It should look like this, but the rest may be different: C:\Games\Borderlands\binaries\Borderlands.exe -nomoviestartup

Adjust FOV (Field of View)
WillowInput.ini Find: [WillowGame.WillowPlayerInput] Add after existing bindings: Bindings=(Name="F9",Command="FOV 70",Control=False,Shift=False,Alt=False) Bindings=(Name="F10",Command="FOV 85",Control=False,Shift=False,Alt=False) Bindings=(Name="F11",Command="FOV 95.4370607151",Control=False,Shift=False,Alt=False) Bindings=(Name="F12",Command="FOV 101.409630521",Control=False,Shift=False,Alt=False) FOV 70 (Key F9) is the default FOV FOV 95 (Key F11) is for 16:10 screen FOV 101 (Key F12) is for 16:9 screen

You can change the key (Name="") or the desired FOV ("FOV #") to suit your needs. Note: FOV will be reset each time you enter the game, or when you enter a vehicle in co-op.

Force FOV to update
There are two common ways of doing this. Bindings=(Name="E",Command="MoveForward | Axis aGas Speed=+1.0 | FOV 96",Control=False,Shift=False,Alt=False,LeftTrigge r=False,RightTrigger=False,bIgnoreCtrl=False,bIgno reShift=False,bIgnoreAlt=False) Bindings=(Name="LeftShift",Command="advancedbutton bAdvancedButtonAux6 | FOV 110",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnore Shift=False,bIgnoreAlt=False) (Change the FOV # to your desired FOV)
 * Bind your FOV to your forward movement command (Can cause stuttering while driving a vehicle)
 * Bind your FOV to the sprint command

Third person camera
In WillowInput.ini -- Forum thread, Find: [WillowGame.WillowPlayerInput] Add after existing bindings: Bindings=(Name="FirstPersonZoom",Command="advancedbutton bAdvancedButtonAux5",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Bindings=(Name="ThirdPersonZoom",Command="advancedbutton bAdvancedButtonAux5 | Camera FirstPerson | OnRelease Camera ThirdPerson",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Bindings=(Name="FirstPersonToggle",Command="Camera FirstPerson | setbind RightMouseButton FirstPersonZoom | setbind F1 ThirdPersonToggle",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Bindings=(Name="ThirdPersonToggle",Command="Camera ThirdPerson | setbind RightMouseButton ThirdPersonZoom | setbind F1 FirstPersonToggle",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Bindings=(Name="F1",Command="ThirdPersonToggle",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)

F1 will toggle between first and third person. Change this to your desired toggle button. RightMouseButton should be changed (2 times) to your zoom button.

Alternative input scheme (with Third Person Sprint fix) Bindings=(Name="LeftShift",Command="FirstPersonSprint",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Bindings=(Name="FirstPersonSprint",Command="advancedbutton bAdvancedButtonAux6 | Camera ThirdPerson",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Bindings=(Name="FirstPersonSprintNull",Command="advancedbutton bAdvancedButtonAux6",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Bindings=(Name="FirstPersonZoom",Command="advancedbutton bAdvancedButtonAux5 | Camera FirstPerson | setbind LeftShift FirstPersonSprintNull | OnRelease Camera FirstPerson | OnRelease setbind LeftShift FirstPersonSprint",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Bindings=(Name="FirstPersonToggle",Command="say FPS | Camera FirstPerson | setbind RightMouseButton FirstPersonZoom | setbind LeftShift FirstPersonSprint | setbind F1 ThirdPersonToggle",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Bindings=(Name="ThirdPersonSprint",Command="advancedbutton bAdvancedButtonAux6",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Bindings=(Name="ThirdPersonZoom",Command="advancedbutton bAdvancedButtonAux5 | Camera FirstPerson | OnRelease Camera ThirdPerson",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Bindings=(Name="ThirdPersonToggle",Command="say TPS | Camera ThirdPerson | setbind RightMouseButton ThirdPersonZoom | setbind LeftShift ThirdPersonSprint | setbind F1 FirstPersonToggle",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Bindings=(Name="F1",Command="ThirdPersonToggle",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Bindings=(Name="W",Command="MoveForward | Axis aGas Speed=+1.0 | Camera FirstPerson | OnRelease Camera FirstPerson | setbind RightMouseButton FirstPersonZoom",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Bindings=(Name="SpaceBar",Command="MoveForward | Axis aGas Speed=+1.0 | setbind RightMouseButton ThirdPersonZoom",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Bindings=(Name="LeftAlt",Command="advancedbutton bJump | LockVehicle",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Bindings=(Name="RightMouseButton",Command="FirstPersonZoom",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Bindings=(Name="Q",Command="advancedbutton bAdvancedButtonAux3",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) F1 - Toggles cam modes

W - Forward movement in FPS

Space - Forward movement in TPS

Left Alt - Jump

Q - Melee Attack

For camera position:

In WillowGame.ini, under [WillowGame.WillowPawn], find and change value of: CameraScale=5.0 CameraScaleRight=2.0 CameraScaleUp=1.0 CameraScale is the distance between character and camera (z axe) CameraScaleRight: x position of the camera (put -x for left CameraScaleUp: y position

For example, in 1920*1200 on 24" screen, the Tomb Raider style is : CameraScale=18.0 CameraScaleRight=0 CameraScaleUp=1.75

Disable/Adjust weapon bob
WillowGame.ini Find: bWeaponBob=TRUE Bob=0.005 Change to whatever settings you like.

Disable voice chat
WillowEngine.ini Find: bHasVoiceEnabled=True Change to: bHasVoiceEnabled=False

Enable scroll wheel in text boxes
WillowInput.ini Find all: InputKeyName="MouseScrollUp",ModifierKeyFlags=42

InputKeyName="MouseScrollDown",ModifierKeyFlags=42

Replace with: InputKeyName="MouseScrollUp"

InputKeyName="MouseScrollDown"

Show hidden weapon/module stats

 * Note: As of Patch 1.0.1 item cards display the intended five lines of detail text.

Go in your borderlands folder and search for this:

Borderlands\WillowGame\Localization\INT\gd_globals.INT (if you are english or don't have another language)

Borderlands\WillowGame\Localization\ESN\gd_globals.ESN (if you are spanish)

Borderlands\WillowGame\Localization\DEU\gd_globals.DEU (if you are german)

Borderlands\WillowGame\Localization\FRA\gd_globals.FRA (if you are french)

Borderlands\WillowGame\Localization\ITA\gd_globals.ITA (if you are italian)

AttributePresentationTranslation="$NUMBER$ $CONSTRAINT$ $DESCRIPTION$" AttributePresentationTranslation="&lt;font size="14"&gt; $NUMBER$ $CONSTRAINT$ $DESCRIPTION$&lt;/font&gt;"
 * Find gd_globals.XXX (depends of your game language) and create a backup of it.
 * Open gd_globals.XXX with notepad
 * Find:
 * Replace with:

Show FPS
WillowInput.ini Add beneath existing bindings: Bindings=(Name="F12",Command="stat fps",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) If you have added the FOV binds above, you may need to either remove a FOV bind, or change F12 above to a different, unused key.

Show/Hide HUD
WillowInput.ini Add beneath existing bindings: Bindings=(Name="F11",Command="showhud",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)

Show/Hide debug info
WillowInput.ini Add this to [WillowGame.WillowPlayerInput]: Bindings=(Name="F2",Command="dbm_ToggleShowDebug",Control=False,Shift=False,Alt=False) The inventory needs to be opened at least once before this command works. It will show lots of debug information, most importantly every detail about the current weapon.

Show/Hide console window

 * To enable the console window some advanced tweaks have to be done, you should only do this if you know what you're doing.

WillowInput.ini Find: ConsoleKey= Change to: ConsoleKey=Tilde

Now you have to hex edit your engine.u file in your \2K Games\Gearbox Software\Borderlands\WillowGame\CookedPC\ folder (make sure to back it up first). Open it with your favorite hex editor and search for hex value 07 3f 00 81 84 7c 80 00. Now change 07 3f to 06 52 and save.

Alternatively you can jump to one of the following offsets and change the first two values to 06 52.

Version 1.0.0 offset: dbef0

Version 1.0.1 offset: db528

Version 1.1.0 offset: dba97

Version 1.2.0 offset: dba97

Version 1.2.1 offset: dbff1

Version 1.3.0 offset: dc7b2

The final step is to make sure borderlands doesn't check if the engine.u file has changed. This can easily be achieved with DrZed's ZBL Patch. Just extract the contents of the zip file to your \2K Games\Gearbox Software\Borderlands\ folder.

You can now press ~ (tilde) to show or hide the console window and properly execute commands.

Toggle windowed mode
Press Alt+Enter

Adjust loot icon max distance
WillowGame.ini Change: PlayerInfoMaxDist=60000 This changes how far away you can aim at something on the ground and see what type of item it is.

Set middle click to toggle zoom
WillowInput.ini Add beneath existing bindings: Bindings=(Name="MiddleMouseButton",Command="ZoomIn",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Bindings=(Name="ZoomIn",Command="StartAltFire | setbind MiddleMouseButton ZoomOut",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Bindings=(Name="ZoomOut",Command="StopAltFire | setbind MiddleMouseButton ZoomIn",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)

Find similar: Bindings=(Name="RightMouseButton",Command="advancedbutton bAdvancedButtonAux5") Change appropriately: Bindings=(Name="RightMouseButton",Command="advancedbutton bAdvancedButtonAux5 | OnRelease setbind MiddleMouseButton zoomin") This allows you to zoom out with the right mouse button as well.

Change right click to toggle zoom
WillowInput.ini Find: Bindings=(Name="RightMouseButton",Command="advancedbutton bAdvancedButtonAux5",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Change to: Bindings=(Name="RightMouseButton",Command="ZoomIn",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Add beneath existing bindings: Bindings=(Name="ZoomIn",Command="advancedbutton bAdvancedButtonAux5 | StartAltFire | setbind RightMouseButton ZoomOut",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Bindings=(Name="ZoomOut",Command="StopAltFire | setbind RightMouseButton ZoomIn",Control=False,Shift=False,Alt=False,LeftTrigger=False,RightTrigger=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False) Do not change the right button behavior at the same time as adding a middle click button to do the same thing. The binds will conflict.

Ultra low/high mouse sensitivity
WillowInput.ini

Near the end of your Bindings block, add: Bindings=(Name="F9",Command="setSensitivity xx.xx",Control=False,Shift=False,Alt=False)

Change xx.xx as needed

Disable mouse smoothing
WillowInput.ini Find the following under Engine.PlayerInput: bEnableMouseSmoothing=True Change to: bEnableMouseSmoothing=False

Throw active weapon key
WillowInput.ini Add beneath existing bindings: Bindings=(Name="X",Command="ThrowWeapon",Control=False,Shift=False,Alt=False)

Hold crouch instead of toggle
WillowInput.ini Under: [WillowGame.WillowPlayerInput] Find: advancedbutton bAdvancedButtonAux1 | SwitchSeats Change to: Duck | SwitchSeats

Disable outline shader
WillowEngine.ini Find: [Engine.Engine] Change: DefaultPostProcessName=WillowEngineMaterials.WillowScenePostProcess To: DefaultPostProcessName=WillowEngineMaterials.WillowScenePostProcess_cinematic

You can experiment with disabling the other *PostProcessName options to see what effects they have. Screenshot with 16xQAA Screenshot with AA and without outline shader

Note: This will also disable the SSAO shader, but allows motion blur to work if it is turned on in the INI and anti aliasing is off.

Enable VSync
WillowEngine.ini Find: UseVsync=False Change to: UseVsync=True

Frame rate limits and smoothing
WilllowEngine.ini Find: [Engine.GameEngine] Change any of: bSmoothFrameRate=True MinSmoothedFrameRate=22 MaxSmoothedFrameRate=62 MaxDeltaTime=0

Anti-aliasing
For nVidia cards: For ATI cards: Most item icons will have purple glitched outlines when AA is on. On ATI cards, the outline shader is not smoothed.
 * Download nHancer
 * Force AA for Borderlands.exe
 * Rename Borderlands.exe in Borderlands\Binaries to UT3.exe
 * Force AA in the CCC
 * (Steam users cannot do this with their versions of Borderlands.exe)

You may notice that there is a quite large performance penalty when using AA in Borderlands, this is due to the shadowing technique used. You can revert to an older shadowing technique that is used in other Unreal Engine 3 games to claw back some performance.

WillowEngine.ini Find: bEnableBranchingPCFShadows=False bEnablePSSMShadows=True Change to: bEnableBranchingPCFShadows=True bEnablePSSMShadows=False

Lower texture detail
WillowEngine.ini Find: [SystemSettings] Change MaxLODSize of: TEXTUREGROUP_World=(MinLODSize=1,MaxLODSize=4096,LODBias=0) TEXTUREGROUP_WorldNormalMap=(MinLODSize=1,MaxLODSize=4096,LODBias=0) TEXTUREGROUP_WorldSpecular=(MinLODSize=1,MaxLODSize=4096,LODBias=0) TEXTUREGROUP_Character=(MinLODSize=1,MaxLODSize=4096,LODBias=0) TEXTUREGROUP_CharacterNormalMap=(MinLODSize=1,MaxLODSize=4096,LODBias=0) TEXTUREGROUP_CharacterSpecular=(MinLODSize=1,MaxLODSize=4096,LODBias=0) TEXTUREGROUP_Weapon=(MinLODSize=1,MaxLODSize=4096,LODBias=0) TEXTUREGROUP_WeaponNormalMap=(MinLODSize=1,MaxLODSize=4096,LODBias=0) TEXTUREGROUP_WeaponSpecular=(MinLODSize=1,MaxLODSize=4096,LODBias=0) TEXTUREGROUP_Vehicle=(MinLODSize=1,MaxLODSize=4096,LODBias=0) TEXTUREGROUP_VehicleNormalMap=(MinLODSize=1,MaxLODSize=4096,LODBias=0) TEXTUREGROUP_VehicleSpecular=(MinLODSize=1,MaxLODSize=4096,LODBias=0) TEXTUREGROUP_Cinematic=(MinLODSize=1,MaxLODSize=4096,LODBias=0) TEXTUREGROUP_Effects=(MinLODSize=1,MaxLODSize=4096,LODBias=0) TEXTUREGROUP_EffectsNotFiltered=(MinLODSize=1,MaxLODSize=4096,LODBias=0) TEXTUREGROUP_Skybox=(MinLODSize=1,MaxLODSize=4096,LODBias=0) TEXTUREGROUP_UI=(MinLODSize=1,MaxLODSize=4096,LODBias=0) TEXTUREGROUP_LightAndShadowMap=(MinLODSize=1,MaxLODSize=4096,LODBias=0) TEXTUREGROUP_RenderTarget=(MinLODSize=1,MaxLODSize=4096,LODBias=0) To any of: 2048,1024, 512 or 256 (Lower is faster)

Best graphic detail
WillowEngine.ini Find: [SystemSettings] Change any of: MaxMultisamples=16 Bloom=True UseHighQualityBloom=True MotionBlur=True DepthOfField=True AmbientOcclusion=True FogVolumes=True AllowD3D10=True