Starfield Mod:Mod File Format/GMST

GMST records hold information about Game Settings. Like in Skyrim, GMSTs in Starfield can contain float, interior, string or boolean data depending on the first character of the the editor ID:


 * b - Boolean (assuming Integer value 0 or 1)
 * f - Float
 * i - Signed Integer
 * s - String (DATA value is an LString ID)
 * u - Unsigned Integer

Subrecords include:
 * DATA - Custom Type (always 4 bytes)
 * Depends on the first character of the editor ID (above).
 * EDID - String EditorId
 * XALG - Custom Structure (8 Bytes)
 * Dword Unknown1 (always 0x10?)
 * Dword Unknown2 (always 0?)
 * This subrecord only appears in 16 of the 2281 GMST records in Starfield.esm

= Complete List of GMST records =


 * Most GMST records do not have a form ID.
 * This makes them unique. Any GMST record can still be overriden by creating a new GMST with the same EDID.
 * Multiple plugins can override the same GMST record. The last one in the load order with a matching EDID will take precedence.
 * GMST changes do not get baked into save files. If using the SetGS console command to change a setting you must rerun this command each time you start the game executable.
 * Many GMST records in this list are remnants from previous games like Fallout.

Invalid GMSTs
These GMSTs can be found in the Starfield.esm plugin file, but have been plucked from the above lists because they appear to not be readable by the game engine. If you run GetGS in game the console will respond >> NOT FOUND for all of these records. In many cases the reason for this becomes apparent. GetGS "uPlanetContentMaxWorldspaceRequestsPoints" >> NOT FOUND but a record that can be read by the engine is "uPlanetContentMaxWorldspaceRequestsPoints:PlanetContent" >> 15. It appears that at various times the game designers attempted to override the game engine value using a plugin, but the EDID trimmed everything after the colon. Stale records like these are often left in the game files.