File information
Last updated
Original upload
Created by
powerofthreeUploaded by
powerofthreeVirus scan
Safe to use
Current section
About this mod
Seasons have finally arrived in Skyrim! Powered by a SKSE based framework with model/terrain/LOD swap support and dynamic snow coverage.
- Requirements
-
Nexus requirements
Mod name Notes Address Library for SKSE Plugins DynDOLOD 3 Alpha required for seasonal LODs powerofthree's Tweaks Load Editor IDs must be enabled Off-site requirements
Mod name Notes xLODGen optional, required for seasonal LOD (beta 90 or higher) Mods requiring this file
- Permissions and credits
-
Credits and distribution permission
- Other user's assets All the assets in this file belong to the author, or are from free-to-use modder's resources
- Upload permission You can upload this file to other sites but you must credit me as the creator of the file
- Modification permission You are allowed to modify my files and release bug fixes or improve on the features without permission from or credit to me
- Conversion permission You are not allowed to convert this file to work on other games under any circumstances
- Asset use permission You are allowed to use the assets in this file without permission or crediting me
- Asset use permission in mods/files that are being sold You are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
- Asset use permission in mods/files that earn donation points You are allowed to earn Donation Points for your mods if they use my assets
Author notes
This author has not provided any additional notes regarding file permissions
File credits
This author has not credited anyone else in this file
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
- Changelogs
-
-
Version 1.8.2
- Packed 1130+ version into the main FOMOD
- Fixed issue with unloaded LOD in some cases
-
Version 1.8.1
- Support AE 1.6.1130
- Fixed game crash caused by 1.6.1130 changes
-
Version 1.8.0
- Fix bug that caused formswaps to fire twice
- Formswap performance improvements
- Support BSA packed seasonal LOD files
- Reduced frequency of ugly grass snow swaps in autogenerated WIN formswap
- Add GetLandTexture (GLT) console command for debugging purposes
- Export GetCurrentSeason/SeasonOverride API for other SKSE plugins
-
Version 1.7.5.2
- Revert 1.7.5 change that was causing reference swaps to fail on lookup
-
Version 1.7.5.1
- Add missing esp
-
Version 1.7.5
- Support AE 1.6.629+
- Display warning messagebox if SnowOverSkyrim.esp or powerofthree's Tweaks was not found
- Fix bug where formid entries would not be validated upon lookup
- Fix bug where entries within the same SWAP file would be parsed alphabetically instead of insertion order
-
Version 1.7.2
- Fixed bug where season changes would revert during interior-exterior transitions
-
Version 1.7.1
- Fixed bug where season swaps would not trigger when loading an exterior save from menu
- Fixed some statics not being swapped in winter (if they were flagged as being in water)
-
Version 1.7.0
- Papyrus API - add season overrides, OnSeasonChange event
- Remove alternate grass generation mode - DynDOLOD can now handle Grass LOD generation on its own
- Add options to completely ignore/selectively skip formswap types from the auto-generated Winter formswap
- Land Texture specular and snow flags are now swapped correctly
- Snow shaders will not be applied to braziers
- Fix minor bugs related to autogeneration
- Fix processing of non-ascii paths which could cause the plugin to unload
-
Version 1.6.1
- Added [VisualEffects] form swaps (falling pine leaves and related effects)
- Fixed [Flora] formswaps not loading correctly
- Fixed some typos in settings config
-
Version 1.6.0
- Fixed regression in 1.5.0 where single-pass snow shaders could apply to parallaxed meshes
- Fixed container snow shaders not reverting when indoors
- Added [Flora] form swaps
- Added multi-pass snow shader whitelist (_SNOW config)
- Added Papyrus function to get current season
-
Version 1.5.0
- Fixed bug where snow shaders on statics did not revert during season change or when indoors
- Fixed bug where snow shader did not apply when multiples of the same static were loaded in an area
- Fixed CTD caused by multi-pass snow shaders applying to broken nifs (no BSFadeNode)
- Prevented snow shaders applying to markers that were not flagged as such
- Added option to blacklist references/forms from dynamic snow shaders, using _NOSNOW config
- Excluded trees from not being form swapped if they were flagged as being in water
-
Version 1.4.3
- Fixed lod files being incorrectly marked as missing and therefore disabling lod swaps
- Fixed issue where configs would be read in random order
-
Version 1.4.2
- Fixed issue where both grass generation methods ran concurrently
-
Version 1.4.1
- Fixed unclamped FormID in SnowOverSkyrim.esp
-
Version 1.4.0
- Added alternative grass generation that works with NGIO. [Grass] form swaps must be present in seasonal configs for this to work
- Added single/multi-pass snow shader generation. SoS will attempt to apply multipass snow shaders by default unless the mesh is incompatible with it
- Added custom worldspace support using [Worldspaces] in seasonal files
- Added option to change which month triggers each season
- Main winter formswap config regenerates if user has added/deleted mods since last run
- Updated some incorrect material object shaders in SnowOverSkyrim.esp
- Corrected "MarkarthWorld" misspelling in settings config
-
Version 1.3.0
- Fix crash caused by missing Seasons folder in Data directory (Vortex ate it)
-
Version 1.2.0
- Fixed bug where worldspace settings would not be read for LOD/Grass/Snow Shader swaps
-
Version 1.1.0
- Fixed instance where plugin could unload if the Data/Meshes/Terrain folder didn't exist (ie. no DynDOLOD output)
-
SEASONS OF SKYRIM SKSE
Requirements
SKSE64
Visual C++ Redistributables 2019
Address Library for SKSE Plugins
powerofthree's Tweaks
Description
Seasons of Skyrim is a SKSE based framework for adding seasons, based on config files. It can swap model/terrain/LOD/grass, as well as do dynamic snow coverage in winter.
Seasons ships with a proof-of-concept automated setup for Winter, where it will generate the appropriate form swaps based on your load order*.
*Some models may not be detected and swapped (trees in particular, need to have the same model name with Snow and without). It cannot swap models if winter variants don't exist. Some objects may also be swapped incorrectly. Swapped objects may have snow textures that don't match the landscape.
*This autogenerated Winter formswap can now be disabled from applying. See po3_SeasonsOfSkyrim.ini (requires loading into the game once for the new ini settings to be generated)
The esl-flagged SnowOverSkyrim.esp adds some snow variants of statics not found in the base game. It is also required for the base mod to work. Disabling this plugin WILL crash the game.
How it works
Compatibility
Installation
Technical Info (for mod authors adding support for Seasons)
Form Swaps
Form swaps should be written to an ini file with a seasonal identifier [WIN/SPR/SUM/AUT], in Data/Seasons folder (for example, Data/Seasons/MyMod_WIN.ini).
The automatically generated form-swap config for Winter (MainFormSwap_WIN) will always be overridden by user made configs.
General format is similar to Base Object Swapper.
The following form swaps are supported:
Custom worldspaces can be specified as well:
Examples
Snow Shader
References/forms (Static/MovableStatic/Container) can be blacklisted from receiving snow shaders.
Requires a config with "_SNOW" suffix in Data/Seasons folder (for example, Data/Seasons/MyMod_SNOW.ini).
Forms can be whitelisted to allow multi-pass shaders on them.
Papyrus API
Seasons provides several Papyrus functions for mod authors wishing to add seasonal support for their mods (function documentation is available in SeasonsOfSkyrim.psc)
GetCurrentSeason - gets the current season based on user's po3_SeasonsOfSkyrim settings.
Get/Set/ClearSeasonOverride - overrides current season
OnSeasonChange - event that fires during each season change
Credits
Plugin source

Requirements
SKSE64
Visual C++ Redistributables 2019
Address Library for SKSE Plugins
powerofthree's Tweaks
Description
Seasons of Skyrim is a SKSE based framework for adding seasons, based on config files. It can swap model/terrain/LOD/grass, as well as do dynamic snow coverage in winter.
Seasons ships with a proof-of-concept automated setup for Winter, where it will generate the appropriate form swaps based on your load order*.
*Some models may not be detected and swapped (trees in particular, need to have the same model name with Snow and without). It cannot swap models if winter variants don't exist. Some objects may also be swapped incorrectly. Swapped objects may have snow textures that don't match the landscape.
*This autogenerated Winter formswap can now be disabled from applying. See po3_SeasonsOfSkyrim.ini (requires loading into the game once for the new ini settings to be generated)
The esl-flagged SnowOverSkyrim.esp adds some snow variants of statics not found in the base game. It is also required for the base mod to work. Disabling this plugin WILL crash the game.
How it works
- Seasons supports the four seasons, Winter, Spring, Summer, and Autumn.
- Default setting is set to seasonal (season changes based on game month). Month which triggers each season can be changed (eg. winter in July/Sun's Height or faster seasonal changes)
- Can also be set to permanent season (ie. permanent winter).
- Seasonal changes require a config file, with season identifier, containing form swaps, to be present in Data/Seasons folder (MyMod_[WIN/SPR/SUM/AUT].ini).
- Any one of the following form types can be swapped (Land Texture, Activator, Furniture, Movable Static, Static, Tree, Grass, Flora).
- Seasonal grass generation is based on swapped Land Texture grass type.
- Seasons will only work in exteriors and in predefined worldspaces. Additional mod worldspaces can be added under [Worldspaces] in seasonal config files.
- Seasonal changes will happen during interior-to-exterior transitions.
- If you're loading Seasons for the first time in an exterior save, changes will not apply until you enter an interior and exit.
- Seasonal LOD (Terrain, Object, Tree) can be generated using DynDOLOD Alpha 67/SSELODGen Beta 88 or higher.
- Seasons will fallback to using default LOD if these DynDOLOD/LODGen generated LOD files are not found. See the help page for more info.
- Load the game until the main menu, and quit so the FormSwap configs are generated for DynDOLOD to work.
- During Winter, snow shaders will be applied to statics/movable statics/containers that are not form swapped/do not have existing snow material shaders . Seasons will attempt to apply multi-pass snow shaders by default unless the model is incompatible (ie. has alpha). This means it will work with parallaxed objects.
- References/forms can be blacklisted, by adding them to a config (MyMod_SNOW.ini)
- Forms can also be whitelisted to work with multi-pass snow shaders, using above config.
- Settings for each season, and overall season type can be configured in po3_SeasonsOfSkyrim.ini in your Data/SKSE/Plugins folder.
Compatibility
- Configs are evaluated alphabetically (zzzConfig wins over aaaConfig).
- Base Object Swapper configs apply first. Seasons configs will then override the swapped form for its seasonal variant.
- Compatible with Better Dynamic Snow, Simplicity of Snow, BDS patchers, weather mods, weather mods that add seasons, weather mods that include "Seasons" in their name...
- Seasons is compatible with Grass Cache and Grass LOD if you use DynDOLOD 3.0, which supports seasonal grass cache GID file generation.
Installation
- Install as normal, with a mod manager. Load up the game until the main menu and quit, so the automated form swap config is generated for use with DynDOLOD.
Technical Info (for mod authors adding support for Seasons)
Form Swaps
Form swaps should be written to an ini file with a seasonal identifier [WIN/SPR/SUM/AUT], in Data/Seasons folder (for example, Data/Seasons/MyMod_WIN.ini).
The automatically generated form-swap config for Winter (MainFormSwap_WIN) will always be overridden by user made configs.
General format is similar to Base Object Swapper.
[Form Swap Type]
originalBase_FormID~ModName.esp|replacementBase_FormID~ModName.esp
originalBase_EditorID|replacementBase_EditorID
The following form swaps are supported:
[LandTextures]
[Activators]
[Furniture]
[MovableStatics]
[Statics]
[Trees]
[Flora]
[VisualEffects]
Custom worldspaces can be specified as well:
[Worldspaces]
MyWorldEditorID
Examples
[LandTextures]
;LRocks01|LSnowRocks01wGrass
0xAE4~Skyrim.esm|0xF871F~Skyrim.esm
[Statics]
;RockM01|RockM01Snow
0x18195~Skyrim.esm|0x2695A~Skyrim.esm
[Tree]
NormalAspenTreeID|SnowAspenTreeID
Snow Shader
References/forms (Static/MovableStatic/Container) can be blacklisted from receiving snow shaders.
Requires a config with "_SNOW" suffix in Data/Seasons folder (for example, Data/Seasons/MyMod_SNOW.ini).
[Blacklist]
Base_FormID~ModName.esp
Base_EditorID
Reference_FormID~ModName.esp
Reference_EditorID
Forms can be whitelisted to allow multi-pass shaders on them.
[Multipass Snow Whitelist]
FormID~ModName.esp
EditorID
(or)
FormModelPath
Papyrus API
Seasons provides several Papyrus functions for mod authors wishing to add seasonal support for their mods (function documentation is available in SeasonsOfSkyrim.psc)
GetCurrentSeason - gets the current season based on user's po3_SeasonsOfSkyrim settings.
Get/Set/ClearSeasonOverride - overrides current season
OnSeasonChange - event that fires during each season change
Credits
Plugin source
- Ryan (SniffleMan) for CommonLibSSE
- sheson for his invaluable help in adding seasonal LOD generation
- wSkeever, xanza and everyone else who helped with feedback and testing