Persistence (Creation Kit)

From the CreationKit Wiki
Jump to navigation Jump to search

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.


Cases where the CK fails to confer persistence[edit | edit source]

There are additional cases where a ref may need to be made persistent, but where the Creation Kit checks (or at least the ones found by reverse engineering) fail to detect the need for persistence:

  • If a Unique Actor quest alias targets a given NPC, then the NPC's ref needs to be flagged as persistent. The ref itself isn't used by the alias (it's the base form that's used), so the CK misses this case.


See Also[edit | edit source]