This is a port of No Grass in Objects rewritten using Commonlib. The config is roughly the same with a change to ini that should be created while the mod is first loaded, minor renaming of settings and an option for debug logs. To my knowledge all features should be working in SE/VR, the same goes for AE.
- Download and install the Mod Organizer 2 plugin from the original mod into your MO2 plugins directory, located here:
Grass Generation MO2 Plugin v1 (fix)
.
-
You will need to edit lines 56 and 57 to reflect
grassPluginPath = "SKSE/Plugins/"
andgrassPlugin = "*NGIO-NG.dll"
, as shown below.
- You will then need to install the latest version of NGIO-NG located in the releases section here on Github. This needs to be installed to the
\Data\SKSE\Plugins\...
directory of your Skyrim installation. - You will now clock on the
Tools -> Plugins -> Precache Grass
option in your MO2 toolbar, which will launch (and re-launch) Skyrim to generate grass cache in yourOverwrites
folder per the settings inGrassControl.ini
. - After you have waited, you should get a pop up message that says,
Grass Caching complete
, at which point you can copy the\Grass\
folder fromOverwrites
into a new mod in MO2.
- Install the latest version of NGIO-NG located in the releases section here on Github. This needs to be installed with the
Install from file
option in Vortex or installed manually to the\Data\SKSE\Plugins\...
directory of your Skyrim installation. - In order to start the Grass Cache, set
Use-grass-cache = true, Only-load-from-cache = true
inGrassControl.ini
- Create a new text document called
PrecacheGrass.txt
in the root folder of Skyrim Next to SkyrimSE.exe. This can be found by opening Steam and locating Skyrim SE in your game library, right-click it and navigate to Manage > Browse Local Files - The next time you open the game, caching should begin. Caching is expected to crash repeately, just reopen the game and it should continue.
- Instant completion of Caching or completion of caching for only some worldspaces.
- Check
Skip-pregenerate-world-spaces
andOnly-pregenerate-world-spaces
, make sure that both of these options are only one line.
- Check
- Crashing while Caching
- Check
NGIO-NG/log
,PrecacheGrass.txt
, andData\Grass\
to see if any progress is being done. If no progress is being made check any crash logs as the crash is likely caused by an issue with a mod affecting the area. This can be a texture, mesh, patch, or mod editing the area. It should be mentioned by the crash log. - Consider using a process restarter (e.g., Restart on Crash) for unattended generation.
- I recommend using Crash Logger SSE AE VR over Trainwreck. As it provides much more helpful and readable crash logs.
- Check
- Raycasting not working
- Raycasting when used without a grass cache
Use-grass-cache = false
does not apply without loading a save twice. Raycasting will always take effect when a cache is generated with it enabledUse-grass-cache = true
.
- Raycasting when used without a grass cache
- Casual Library
- Compile or add libs from the github releases and add to
/external/CasualLibrary1.0/
- Compile or add libs from the github releases and add to
- CMake
- Add this to your
PATH
- Add this to your
- The Elder Scrolls V: Skyrim Special Edition
- Add the environment variable
Skyrim64Path
to point to the root installation of your game directory (the one containingSkyrimSE.exe
).
- Add the environment variable
- Vcpkg
- Add the environment variable
VCPKG_ROOT
with the value as the path to the folder containing vcpkg
- Add the environment variable
- Visual Studio Community 2022
- Desktop development with C++
- CommonLibSSE
- You need to build from the powerof3/dev branch
- Add this as as an environment variable
CommonLibSSEPath
- CommonLibVR
- You need to build from the alandtse/vr branch
- Add this as as an environment variable
CommonLibVRPath
instead of /external
- Address Library for SKSE
- Needed for SSE/AE
- VR Address Library for SKSEVR
- Needed for VR
- Open
x64 Native Tools Command Prompt
- Run
cmake
- Close the cmd window
git clone https://github.com/SaneEngineer/No-Grass-In-Objects-NG.git
cd No-Grass-In-Objects-NG
# pull commonlib /extern to override the path settings
git submodule update --init --recursive
cmake --preset vs2022-windows-vcpkg
cmake --build build --config Release
cmake --preset vs2022-windows-vcpkg
cmake --build buildae --config Release
cmake --preset vs2022-windows-vcpkg-vr
cmake --build buildvr --config Release