Guide:Skyrim Configuration Settings

From S.T.E.P. Project Wiki

Contents

A guide to editing the Skyrim configuration settings inside the INI files for the tinkering user

GUIDE FORUM THREAD
INI TWEAKING REFERENCE FORUM
SUPPORT FORUM


Info-Logo.png Notice: This is an ancillary guide to the official STEP Guide created to reduce the length of that guide. Users reading this are likely the tinkering type or are interested in more detail around configuring Skyrim in order to increase quality or performance, but this guide is not an essential component of a successful STEP installation.

Suggested first reading: Skyrim Installation Guide, Skyrim Launcher Guide

Guide scope

This guide is intended to be a general guide to the configuration settings for The Elder Scrolls V: Skyrim game as set through INI files, including Skyrim.ini, SkyrimPrefs.ini, Plugin INIs, and Mod Organizer (MO) INI Tweaks. Its purpose is geared toward how these will affect the game rather than being a comprehensive resource. See the advanced Skyrim INI and SkyrimPrefs INI guides for an advanced and comprehensive review of the configuration settings.

Nomenclature

The following nomenclature is used throughout this guide and should be understood before proceeding.

INI-file specific

The following terms are used to describe the INI file format.

  • INI file: A configuration file composed of sections, settings, and values.
  • Section: The title of a set of settings enclosed in square brackets ([ and ]).
  • Setting: A soft-coded configuration property.
  • Value: What comes after the equal sign for a setting.
  • Comment: A remark that is entered into the INI file that has no effect other than to tell the editor what something is there for and is designated by a semicolon (;).

Below is a diagram of the INI file structure.

[Section]
setting=value
;comment

Skyrim specific

The following terms are used to describe the INI files as they relate specifically to The Elder Scrolls V: Skyrim game.

  • Default value: The value for the setting stored inside TESV.exe, which is the value used when the setting is not set in the INI files. For settings used only by the SkyrimLauncher.exe (i.e., sD3DDevice, uLastAspectRatio, bShowAllResolutions, and bEnableFileSelection), the value as initially assumed by SkyrimLauncher.exe.
  • Launcher INI presets: The settings applied when selecting the Low, Medium, High, or Ultra buttons in the Skyrim Launcher. The launcher sets settings predefined within itself to both Skyrim.ini and SkyrimPrefs.ini selectively (and incorrectly for some settings) over top of the settings in Skyrim_default.ini for Skyrim.ini and Skyrim\SkyrimPrefs.ini for SkyrimPrefs.ini. Values for some settings are pulled from the low.ini, medium.ini, high.ini, and VeryHigh.ini inside the main Skyrim directory in this process, but they are not superimposed like the aforementioned files.
  • Plugin INIs: INIs loaded with like-named plugins (just like BSAs). Presence should be indicated by the paperclip on the plugin within the plugins list (right pane) in Mod Organizer (MO).

Mod Organizer specific

The following terms are used to describe the INI files as they relate specifically to Mod Organizer mod management tool.

  • Profile INIs: Mod Organizer's profile-specific INIs located in the profile's folder.
  • MO INI Tweaks: Mod-specific INIs that exist inside an INI Tweaks folder at the top level of the mod folder for use with Mod Organizer. They can be enabled or disabled.
  • MO INI Tweaks Composite: The temporary combined MO INI Tweaks generated by Mod Organizer from combining the enabled MO INI Tweaks into the initweaks.ini file inside the profile's folder at runtime.

Under the hood

Skyrim.ini

Skyrim.ini (located at %USERPROFILE%\Documents\My Games\Skyrim by default, although Mod Organizer stores it in its own profile folder) is the Master INI file. It can modify all settings used by the game. However, it cannot modify the settings specific to the Skyrim Launcher (namely sD3DDevice, uLastAspectRatio, bShowAllResolutions, bEnableFileSelection) due to the fact that the Skyrim Launcher only reads these settings from SkyrimPrefs.ini.

SkyrimCustom.ini

SkyrimCustom.ini can modify all settings used by the game, just like Skyrim.ini. Any values for settings in Skyrim.ini that are duplicated in SkyrimCustom.ini will be overwritten by the values in SkyrimCustom.ini.

SkyrimPrefs.ini

SkyrimPrefs.ini (located at %USERPROFILE%\Documents\My Games\Skyrim by default, although Mod Organizer stores it in its own profile folder) can only modify a few settings, primarily the ones changed in the Skyrim Launcher and the in-game settings menu. Under the hood, only certain settings flagged and hard-coded into the game executable can be changed in SkyrimPrefs.ini. These settings in their entirety are documented on the advanced SkyrimPrefs INI guide. Any values for settings in Skyrim.ini or SkyrimCustom.ini that are duplicated in SkyrimPrefs.ini will be overwritten by the values in SkyrimPrefs.ini if and only if they are in the list of settings valid in SkyrimPrefs.ini.

Plugin INIs

Plugin INIs can only modify the settings that are not in the list of settings valid in SkyrimPrefs.ini. This means it can modify all settings in Skyrim.ini minus the ones modifiable in SkyrimPrefs.ini. All values set in the in-game settings and in the Skyrim Launcher GUI are not modifiable by plugin INIs (with exception of bReflectLODLand, bReflectLODObjects, bReflectLODTrees, and bReflectSky). Any values for settings in Skyrim.ini that are duplicated in a plugin INI will be overwritten by the values in the plugin INI if and only if they are not in the list of settings valid in SkyrimPrefs.ini.

MO INI tweaks

Mod Organizer (MO) INI Tweaks can modify all settings. It overwrites all values for all settings duplicated in any other INI file. If it does not seem to be working anywhere else, try a MO INI Tweak.

INI syntax

The INI files follow this basic format:

[Section]
setting=value

There are some rules about this structure that must be observed generally and specifically.

General rules

  • Spaces are ignored before and after [sections], settings, values, equal signs (=), and square brackets ([ and ]). That means that setting=value will do the same as setting = value .
  • Comments do not exist, yet they do exist, because they do not exist. In essence, a comment is read as a setting that merely does not exist, and therefore does not affect anything, allowing it to exist. Comments should only be placed on a line that does not contain a setting, lest it be mistaken for a value of a setting.

[Section] rules

  • [Section] names are case insensitive. That means that [Display] and [display] will be read as the same.
  • There may only be one [section]. Duplicate sections will not be used in any case. If more than one section exists, only the first one will be used. This means that if [Grass] exists at the top of the INI, and another [Grass] exists at the bottom of the INI, only the top section will be used, even if the second section contains settings not listed in the top section.

Setting rules

  • Setting names are case insensitive. That means that iPresentInterval and ipresentinterval will be read as the same.
  • There may only be one setting. Duplicate settings will not be used in any case. If more than one setting exists, only the first one will be used. This means that if iPresentInterval exists at the top of [Display], and another iPresentInterval exists at the bottom of [Display], only the top setting will be used, even if the first setting is blank.
  • The setting's name is defined as all characters between the start of the line and the equal sign (=) underneath a [Section].
The prefixes

Each setting has a (typically lowercase) prefix and a name. The name identifies what the setting modifies. The prefix determines what kind of value the setting can accept. Below is a list of the different prefixes and their meanings.

  • b-prefix settings accept a Boolean value of 1 (true) or 0 (false).
  • f-prefix settings accept a floating point numeral value (any rational number, positive or negative, with or without a decimal, such as 5, 0, or -38.0003). Some default values for these settings can only be estimated with decimal numerals (think π). Floating point values may use exponential (e) notation. In exponential notation, the number before the e is multiplied by 10 to the power of the integer after the e (e.g., 1e7 equals 1 with 7 zeros after it, i.e., 1,0000,000 and 1e-7 equals 1 with 7 zeros before the decimal point, i.e., .00000001).
  • i-prefix settings accept an integer value (any whole number, positive or negative, without a decimal point, such as 5, -38, or 0). Integers are limited between -2147483648 and 2147483648 (2 x 1024 x 1024 x 1024).
  • r-prefix (including some s-prefix) settings accept a color value in RGB (e.g. 93,216,234) or possibly even RGBA (e.g. 93,216,234,1) format.
  • s-prefix (also str) settings accept a string value (usually text, but may contain numbers, punctuation--anything really).
  • u-prefix (also ui) settings accept an unsigned integer value (any whole number, only positive or 0, without a decimal point, such as 5, 38, or 0). Unsigned integers are generally limited between 0 and 2147483648 (2 x 1024 x 1024 x 1024), however some may incorrectly recognize negative values.

Value rules

  • The value is defined as all characters between the equal sign (=) and the end of the line within 255 characters prior to the first character that the setting will not accept.
  • A setting will accept whatever value is given it, but will stop accepting that value if it goes outside the range which that setting is allowed to accept, determined by the type of setting it is defined as per its prefix (e.g., iPresentInterval=1;disable is read as iPresentInterval=1 and sIntroSequence=BGS_LOGO.BIK;disable is read as sIntroSequence=BGS_LOGO.BIK;disable).
  • A setting cannot accept a value that is on a new line. That means that the following value will not be used:
setting=
value
  • If a setting has a blank value in the INI, the default value will be used instead of a blank value except for string settings (those with an s-prefix), where setting it blank will cause the string value also to be blank.

Changing settings in-game

Settings

Many values to settings may be changed via the in-game settings menu and the console.

Settings menu

The in-game settings menu may be accessed by pressing the Escape (Esc) key and clicking Settings.

Gameplay

Gameplay Menu Top
Gameplay Menu Bottom

The Gameplay submenu changes settings related to controls, difficulty, and autosaves.

  • Invert Y determines if the mouse is inverted over the y-axis (up and down movement). It changes bInvertYValues in SkyrimPrefs.ini.
  • Lock Sensitivity sets the lock sensitivity. It changes fMouseHeadingSensitivity in SkyrimPrefs.ini.
  • Vibration toggles controller rumble. It changes bGamePadRumble in SkyrimPrefs.ini.
  • 360 Controller toggles the use of a controller. It changes bGamepadEnable in SkyrimPrefs.ini.
  • Difficulty sets the game difficulty. It changes iDifficulty in SkyrimPrefs.ini.
  • Show Floating Markers toggles floating quest markers. It changes bShowFloatingQuestMarkers in SkyrimPrefs.ini.
  • Save on Rest toggles autosaves upon sleeping. It changes bSaveOnRest in SkyrimPrefs.ini.
  • Save on Wait toggles autosaves upon waiting. It changes bSaveOnWait in SkyrimPrefs.ini.
  • Save on Travel toggles autosaves upon traveling to different locations. It changes bSaveOnTravel in SkyrimPrefs.ini.
  • Save on Character Menu sets the time between autosaves made on a timer in minutes, or disables them. It changes bSaveOnPause and fAutosaveEveryXMins in SkyrimPrefs.ini.

Display

Display Menu Top
Display Menu Bottom

The Display submenu changes settings related to the HUD and appearance.

  • Brightness sets the gamma brightness. It changes fGamma in SkyrimPrefs.ini.
  • HUD Opacity sets the opacity of the HUD. It changes fHUDOpacity in SkyrimPrefs.ini.
  • Actor Fade sets the actor fade distance. It changes fLODFadeOutMultActors in SkyrimPrefs.ini.
  • Item Fade sets the item fade distance. It changes fLODFadeOutMultItems in SkyrimPrefs.ini.
  • Object Fade sets the object fade distance. It changes fLODFadeOutMultObjects in SkyrimPrefs.ini.
  • Grass Fade sets the distance grass will begin to fade. It changes fGrassStartFadeDistance in SkyrimPrefs.ini.
  • Light Fade sets the distance when light will begin to fade. It changes fLightLODStartFade in SkyrimPrefs.ini.
  • Specularity Fade may set the distance specularity begins to fade. Unfortunately, it does not appear to have any effect. It changes fSpecularLODStartFade in SkyrimPrefs.ini.
  • Crosshair toggles the crosshair. It changes bCrosshairEnabled in SkyrimPrefs.ini.
  • Dialogue Subtitles toggles subtitles for important dialogue. It changes bDialogueSubtitles in SkyrimPrefs.ini.
  • General Subtitles toggles subtitles for all dialogue. It changes bGeneralSubtitles in SkyrimPrefs.ini.

Audio

Audio Menu

The Audio submenu changes the volume of different kinds of sounds. Some mods like Audio Overhaul for Skyrim change the default kinds of sounds listed here.

  • Master sets the master volume level. It changes fAudioMasterVolume in SkyrimPrefs.ini.
  • Effects sets the effects volume level. It changes an fVal# in SkyrimPrefs.ini.
  • Footsteps sets the footsteps volume level. It changes an fVal# in SkyrimPrefs.ini.
  • Voice sets the voice volume level. It changes an fVal# in SkyrimPrefs.ini.
  • Music sets the music volume level. It changes an fVal# in SkyrimPrefs.ini.

Console

The console provides a number of commands useful in tweaking INI settings.

The setini command changes values to settings while in-game. Some settings will immediately change in-game, but others will not. These settings will NOT be saved to the INI files unless the saveini command is used (do NOT use the saveini command to alter INI files!).

  1. Press the tilde (~) key to access the console.
  2. Type setini "setting:section" value.
  3. Press enter.

Current values for settings may be retrieved by using the getini command. Floating point values are not displayed beyond two decimal places.

  1. Press the tilde (~) key to access the console.
  2. Type getini "setting:section" value.
  3. Press enter.

It is also possible to refresh the values of some settings from the INI files if changed after launching Skyrim by typing the refreshini command in the console.

  1. Press the tilde (~) key to access the console.
  2. Type refreshini.
  3. Press enter.

The saveini console command is not recommended to be used except for research purposes, as some of the values to the settings which that command prints out are only accurate to four decimal places and unequal to the proper default values. It should be noted, however, that the saveini command prints out all settings recognized by the game to the default SkyrimPref.ini file and an INI file with the name of the last plugin loaded in the data folder. Both must be removed after use for the game to function properly.

  1. Press the tilde (~) key to access the console.
  2. Type saveini.
  3. Press enter.

Recommended changes

This guide assumes that the user has either followed the current STEP Guide or has jumped over to this guide whilst following the main guide. Note that this guide includes all INI tweaks recommended by STEP, including those in the STEP Guide.

The following instructions expect the unedited default INIs created in section 1.B of the STEP Guide! If the INI files have been altered from their defaults in any way, please delete them from %USERPROFILE%\Documents\My Games\Skyrim and .\Mod Organizer\profiles\. After deleting them, the default versions can be regenerated by running the Skyrim Launcher again as described in section 1.B of the STEP Guide. Users with MO already installed and set up will have to run the Launcher via MO to reset the defaults for the profile.

Warning-Logo.png      Warning:Changing settings in the Skyrim Launcher can undo user-configured INI tweaks. Steam has also been known to update the INIs under certain conditions. This does not apply to MO users except if running the Skyrim Launcher or Steam from within MO. To avoid "unapproved" alterations to the default configuration files, it is possible to set the INI files as "read only" after all the tweaks are in place. Do not set the MO profile INIs to read-only since this will cause problems.

Some of the tweaks are only relevant to the STEP "Recommended System." For tweaks that affect game performance, the potential performance impact is indicated. Copy the following tweaks into the correct INI file inside their respective [sections]. If the setting already exists, change the value to the one below. If the setting does not exist, enter it on a new line at the end of its [section]. If the [section] does not exist, create it on a new line below one of the [sections]. Carefully check to ensure that there are no:

  1. duplicate [sections]
  2. duplicate settings
  3. misspellings (avoid this by copying and pasting from the guide or using MO's Configurator)
  4. invalid characters (each setting can only have characters accepted by its type, indicated by its prefix)


Mod Organizer Guide
USERS
Using the Tools > [Configurator] tool prevents any editing mistakes. Open the tool, click [Basic] to get the Advanced options, and choose the applicable section from the combobox. Then find the applicable setting and alter as indicated below. Click the [Save] button after each change and close the dialog when finished.

Skyrim INI

Skyrim INI Guide


[Archive]

Set INI-loaded BSAs to their correct values
If the user somehow bypasses using the Skyrim Launcher when creating their INI files, the game will be missing Esbern's voice and will cause TES5Edit and other programs to not read all the Skyrim vanilla BSAs. To fix this, the following MUST be present in the Skyrim.ini file in the [Archive] section.

sResourceArchiveList=Skyrim - Misc.bsa, Skyrim - Shaders.bsa, Skyrim - Textures.bsa, Skyrim - Interface.bsa, Skyrim - Animations.bsa, Skyrim - Meshes.bsa, Skyrim - Sounds.bsa
sResourceArchiveList2=Skyrim - Voices.bsa, Skyrim - VoicesExtra.bsa


[Camera]

Increase third-person zoom speed
fMouseWheelZoomSpeed sets the transition speed when zooming in and out in third person mode. This also affects how fast the transition from first to third person occurs.

fMouseWheelZoomSpeed=10


[Combat]

More accurate aiming with bows and crossbows
f1PArrowTiltUpAngle sets the upward tilt angle of arrows in first-person view. It is recommended to change this so that arrows more accurately hit where the crosshair is pointing, although some arching is "natural."

f1PArrowTiltUpAngle=0.7

f3PArrowTiltUpAngle sets the upward tilt angle of arrows in third-person view. It is recommended to change this so that arrows more accurately hit where the crosshair is pointing, although some arching is "natural."

f3PArrowTiltUpAngle=0.7

f1PBoltTiltUpAngle sets the upward tilt angle of crossbow bolts in first-person view. Unfortunately, there is no similar setting for third-person view. It is recommended to change this so that bolts more accurately hit where the crosshair is pointing.

f1PBoltTiltUpAngle=0.7


[Display]

Disable Skyrim's buggy screenshots
bAllowScreenShot toggles the ability to create screenshots in BMP format by pressing the PrintScreen key. Once over three megabytes in size, the files seem to become corrupt. ENBoost's screenshot functionality effectively replaces it.

bAllowScreenShot=0

Smooth sun-shadow transitions
fSunShadowUpdateTime sets the speed of sun-shadow transitions in seconds. It is recommended to be adjusted to minimize the transitions. The value here increases the speed of the transition from one second to a quarter second. fSunUpdateThreshold sets the time between sun-shadow transitions. A value of 0.05 is equal to 1 second, so a value of 1 equals 20 seconds. Increasing this also increases the distance the shadows will move during the transition. It is recommended to be adjusted to minimize the transitions. The tweak here increases the time between transitions from 10 to 30 seconds, causing the transition to move the shadows three times as far.

fSunShadowUpdateTime=0.25
fSunUpdateThreshold=1.5

Enable or disable vertical sync
iPresentInterval toggles vertical sync between frame render and screen refresh rate, removing screen tearing. Despite being erroneously placed in the SkyrimPrefs.ini by the Skyrim Launcher and basically every other tweak guide around, this setting will have no effect unless placed in Skyrim.ini. It is recommended to be left at 1 (enabled), which is its default value. Setting it to 0 will disable it, which may be useful if another form of vertical sync or a frame rate limiter is used.

iPresentInterval=1


[General]

Disable the intro video
sIntroSequence sets the intro video before the main menu. It is recommended to set it to blank for faster startup.

sIntroSequence=

Prevent lighting pop-in
Raising fFlickeringLightDistance is believed to prevent lighting pop-in.

fFlickeringLightDistance=8192


[Grass]

Adjust grass fade range
fGrassFadeRange sets how far away grass will fade from the start fade distance (fGrassStartFadeDistance, which is Grass Fade in the in-game Settings > Display menu). It is recommended to adjust fGrassFadeRange rather than increase fGrassStartFadeDistance to remove the grass pop-in effect and performance benefits over the latter.

fGrassFadeRange=0

fGrassFadeRange=0
fGrassFadeRange=2500

fGrassFadeRange=2500
fGrassFadeRange=5000

fGrassFadeRange=5000
fGrassFadeRange=18000

fGrassFadeRange=18000
fGrassFadeRange=10000

Increase grass diversity
iMaxGrassTypesPerTexure (sic) sets the maximum types of grass per texture. Increasing this will create more diverse kinds of grass, especially with grass mods such as Skyrim Flora Overhaul at a small performance cost. Without grass mods, changing this setting produces little effect. Negative values disable grass. It is recommended to increase this from its default value, 2, to 3. For STEP, which uses Skyrim Flora Overhaul, set this to 7.

iMaxGrassTypesPerTexure=7

Adjust grass density
iMinGrassSize sets the grass density. Lower values produces greater density, but values between 1 and 40 look almost identical. A value of 0 removes all grass. Negative values (e.g., -1, -10, etc.) look almost identical to the values of 1 to 40, but can induce CTDs so don't use them. High values starting around 50 and higher noticeably decrease grass density at a small performance gain. Grass mods such as Grass on Steroids and Verdant take advantage of this and can create high density grass at high iMinGrassSize values. Setting iMinGrassSize too high (e.g., 1000) will remove all grass. STEP recommends to increase this to 40.

iMinGrassSize=-1

iMinGrassSize=-1
iMinGrassSize=0

iMinGrassSize=0
iMinGrassSize=1

iMinGrassSize=1
iMinGrassSize=10

iMinGrassSize=10
iMinGrassSize=20<br />(default)

iMinGrassSize=20
(default)
iMinGrassSize=40<br />(recommended)

iMinGrassSize=40
(recommended)
iMinGrassSize=50

iMinGrassSize=50
iMinGrassSize=60

iMinGrassSize=60
iMinGrassSize=80

iMinGrassSize=80
iMinGrassSize=100

iMinGrassSize=100
iMinGrassSize=40


[Interface]

Disable the in-game tutorial pop-ups
bShowTutorials toggles the in-game tutorial pop-ups. It is recommended to disable them (set to 0) once accustomed to the game.

bShowTutorials=0


[MapMenu]

Increase map menu rotation range
fMapWorldYawRange sets the yaw range that the map menu's camera can turn when the right mouse button is pressed. Setting this to 400 allows the user to rotate full circle once. Increasing this beyond 400 allows the user to rotate more than full circle. Obsessively high values (e.g., 3600) induce crashes.

fMapWorldYawRange=400

Increase map menu angle range
fMapWorldMinPitch and fMapWorldMaxPitch sets the pitch that the user can change the angle of the map upwards and downwards when the right mouse button is held. Increasing it to the below values will enable the user the range of looking straight down on the map up to looking perpendicular across the map.

fMapWorldMinPitch=0
fMapWorldMaxPitch=90


[Water]

Enable LOD water reflections
These settings will enable LOD reflections of objects, trees, and land in the water.

Water reflections disabled

Water reflections disabled
Water reflections enabled

Water reflections enabled
bReflectLODLand=1
bReflectLODObjects=1
bReflectLODTrees=1

SkyrimPrefs INI

SkyrimPrefs INI Guide


[Display]

Disable or enable precise lighting
bFloatPointRenderTarget toggles the ability of lighting to be rendered using floating point (decimal) values rather than only integer values. This increases the precision of lighting. It comes with a medium performance impact. For a STEP installation, set it to 0. If using an ENBSeries Preset, this must be enabled. ENBSeries Presets should be installed after a stabled installation of STEP is confirmed.

bFloatPointRenderTarget=0

Enable deferred shadows
bDeferredShadows toggles deferred rendering of shadows. It is required for bDrawLandShadows and bShadowsOnGrass to work. Enabled this for STEP. If using an ENBSeries Preset, this must be enabled.

bDeferredShadows=1

Enable or disable shadows on land
bDrawLandShadows toggles the ability of land objects such as rocks and mountains to cast shadows. It can be disabled (set value to 0) for a slight performance gain. Enable this for STEP. If using an ENBSeries Preset, this must be enabled.

bDrawLandShadows=0(Default)

bDrawLandShadows=0
(Default)
bDrawLandShadows=1

bDrawLandShadows=1
bDrawLandShadows=1

Enable or disable shadows on grass
bShadowsOnGrass toggles the ability of objects to cast shadows upon grass. The grass itself does not cast shadows. This may be disabled for a minor performance increase. Enable this for STEP. If using an ENBSeries Preset, this must be enabled.

bShadowsOnGrass=1(Default)

bShadowsOnGrass=1
(Default)
bShadowsOnGrass=0

bShadowsOnGrass=0
bShadowsOnGrass=1

Enable or disable shadows on trees
bTreesReceiveShadows toggles the ability of trees to cast shadows on themselves. It may be disabled for a slight performance gain. Enable this for STEP. If using an ENBSeries Preset, this must be enabled.

bTreesReceiveShadows=0(Default)

bTreesReceiveShadows=0
(Default)
bTreesReceiveShadows=1

bTreesReceiveShadows=1
bTreesReceiveShadows=1

Enable the shadow filter
iShadowFilter toggles the shadow filter on and off. If set to a value between 0 and 4, the shadow filter is on. If set to any other value, be it below 0 or above 4, the shadow filter is turned off, which causes buggy shadows that induce CTDs. It is recommended to leave at its default value of 3, since all values between 0 and 4 appear to produce the same result.

iShadowFilter=3

Disable ZPrepass on shadows
bShadowMaskZPrepass is believed to toggle ZPrepass on the shadow mask. Enabling ZPrepass tells the game not to render certain objects to try to increase performance. In testing, no difference was noticed, but that could mean nothing, given the nature of the setting. It is recommended to leave it at its default value since there very well might be a good reason Bethesda disabled it.

bShadowMaskZPrepass=0

Remove tree popping
This almost entirely removes tree popping, due to the fact that trees are rendered at a sufficient distance to make the skinning process almost invisible. It is required to raise uiMaxSkinnedTreesToRender as shown lower in this guide for this to work. See the Skyrim Tree Settings Guide for more information.

fMeshLODLevel1FadeTreeDistance=6144
fMeshLODLevel2FadeTreeDistance=4096
fTreesMidLODSwitchDist=8192

Disable anisotropic filtering
iMaxAnisotropy sets the level of anisotropic filtering (AF). This improves the texture quality of distant objects. It is recommended to be set to 0 and force it in the graphics driver which is explained in section 1.E of the STEP Guide.

iMaxAnisotropy=0

iMaxAnisotropy=0
iMaxAnisotropy=4

iMaxAnisotropy=4
iMaxAnisotropy=16

iMaxAnisotropy=16
iMaxAnisotropy=0

Increase the number of allowed decals
These settings ensure that decals are displayed.

iMaxDecalsPerFrame=250
iMaxSkinDecalsPerFrame=100

Adjust antialiasing
iMultiSample sets the level of antialiasing applied to edges to make them smoother and less jagged. This may be disabled (set to 0) to add a different form of antialiasing such as SMAA, FXAA, or other implementations in SweetFX or ENBSeries. If using an ENBSeries Preset, this must be disabled. 4 is the recommended value for all users not using a different form or antialiasing. The difference between 4 and 8 is barely noticeable compared to the performance trade off.

iMultiSample=0

iMultiSample=0
iMultiSample=2

iMultiSample=2
iMultiSample=4

iMultiSample=4
iMultiSample=8

iMultiSample=8
iMultiSample=4


[Launcher]

Enable file selection in the Skyrim Launcher
bEnableFileSelection toggles the ability of the Skyrim Launcher to have Data greyed out and unclickable or active and accessible. Setting it to 1 will allow Data to be accessed in the Launcher. It is not toggleable in the Launcher, so one must add the line manually. It has been verified that it is not used by the game itself, just the launcher. If this is not enabled, running the Skyrim Launcher may remove any existing load order.

bEnableFileSelection=1


[Trees]

Increase the maximum amount of skinned trees
uiMaxSkinnedTreesToRender sets the maximum amount of skinned trees that can be rendered. Increasing this will help remove tree popping. See the Skyrim Tree Settings Guide for more information.

uiMaxSkinnedTreesToRender=20(Value assigned by all presets)

uiMaxSkinnedTreesToRender=20
(Value assigned by all presets)
uiMaxSkinnedTreesToRender=200

uiMaxSkinnedTreesToRender=200
uiMaxSkinnedTreesToRender=200


[Water]

Increase resolution of water reflections
iWaterReflectHeight and iWaterReflectWidth set the resolution of water reflections. Increase these to 1024 for a STEP installation.

Please note that water noise has been disabled in the below comparison images to more easily see the difference.

iWaterReflectHeight=512iWaterReflectWidth=512(Default)

iWaterReflectHeight=512
iWaterReflectWidth=512
(Default)
iWaterReflectHeight=1024iWaterReflectWidth=1024

iWaterReflectHeight=1024
iWaterReflectWidth=1024
iWaterReflectHeight=2048iWaterReflectWidth=2048

iWaterReflectHeight=2048
iWaterReflectWidth=2048
iWaterReflectHeight=1024
iWaterReflectWidth=1024

Other useful INI tweaks

While the following INI tweaks may not be "recommended," they can be useful in many different ways.

Skyrim INI


[Camera]

Improve third-person camera view while on horseback
Places the camera just above the character head in third-person view, and corrects the camera angle in third-person view while on horseback (from Third Person Horse Camera).

fOverShoulderPosZ=18.0
fOverShoulderPosX=0.0
fOverShoulderCombatAddY=0.0
fOverShoulderCombatPosZ=24.0
fOverShoulderCombatPosX=0.0
fOverShoulderHorseAddY=-72.0
fOverShoulderHorsePosZ=50.0
fOverShoulderHorsePosX=35.0


[Controls]

Set the mouse pointer to only be at one spot for manipulating ENB in-game configuration
bBackgroundMouse toggles the ability of the mouse to move independently inside Skyrim (default where bBackgroundMouse is disabled) or dependent upon where the cursor actually is in the system (bBackgroundMouse is enabled). It can be enabled to prevent awkward mouse behavior during some actions (e.g., the mouse being at two different places when working with ENB in-game settings). However, it will probably need to be disabled during actual gameplay unless some bugs get fixed (namely, problems when used in windowed and multi-monitor setups, along with causing the cursor to appear near the edges of the screen).

bBackgroundMouse=1


[Decals]

Disable or enable decals
bDecals toggles decals (which are effects such as flame burn effects and blood on the ground). They can be disabled (set to 0) for a minor performance increase, but are recommended to be left enabled (set to 1), as some decals are actually necessary to solve quests (such as the "Blood on Ice" quest).

bDecals=1


[Display]

Enable modder's paradise mode
bShowMarkers toggles markers for objects and their bounds like seen in the Creation Kit.

bShowMarkers=1

bShowMarkers=1
bShowMarkers=1

Change the default field of view (FOV)
Skyrim's default FOV setting of 65 is optimized for 16:10 aspect ratio monitors. Since most users will have 16:9 monitors, it is recommended to increase this to 70.59. If you use a 4:3 aspect ration monitor, use a value of 55.93.

fDefault1stPersonFOV=70.59
fDefaultFOV=70.59
fDefaultWorldFOV=70.59

Adjust light fade range
fLightLODRange sets how far away light will fade from the start fade distance (fLightLODStartFade, which is Light Fade in the in-game Settings > Display menu). It is recommended to set it to 50000.

fLightLODRange=500(Default)

fLightLODRange=500
(Default)
fLightLODRange=20000

fLightLODRange=20000
fLightLODRange=50000(Recommended)

fLightLODRange=50000
(Recommended)
fLightLODRange=50000

Center windowed Skyrim on screen at startup
iLocation X sets the horizontal position from left of the Skyrim window in windowed mode in pixels (e.g. setting this to 200 will move the window 200 pixels right). To center it horizontally on your screen, take your screen resolution's width minus iSize W in Skyrim.ini and divide that by 2.

iLocation X=(Screen width - iSize W)/2

iLocation Y sets the vertical position from top of the Skyrim window in windowed mode in pixels (e.g. setting this to 200 will move the window 200 pixels down). To center it vertically on your screen, take your screen resolution's height minus iSize H in Skyrim.ini and divide that by 2.

iLocation Y=(Screen height - iSize H)/2


[General]

Force Skyrim to remain active when out of focus
bAlwaysActive toggles the ability of the game to remain active when it is out of focus (e.g., in a windowed mode setup, if one clicks outside the Skyrim window with this enabled, the game will not pause).

bAlwaysActive=1

Increase the time between subsequent "You are carrying too much to be able to run" messages
fEncumberedReminderTimer sets the time interval between subsequent "You are carrying too much to be able to run" messages when the player's inventory has exceeded its weight limit.

fEncumberedReminderTimer=3600

Set the number of CPU threads Skyrim can utilize
iNumHWThreads sets the maximum number of hardware threads the game can use. Set this to the number of cores your CPU has, doubling that number if it has hyperthreading. The default value is 4, which is perfect for quad-core CPUs without hyperthreading.

iNumHWThreads=Number of CPU cores, multiplied by 2 if hyperthreaded


[Grass]

Disable or enable grass
bDrawShaderGrass toggles the grass shader. Enabling it enables grass, while disabling it will disable grass. It is recommended to be enabled.

bDrawShaderGrass=1<br />(default)

bDrawShaderGrass=1
(default)
bDrawShaderGrass=0

bDrawShaderGrass=0
bDrawShaderGrass=0

Disable windy grass movement
Removes the wind speed on grass to cause them to remain static for a potential performance increase.

fGrassWindMagnitudeMax=0
fGrassWindMagnitudeMin=0


[Interface]

Open books faster
Speeds up the book-opening animation.

fBookOpenTime=200.0

Move HUD closer to screen borders
Move the HUD elements closer to the borders of the screen.

fSafeZoneX=10
fSafeZoneY=10
fSafeZoneXWide=10 
fSafeZoneYWide=10


[LightingShader]

Reduce decal fade
fDecalLODFadeStart and fDecalLODFadeEnd set the the starting and ending fade for decals. It is recommended to be increased. The values given below were the maximum values that a difference was noticeable on vanilla Skyrim. Using the high values below may seriously affect performance, and it is recommended to tweak to somewhere between the very low default values and the high values given here.

fDecalLODFadeStart=0.0500000007fDecalLODFadeEnd=0.0599999987(Default)

fDecalLODFadeStart=0.0500000007
fDecalLODFadeEnd=0.0599999987
(Default)
fDecalLODFadeStart=1.1fDecalLODFadeEnd=1.1

fDecalLODFadeStart=1.1
fDecalLODFadeEnd=1.1
fDecalLODFadeStart=1.1
fDecalLODFadeEnd=1.1


[MapMenu]

Remove map menu blur
The following settings will altogether remove blurring on the map menu.

Default blurred map menu

Default blurred map menu
Map menu blur removed

Map menu blur removed
bWorldMapNoSkyDepthBlur=1
fWorldMapDepthBlurScale=0
fWorldMapMaximumDepthBlur=0
fWorldMapNearDepthBlurScale=0

Increase map menu object detail
uLockedObjectMapLOD sets the level of detail of objects on the map menu. Lowering this produces better details on objects, especially river falls, but will cause the map to load slightly slower. It has been observed to sometimes cause infinite loading screens when loading saves where it was a higher value. It is recommended to set this to 8.

uLockedObjectMapLOD=16(Default)

uLockedObjectMapLOD=16
(Default)
uLockedObjectMapLOD=8

uLockedObjectMapLOD=8
uLockedObjectMapLOD=8


[SaveGame]

Increase the autosave limit
iAutoSaveCount sets the maximum amount of autosaves allowed before removing the oldest autosave.

iAutoSaveCount=5



[Trees]

Disable or enable dynamic trees
fbEnableTrees toggles the "dynamic" rendering of trees. If disabled, all trees will be skinned and inanimate, using the "static" version of tree rendering, which also removes tree popping. It seems to do the same thing as bEnableTreeAnimations. See the Skyrim Tree Settings Guide for more information.

bEnableTrees=0

Disable or enable tree animations
fUpdateBudget appears to control the amount of resources allocated to tree animations. If set to 0, tree animations will be effectively disabled while not causing all trees to be skinned. This may increase performance. See the Skyrim Tree Settings Guide for more information.

fUpdateBudget=0


[VATS]

Increase killcam frequency

bVATSMultipleCombatants=1
bVATSForceRanged=1
fVATSRangedPercentMin=100
fVATSRangedPercentSneakKill=100
fVATSRangedPercentTargetNoThreat=100


Enable or disable killcams
bVATSDisable toggles the killcams. It is recommended to remain enabled. It may be disabled on weak systems to reduce performance drops from killcam activation.

bVATSDisable=1


[Water]

Enable or disable sky water reflections
bReflectSky toggles sky reflections in the water. It can appear buggy sometimes when you move the camera, so it is recommended to be disabled.

bReflectSky=0(Default)

bReflectSky=0
(Default)
bReflectSky=1

bReflectSky=1
bReflectSky=0


[Weather]

Disable or enable precipitation
bPrecipitation toggles precipitation. Setting it to 0 will disable all rain and snow.

bPrecipitation=1<br />(Default)

bPrecipitation=1
(Default)
bPrecipitation=0

bPrecipitation=0
bPrecipitation=1

Change sun size
fSunBaseSize sets the sun's base size. Setting it to 0 will remove the sun altogether, albeit the day will still be lit. Default is 425.

fSunBaseSize=425<br />(Default)

fSunBaseSize=425
(Default)
fSunBaseSize=850

fSunBaseSize=850
fSunBaseSize=850

Increase or decrease sun glare
fSunGlareSize sets the amount of sun glare. Setting this to 0 will not disable sun glare, and negative values act the same as positive values. Extremely high values will cause a glare line. Default is 600.

fSunGlareSize=0

fSunGlareSize=0
fSunGlareSize=600<br />(Default)

fSunGlareSize=600
(Default)
fSunGlareSize=60000

fSunGlareSize=60000
Glare line if set too high (e.g., 60000)

Glare line if set too high (e.g., 60000)
fSunGlareSize=0

SkyrimPrefs INI


[Display]

Change to windowed or full screen mode
bFull Screen toggles the ability of the game to be rendered fullscreen. Setting this to 0 will cause Skyrim to launch in windowed mode. Setting this to 1 will cause Skyrim to launch in full screen mode.

bFull Screen=0

Enable or disable FXAA
bFXAAEnabled toggles an almost zero-cost approximation of antialiasing using the FXAA technique. It actually seems to work well, and may be good enough on low-end systems to use it and disable antialiasing (iMultiSample=0). Note, however, that there is a slight blurring applied to everything as a side effect.

bFXAAEnabled=0

bFXAAEnabled=0
bFXAAEnabled=1

bFXAAEnabled=1
bFXAAEnabled=1

Remove shadows
Setting the following will remove all shadows from Skyrim. Do NOT set fInteriorShadowDistance to 0 along with this tweak! It needs to be set to a high value in order to allow light to function indoors.

bDrawLandShadows=0
bDeferredShadows=0
bShadowsOnGrass=0
bTreesReceiveShadows=0
fShadowDistance=0
iBlurDeferredShadowMask=0
iShadowMapResolution=1

Adjust screen resolution
iSize H and iSize W set the resolution that the game will be rendered in pixels.

iSize H=Height
iSize W=Width

Adjust texture quality
iTexMipMapSkip sets the texture quality (determined by the number of mipmaps to skip). It is recommended to be set to 0 to preserve full texture fidelity.

iTexMipMapSkip=0

iTexMipMapSkip=0
iTexMipMapSkip=1

iTexMipMapSkip=1
iTexMipMapSkip=2

iTexMipMapSkip=2
iTexMipMapSkip=3

iTexMipMapSkip=3
iTexMipMapSkip=0


[Imagespace]

Disable or enable depth of field (DOF)
bDoDepthOfField toggles depth of field, a kind of blurring to imitate the human eye's perception. This is most noticeable under water, reducing visibility to realistic levels (it looks clear otherwise). bDoDepthOfField is recommended to be enabled and is required for some ENB effects.

bDoDepthOfField=1(Default)

bDoDepthOfField=1
(Default)
bDoDepthOfField=0

bDoDepthOfField=0
bDoDepthOfField=0


[MAIN]

Clouds never fade
fSkyCellRefFadeDistance sets the distance for neverfade objects (the references under a base element with the neverfade flag always show to maximum draw distance). This is most noticeable with clouds. fLODFadeOutMultSkyCell multiplies this value. In testing, more clouds could be seen on distant mountains when raising this value beyond the default, and stopped at about 600000. Therefore, since there is no noticeable performance drop for the added detail, it is recommended to set this to 600000.

fSkyCellRefFadeDistance=600000(Recommended)

fSkyCellRefFadeDistance=600000
(Recommended)
fSkyCellRefFadeDistance=150000(Default)

fSkyCellRefFadeDistance=150000
(Default)
fSkyCellRefFadeDistance=0

fSkyCellRefFadeDistance=0
fSkyCellRefFadeDistance=600000


[Particles]

Adjust the amount of particle effects
iMaxDesired sets the maximum amount of particles "desired" to be rendered. This affects smoke, sparks, lights, and similar effects. The way it is designed, if set to 0, most of the time particles will not be seen, but sometimes they will "flare up," hence the "desired" part. This can be safely lowered to around 250 without much visible effect, but will not improve performance. Indeed, in testing, higher values tended to produce smoother frame rates. However, it may prove useful in reducing the amount of flickering that objects emitting a large number of particle effects are prone to in certain circumstances. Extremely high values can cause some windy snowstorms to become a little too severe. If increasing it to max it out, aim for around 10000 (this number was arrived at by the misty, snowy conditions atop the Throat of the World).

iMaxDesired=750(Default)

iMaxDesired=750
(Default)
iMaxDesired=0

iMaxDesired=0
iMaxDesired=250


[Trees]

Disable or enable skinned trees
bRenderSkinnedTrees toggles skinned trees. They may be disabled for a performance increase while removing tree popping. See the Skyrim Tree Settings Guide for more information.

bRenderSkinnedTrees=1(Default)

bRenderSkinnedTrees=1
(Default)
bRenderSkinnedTrees=0

bRenderSkinnedTrees=0
bRenderSkinnedTrees=0

Known harmful INI tweaks

The following INI tweaks are known to be harmful under certain circumstances, causing strange graphical anomalies at least or inducing CTDs at worst.

Skyrim INI


[Display]

bAutoViewDistance
bAutoViewDistance toggles a method of automatically determining how far one can see. Unfortunately, the setting is bugged, and causes distant scenery to flash if enabled.

bAutoViewDistance=1

bForcePow2Textures
bForcePow2Textures probably was a workaround for graphics cards that cannot use textures that were not powers of 2, forcing all textures to become powers of 2. However, the setting merely causes the game to crash upon loading.

bForcePow2Textures=1

bImageSpaceEffects
bImageSpaceEffects toggles imagespace effects, which evidently are necessary, since disabling them induces CTD.

bImageSpaceEffects=0

bMTRendering
bMTRendering when enabled does something to the rendering in order to--cause the game to freeze up and not do anything!

bMTRendering=1

bUse Shaders
bUse Shaders toggles the ability of the game to use shaders. Turning it off result in the followin error message: "Failed to initialize renderer. ShaderModel3 required but not supported by your video card."

bUse Shaders=0

bSimpleLighting
bSimpleLighting is a broken setting that causes graphical issues when enabled.

bSimpleLighting=0(Default)

bSimpleLighting=0
(Default)
bSimpleLighting=1

bSimpleLighting=1
bSimpleLighting=1

iAdapter
iAdapter sets which screen will display Skyrim in a multi-monitor setup. If it is set incorrectly, it will cause an error saying "Failed to initialize renderer. Bad Adapter Name or Adapter not found.

iAdapter=Something other than your monitor adapter number


[General]

uExterior Cell Buffer
Negative values cause CTD.

uExterior Cell Buffer=-1 or lower

uGridsToLoad
Negative values cause CTD. Changing the uGridsToLoad value between saved games may cause CTD. It is recommended to be left at its default value of 5. Higher values will likely bug out the game over time.

uGridsToLoad=-1 or lower

uInterior Cell Buffer
Negative values cause CTD.

uInterior Cell Buffer=-1 or lower


[Grass]

iGrassCellRadius
iGrassCellRadius sets the radial number of cells that grass is rendered around the player. This must be set to (uGridsToLoad - 1)/2. If set higher, grass will bug out quickly and remove all grass upon walking just a short distance. If set lower, grass will pop into view unrealistically. Negative values disable grass.

iGrassCellRadius=Anything other than (uGridsToLoad - 1)/2

iMinGrassSize
iMinGrassSize if set to obsessively high negative values induces CTDs. There is no benefit to using negative values, so just don't do it!

iMinGrassSize=-80 or similarly obsessively high negative values


[MapMenu]

fMapWorldYawRange
fMapWorldYawRange sets the yaw range that the map menu's camera can turn when the right mouse button is pressed. Setting this to 400 allows the user to rotate full circle once. Increasing this beyond 400 allows the user to rotate more than full circle. Obsessively high values (e.g., 3600) induce crashes.

fMapWorldYawRange=3600 or similarly obsessively high values


[SaveGame]

bUsePagedBuffers
bUsePagedBuffers was added in the official patch 1.4. Since the 1.4 changelog says it "Fixed rare crash with loading saved games," this addition most likely is the fix for said issue. Therefore, it is recommended to remain enabled.

bUsePagedBuffers=0


[ScreenSplatter]

bBloodSplatterEnabled
bBloodSplatterEnabled toggles screen blood splatter. Unfortunately, disabling it also causes the map menu to CTD.

bBloodSplatterEnabled=0


[Water]

bUseWater
bUseWater toggles water visibility. Disabling this will remove all water from view, but it can still be swam through. It can also induce CTD.

bUseWater=0

SkyrimPrefs INI


[Display]

bMainZPrepass
bMainZPrepass toggles ZPrepass. Enabling ZPrepass supposedly tells the game not to render certain object to try to increase performance. It is exceedingly buggy in Skyrim, causing weird flashing on objects, so it must be left disabled.

bMainZPrepass=0(Default)

bMainZPrepass=0
(Default)
bMainZPrepass=1

bMainZPrepass=1
bMainZPrepass=1

iShadowFilter
iShadowFilter toggles the shadow filter on and off. If set to a value between 0 and 4, the shadow filter is on. If set to any other value, be it below 0 or above 4, the shadow filter is turned off, which causes buggy shadows that induce CTDs. It is recommended to leave at its default value, since all values between 0 and 4 appear to produce the same result.

iShadowFilter=Any number other than 0, 1, 2, 3, or 4


[Water]

iWaterReflectHeight
iWaterReflectHeight must be set to a texture resolution (256, 512, 1024, 2048,...) value to avoid bugs. Values below 1 induce CTDs.

iWaterReflectHeight=0

iWaterReflectWidth
iWaterReflectWidth must be set to a texture resolution (256, 512, 1024, 2048,...) value to avoid bugs. Values below 1 induce CTDs.

iWaterReflectWidth=0

External resources