Jump to content

Tip: Incrementally add or update specific Worldspace(s) to NGIO Grass Cache


Recommended Posts

The following time-saving procedure allows for adding new worldspaces to an existing grass cache, or for updating the current grass cache of specific worldspaces, without re-generating the cache of all worldspaces from scratch, which as we all know can be a very time-consuming process.

This is not a guide about precaching grass from scratch with NGIO. It is assumed you have already precached grass with NGIO successfully at least once, and know how to repeat the operation.

The procedure assumes Mod Organizer 2 is used as the mod manager.

IMPORTANT: Grass Cache Helper NG is required for Skyrim SE/AE 1.6.x players. The existing grass cache must have been generated with Grass Cache Helper NG activated, and it must remain activated at all times for incremental precaching, and for playing.


  • Step 1: Note the Editor ID of the worldspace(s) you want to add or update.

Figuring out which worldspace(s) and their Editor ID is a task left up to the reader. See some suggestions at the end about finding out this information.

  • Step 2: EXTREMELY IMPORTANT. Disable your existing grass cache mod[1] on the left side of MO2.

Failure to do so will wipe out the entire grass cache during the later steps, which will then need to be exhaustively re-generated from scratch, which would make this tip completely pointless.

  • Step 3: Edit NGIO configuration and specify the list of worldspaces to add or update.

The NGIO configuration file is [..]\NetScriptFramework\Plugins\GrassControl.config.txt. Edit it with a text editor. You may want to make a backup copy of that file before editing it.

Search for 'OnlyPregenerateWorldSpaces' or scroll down until you see it. Then comment out the line by prepending it with a # character.

Add a new line like this, containing the Editor IDs you gathered in Step 1:

OnlyPregenerateWorldSpaces = "Worldspace1EditorID;Worldspace2EditorID;Worldspace3EditorID"

The list of worldspace(s) to add or update must be enclosed in double quotes, multiple Editor IDs separated by semicolon.

Example showing the result of editing and specifying only one worldspace:

Spoiler
########################################################################################################################
#   Only pregenerate world spaces                                                                                      #
#                                                                                                                      #
# If this is not empty then skip every worldspace that isn't in this list.                                             #
#                                                                                                                      #
#    Type: (string)                                                                                                    #
########################################################################################################################

OnlyPregenerateWorldSpaces = "WhiterunWorld"

# OnlyPregenerateWorldSpaces = "000MSJCStoicBooksLand;3DNPCGabaniasWorld;aaaLucOblivionRealm;aaaWereBalokDungeonWorld;AlftandWorld;ArnimaDagonRealm;arnimaDUPLICATE003;arnimaEvermore;ArnimaJehanna;ArnimaJehannaSlums;arnimaTheHollow;Arnimatown;ArnimaVoid;Blackreach;BlastedLands;BlindCliffCaveWorld;BloatedMansGrottoWorld;BluePalaceWingWorld;BrinewaterGrottoWorld;BurningWorldspace;DarkwaterWorld;DeepwoodRedoubtWorld;DesertIsland;Dimfrost;DLC01Boneyard;DLC01FalmerValley;DLC01SoulCairn;DLC1AncestorsGladeWorld;DLC1DarkfallPassageWorld;DLC1ForebearsHoldout;DLC1HunterHQWorld;DLC1VampireCastleCourtyard;DLC2SolstheimWorld;EastEmpireWarehouse;EldergleamSanctuaryWorld;ElthericOcean;FallowstoneCaveWorldEnd;FallowstoneCaveWorldStart;FFAOBBoethiahPlane;FrostmereCryptWorld;HNTWorld;JaphetsFollyWorld;KA_RevakheimWorld02;KarthspireRedoubtWorld;KatariahWorld;LabyrinthianWorld03;LabyrinthianWorld04;Lastendell;mannyGFDesert;MarkarthWorld;MidwoodIsle;MIOblivionRealmDNN;MIOblivionRealmDSE;MIOblivionRealmQ14;MIOblivionRealmQ27;MIOblivionRealmSCE;MIOblivionRealmSCW;MossMotherCavernWorld;PalePass;RedEagleRedoubtWorld;ReichCorigateMountainPass;RiftenWorld;SancreTorWorld;ShadowgreenCavernWorld;SkuldafnWorld;SMSInnocenceHighSplendorWorld;SMSInnocencePrisonWorld;SMSJonestead;SMSLegacyBastionWorld;SMSShipCatalystWorld;SMSSkyNexusWorld;SMSSkysDivideCloudburstCaveWorld;SMSSkysDivideWorld;SMSVoidAetheriusWorld;SMSVoidFarShoresWorld;SMSVoidSovngardeWorld;SolitudeWorld;Sovngarde;ssgwaHomeWorld;ssgwaOrcWorld;ssLightHouseWorld02;Tamriel;TSRRestWorld;TSRShipWorldOpenSea;TSRVampWorldspace;WhiterunDragonsreachWorld;WhiterunWorld;WindhelmPitWorldspace;WindhelmWorld;WindPassWorld;WyrmstoothWorld;zAoMWitchWorld;zBMLamaeWorld;zCHOldForestWorld;zCHTrueEndWorld;zCOBruiantWorld"
  • Step 4: Launch the NGIO precaching process from MO2 as usual.

You may need to make preparations[2] specific to your mod setup before launching the process.

The process should only take a few minutes[3], more or less depending on the number and size of specified worldspaces. Wait until it completes successfully.

  • Step 5: Move the grass folder from MO2's Overwrite folder to your existing grass cache mod.

If you are updating the grass cache of worldspace(s), you will be prompted to confirm replacing the existing cache files with the new ones.

  • Step 6: Undo the NGIO configuration changes you made in Step 3.

If you made a backup copy of GrassControl.config.txt as suggested, simply restore it.

If you added new worldspace(s), don't forget to edit GrassControl.config.txt and append their Editor ID to the existing OnlyPregenerateWorldSpaces line. Otherwise they'll be missing the next time you re-generate the entire grass cache from scratch.

  • Step 7: Re-enable your grass cache mod on the left side of MO2.

That's it. Enjoy[4] your updated or added grass.

Notes

  • [1] Your existing grass cache mod is the mod containing the grass folder, not the mod containing NGIO (inside a NetScriptFramework folder). If you have merged both mods, then you're doing it wrong. Split them into two separate mods.
  • [2] Preparations such as reducing Skyrim's display resolution, disabling mods that may interfere with the precaching process, switching environments/profiles... Anything that had to be done when generating from scratch.
  • [3] If you're updating Tamriel (Skyrim's main worldspace), the largest of all worldspaces, it will take quite a while, but it will still be faster to process it individually than processing all worldspaces in the entire load order.
  • [4] You're not yet completely done if you use the grass cache for grass LODs. You'll need to (re-)generate LODs with DynDOLOD for the specific worldspace(s) you added or updated. Refer to the official DynDOLOD documentation for details: Updating or Updating.

 


How to find out the Editor ID of worldspace(s) with grass

  • Method 1: Recommended when adding new worldspace(s) for its accuracy.

Requires xEdit, basic knowledge of its operation, and Worldspaces with Grass SSEEdit Script for No Grass In Objects.

  1. Install 'Worldspaces with Grass SSEEdit Script for No Grass In Objects' as instructed on its mod page.
  2. Load up in xEdit the plugins of the mods adding new lands, as well as any grass/landscape mod plugins. Omit other plugins.
  3. Run the 'List worldspaces with grass' script.
  4. When it's done, copy the resulting list and paste it to some place where you can edit it.
  5. Remove all vanilla worldspaces from the list.
  6. The remaining worldspaces are the new ones with grass.

Example with Wyrmstooth:

AlftandWorld;Blackreach;BloatedMansGrottoWorld;BluePalaceWingWorld;DarkwaterWorld;DeepwoodRedoubtWorld;Dimfrost;EastEmpireWarehouse;FallowstoneCaveWorldEnd;FallowstoneCaveWorldStart;FrostmereCryptWorld;JaphetsFollyWorld;KarthspireRedoubtWorld;KatariahWorld;LabyrinthianWorld03;LabyrinthianWorld04;MarkarthWorld;RedEagleRedoubtWorld;RiftenWorld;ShadowgreenCavernWorld;SkuldafnWorld;SolitudeWorld;Sovngarde;Tamriel;WhiterunDragonsreachWorld;WhiterunWorld;WindhelmPitWorldspace;WindhelmWorld;WyrmstoothWorld

  • Method 2: Suitable when adding or updating worldspace(s).
  1. Physically go to the place in-game where there is already grass to be updated or where there should be grass to be added. Use fast-travel, coc or cow console commands, whatever works to get there.
  2. Open the (More Informative) Console and press the Tab key until the Worldspace & Cell information card is displayed.
  3. Ctrl+Click the 'World Space' field in the information card, to display more details.
  4. Note the Editor ID. See following screenshot for illustration:

image.png

  • Method 3: When adding new worldspace(s), less accurate than Method 1.

Requires xEdit and basic knowledge of its operation.

  1. Load up the plugin of the mod adding new lands in xEdit.
  2. Expand the Worldspace node.
  3. Select a new worldspace entry (i.e. not vanilla), and check the 'DATA - Flags (sorted)' section on the right panel.
  4. If it contains 'No Grass' then skip it, go to step 6.
  5. Otherwise note its Editor ID.
  6. Repeat from step 3 for each new worldspace entry.

Illustrated example showing the first two worldspaces from Beyond Reach:

image.pngimage.pngimage.png

 

  • +1 2
Link to comment
Share on other sites

  • Mousetick changed the title to Tip: Incrementally add or update specific Worldspace(s) to NGIO Grass Cache

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines, Privacy Policy, and Terms of Use.