Persistence (Creation Kit)

Revision as of 21:54, 4 August 2023 by DavidJCobb (talk | contribs) (Created page with "Normally, references in Skyrim are only kept in memory when they're nearby. The base game has over two hundred thousand references in it, after all, representing everythin...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Normally, references in Skyrim are only kept in memory when they're nearby. The base game has over two hundred thousand references in it, after all, representing everything from placed characters to fences and mountain ranges, and that's a lot of data to keep track of at once. However, there are many situations where the game needs to be able to access a particular reference on demand, no matter how far away it is, because some other piece of game data is referring to it. (For example, if a reference is set as the target of a quest alias, then that quest can start at any time — and that reference and its data therefore need to be available to the game engine at any time.) To ensure that references like these stay in memory, the game marks them as persistent.

References can be temporarily "promoted" to persistent as a result of Papyrus scripts acting on them. However, many references are also permanently persistent, marked as such by the Creation Kit. Reverse-engineering of the original (2011) Creation Kit has established the following factors as conferring persistence:

  • The base form is any of: PrisonMarker; DivineMarker; TempleMarker; MapMarker; HorseMarker; MultiBoundMarker; RoomMarker; XMarkerHeading; XMarker.
  • The base form is a TextureSet (i.e. the ref is a decal emitter).
  • The base form is an Activator with a water type set (i.e. the ref is a water activator).
  • The base form is a Door, and the base form has one or more random destinations set.
  • The base form is either of the DLZM or DCZM Default Objects (i.e. DragonMarker or DragonMarkerCrashStrip).
  • The reference's location (per extra-data) is the PLOC Default Object (i.e. the PersistAll location).
  • The base form is a Light, and the reference is set to Never Fade.
  • The reference is being used by at least one other form, of any type, for any reason.
    • Examples: if A has B as its linked ref, then B will be persistent; a pair of connected load doors refer to each other and so make each other persistent; etc..

Additionally, when the game loads an ESP file that lacks the ESM and ESL flags, the game will automatically flag every reference in that file as persistent, in-memory, on load.

See Also