Skyrim Mod:Mod File Format/GMST

The UESPWiki – Your source for The Elder Scrolls since 1995
Jump to: navigation, search

GMST records contain Game Settings.

C Field Type/Size Info
+ EDID zstring Editor ID
+ DATA varies Typed Value based on first character of EDID. Both versions of Skyrim support floats, integers, and strings; original Skyrim also supports booleans but this was dropped in Skyrim SE. Boolean settings will still be loaded and saved by the Creation Kit, but will not be available to the player via console commands like GetGS and SetGS. Internally, default values will always be used.

Default Settings[edit]

Although there are a large number of hardcoded default settings in the game and Creation Kit code, not all of these are used. For those that are used, their values can be overwritten from within the Creation Kit. See the default GMST list for a list of those that Skyrim.esm uses. There is currently no way of creating new Game Settings within the Creation Kit.

Unusual behavior[edit]

Although they are encoded within ESP files the same way that forms are, game settings are not actually forms, and so don't need to obey all of the same rules that forms do. The form ID in a GMST record is irrelevant so long as the game hasn't already loaded a form with the same ID. This means that GMST records can share form IDs with each other, and that they can have out-of-bounds form IDs, without any detrimental effects on the game. (In fact, Skyrim.esm contains one GMST record with the out-of-bounds form ID 0123C00E.) It also means that GMST records can share form IDs with real forms so long as those forms haven't already been loaded into memory (this rules out overrides as well as all hardcoded forms). These behaviors are, of course, supported by the game and the Creation Kit; community tools may react poorly to them.

The EDID field is not only mandatory, but must be the first field in the record. If a GMST has no editor ID, a zero-length editor ID, or an editor ID that comes after another field, then the entire record will be completely skipped during loading. The Creation Kit does load (and properly re-save) settings with unrecognized names, with a warning, but it doesn't even warn for empty, missing, or misplaced EDID field.

The Creation Kit can load GMST records with unrecognized setting names, though it will display a warning for them. It will use the first character in the setting name to determine its type. Unrecognized type prefixes will cause the Creation Kit's UI to malfunction, and it likely won't load or save the setting's value properly.