Skyrim Special Edition

File information

Last updated

Original upload

Created by

meh321

Uploaded by

meh321

Virus scan

Safe to use

About this mod

Stops grass from growing out of rocks, floorboards, bedrolls, crates, roads and other objects. Also allows drawing grass outside of loaded cells.

Requirements
Permissions and credits
Changelogs
Description

Stops grass from growing out of rocks, floorboards, bedrolls, crates, roads and other objects. The way it achieves this is by doing a raycast from each position where a grass would be placed, if there is something in the way there then it does not place the grass there.

Optional extended drawing distance. This will allow extending grass drawing distance almost infinitely (if your GPU can handle it).

Optional super dense grass mode.


How to configure ( super IMPORTANT !!! )

Open configuration file in /Data/NetScriptFramework/Plugins/GrassControl.config.txt

I won't list every option, you can read about them yourself in the file, but here are some important ones.

RayCast = TrueEnable or disable raycasting. This is the thing that prevents grass from growing from inside objects.
SuperDenseGrass = FalseEnable or disable dense grass. It is recommended to try use MinGrassSize setting instead and install more dense grass mods. If it's still not enough then you can try enabling this.
UseGrassCache = FalseEnable or disable caching of grass. If enabled it will create files in /Data/Grass/ directory. Once grass has been generated it will instead load from this file instead of generating again every time. This can speed up load times a lot after you have already been in the cell first time. IMPORTANT: If you change anything about your mods or grass related settings you need to delete every file in that directory so that grass can be generated again, or you will not see any changes or even have bugs like floating grass (if terrain is changed) or grass in objects (if object placement is changed). If you only change drawing distance it's not required to delete cache files.
ExtendGrassDistance = FalseIf enabled this will allow you to extend grass drawing distance much beyond regular amounts. Grass will start to be drawn even in unloaded cells.
OverwriteGrassDistance = 6000This mod now overwrites grass drawing distance! Set the drawing distance for grass here. Set this negative if you don't want this mod to overwrite distance setting.
OverwriteGrassFadeRange = 3000This mod now overwrites how long the grass fades out! Set the distance here. It should usually be at least about half of Distance or the fade out of grass will be too sudden. Set this negative if you don't want this mod to overwrite fade setting.
OverwriteMinGrassSize = -1If set to a non-negative value then this mod will overwrite iMinGrassSize setting. I added this so all the grass settings can be in one place.


How to precache all grass in version 3 or later

What this will do: get rid of any performance or stability issues caused by this mod. It will also get rid of grass flickering sometimes when you change cells. If you had NPCs spawning strangely in front of you with the Extended Grass Distance setting then it will get rid of that as well.

Warning before you begin: this can take a long time and generate up to several GB of files, maybe more than an hour based on your mod setup and PC. Some people with heavy load orders reported 2.5 hours generation time and 7-8 GB of files generated.

1. In config file set the following options
UseGrassCache = True
ExtendGrassDistance = True
OnlyLoadFromCache = True

For MO2 users:
Spoiler:  
Show

2. Make sure you have the latest version of MO2.
3. Download the optional MO2 plugin from files section and put it in your /plugins directory of MO2 install. Make sure to restart MO2 if you had it open.
4. Open MO2 and click the puzzle piece icon. There should be a new option "Precache Grass". If it's not there check to make sure you installed the plugin correct.
5. Click the button and wait, if the game crashes or is closed before grass generation is finished MO2 will restart the game automatically until the whole process is finished.
6. Once it's done your grass cache should be in the overwrite folder, make a new mod out of it and call it "Grass Cache" or whatever you want.
7. Any time you change anything with your load order (such as landscape edits, grass edits, object placements, even grass config changes) you will need to remake the cache by running the "Precache Grass" option again. If you change only OverwriteGrassDistance and OverwriteGrassFadeRange then you don't have to remake cache as they only affect drawing distance.


For other users (not MO2):
Spoiler:  
Show

2. Create a new empty text file in Skyrim root folder (same place where SkyrimSE.exe is), the file name to create is PrecacheGrass.txt
3. Start game normally, when you reach main menu it will start to pre-generate all grass. If the game crashes then start it again to resume.
4. At the end you will have all the grass in /Data/Grass folder. These files may take up to several GB!
5. Any time you change anything with your load order (such as landscape edits, grass edits, object placements, even grass config changes) you will need to remake the cache by creating another PrecacheGrass.txt file in the main folder. If you change only OverwriteGrassDistance and OverwriteGrassFadeRange then you don't have to remake cache as they only affect drawing distance.


If you always crash in exact same cell over and over (can't continue at all) then it means something is very bad with your mods in that cell. If you go there normally without this mod you would also always crash there. I recommend looking at crash logs to see what mod could be causing an issue for you there. You can also add that worldspace to exceptions list in this grass mod's config but that means you won't have grass in that whole worldspace (might not matter since you would crash there always anyway).


Possible issues

Mod will only take effect after you move away couple of cells over (or fast travel somewhere else). Same for uninstalling.

Possible increased load time or stutter when changing cells. Precache all grass to get rid of this problem.

If you are already using mods that increase density of grass and enable super dense mode in configuration, it may become ridiculously dense.

Some grass mods add very Wide grass meshes such as clovers in the new 3D Pine Grass mod (which is excellent by the way, go check it out). That means the wide grass can still spread over to a blocked part such as floorboards when the middle placement point is not in floorboards (hopefully that explanation was not too confusing). Same way even some vanilla grass can still clip if the mesh is placed in a point that is not blocked but very close to a wall or rock or something, some edges of the plant can still clip in that case.

Sometimes you will see a bigger bush placed in a rock or on the road. That's because it's not a grass and actually placed object in CK. I can't do anything with that. You could make a esp mod that moves or deletes those.

If you encounter some other problems let me know in comments.


Requirements

.NET Script Framework


Installing

Make sure the framework above is installed properly.

Install this mod with a mod manager or manually. The DLL file from this mod should go here:
Data/NetScriptFramework/Plugins/

It should be safe to install or uninstall mid-playthrough. You may have to move around a bit before this mod will start to take effect.


Uninstalling

Uninstall with your mod manager or remove the DLL file from above path. You may have to move around a bit before the grass goes back to normal.


Credits

Fuzzles from skyrimmods discord - helped with testing
ws from skyrimmods discord - helped with testing A LOT.
AL - created MO2 plugin for precaching grass.
DoubleYou - helped with testing and finding stuttering bug.