A clean save refers to a save that does not contain any data for a removed plugin anymore. There is not really such a thing as a 100% clean save. There will always be remnants left over.
The DynDOLOD plugins or the Occlusion.esp itself are very simple and mostly self contained. That means DynDOLOD does not require a new game and removing and/or updating does not have any known ill-effects, if following the below procedure.
The clean procedure only needs to be done if generating new DynDOLOD output from scratch (in case a 3rd party plugin that is a master in a DynDOLOD plugin has been removed for example) or when switching from PapyrusUtil to DynDOLOD DLL or vice versa for an existing save game.
There is no need for a clean save when updating existing DynDOLOD plugins and/or Occlusion.esp.
When adding the DynDOLOD output to an existing save game for the first time, consider using an interior save as well.
- Deactivate DynDOLOD from the DynDOLOD SkyUI MCM if available. Wait for the deactivation message.
- Go into an interior, like a house.
- Check the DynDOLOD SkyUI MCM that DynDOLOD is still deactivated if available or use the wait menu to wait 24 game hours.
- Save and exit the game.
- Remove or disable the current DynDOLOD output, including the DynDOLOD plugins and Occlusion.esp. Consider keeping a backup.
- Start the game, load the last save made above and wait a bit.
- Save and exit the game. This save is now considered to be the clean save.
- In case of switching from PapyrusUtil to DynDOLOD DLL or vice versa, consider using the Clean option Remove unattached instances and Remove undefined elements for Scripts and Script Instances starting with #SHESON_DynDOLOD_* with Resaver from FallrimTools - Script cleaner and more.
- In case of an DynDOLOD update that requires a clean save, install the new DynDOLOD Resources (and the new DynDOLOD DLL files if applicable).
- In case of switching from PapyrusUtil to DynDOLOD DLL install the DynDOLOD DLL papyrus scripts or vice versa remove them.
- Install and enable the new DynDOLOD output, including the DynDOLOD plugins and Occlusion.esp.
- Start the game and load the last save.
- Go outside to a worldspace that contains LOD generated with DynDOLOD. DynDOLOD should re-initialize by itself, else activate from DynDOLOD SkyUI MCM.
If for any reason the first four steps are not possible, remove the DynDOLOD output as per step 5, load whatever save should be cleaned and go into an interior and then continue with step 7.
The removing of Clean option Remove unattached instances and Remove undefined elements is done to reduce save file size and papyrus error messages that happen because of the different methods the papyrus scripts use to handle global data. This extra step is typically not needed when doing the usual updating for new versions or when updating from scratch, since the underlying methods of the papyrus scripts does not change if keeping DynDOLOD DLL or PapyrusUtil across the update.
To fully remove all of DynDOLODs SKSE co-save data, the game needs to be started without PayrusUtil. Just like with unattached instances and elements in the main save, orphaned data in the co-save does not really hurt anything, it just wastes space. Starting without PapyrusUtil will also remove any co-save data it might have for other plugins, so doing that is not really recommended unless the consequences are fully understood.
Terrain, object LOD and tree LOD meshes and textures are never part of save files and can always be added, updated or removed at any time without having to do anything else.