Skip to content

Creation Kit: Best Practices

Xander Dunn edited this page Jan 16, 2016 · 6 revisions

Before releasing a Skryim mod, you should make sure that you do all of these things:

Compatibility

  • Never remove items that are in the vanilla game. Instead, move and/or disable the item that you want out of the way. This is for compatibility with other mods. If another mod changes a value on that same item, but your mod deletes that item, then it will cause a crash. On the other hand, if your mod just disables that item, then any other mod's alterations to that item will simply be invisible.
  • Clean your mod using TES5Edit
    • Right click on your .esp -> Apply Filter for Cleaning. Right click on your .esp again and choose "Remove Identical to Master". Then, right click on your .esp again and choose "Undelete and Disable". See Gopher's video.
    • Check very carefully for wild edits (You changed something not in vanilla Skyrim that you no longer use and forgot to delete)
  • Check the output of the Papyrus log for any errors. Fix all of these errors. Many of these errors are probably just references to scripts or other items that you referenced at one time, then stopped using, and forgot to remove from your plugin.
  • Compile all your .psc Papyrus scripts into .pex. Consider adding these and all of your mod's other files to a .bsa
  • Any existing object in the game that you edit created a compatibility risk. If someone else edits the same objects, then their edit will either override yours or your edit will override their's, depending on load order. For this reason, as an example, it is a very bad idea to attach a script to the Player object because that would mean it would be incompatible with any other mod that edits the Player object.

Mod Uninstallation on Saved Games

When a player uses your mod, saves the game, and then wants to uninstall the mod and keep playing on that same saved game, there are a number of things to take into consideration.

  • Objects where you removed a script and/or added your own scripts should work fine. When the game loads without your mod, the scripts your mod added will be removed and any scripts your mod removed will be added back.
  • Any changes you made to persistent objects will remain. For example, if you set the display name on an ObjectReference, that will remain unchanged. Basically, all of your mod's changes made at runtime will remain, while changes made in the Creation Kit will be undone.