DynDOLOD/TexGen Questions

Not seeing all worldspaces in the selection box

Some worlds added by plugins are filtered out by default, because generating LOD for them might not be useful or requires special attention. Remove the worldspace name from the filter file ..DynDOLOD\Edit Scripts\DynDOLOD\Configs\DynDOLOD_[GAME MODE]_worldspace_ignore.txt. Search for the mod, plugin or the worldspace name on the official DynDOLOD support forum for more information.

Only worldspaces that have an existing lodsettings file in ..\Data\LODSettings\[WORLDSPACE].lod are shown. Use xLODGen to create it for new custom worldspaces. Refer to the LODSettings-File-Readme.txt in its download archive.

Child worldspaces like Riften, Solitude, Whiterun and Windhelm use the Tamriel parent worldspace for LOD. Only Markarth has its own worldspace - a very reduced copy of the Tamriel worldspace.

Only worldspaces that have a persistent cell are shown. The persistent cell must be added by the same plugin that add he worldspace.

Check the log that all the required BSA files are loaded.

Make sure the [Skyrim|SkyrimVR|Enderal].INI contains the correct entries in its [Archive] section so the vanilla BSA files are loaded. Proper INIs with the correct settings are usually created when the game launcher is started the first time and no INI files exist. Note that the location / content of the INI files depends on the mod manager and currently used profile.

Access is denied

The OS, UAC, anti virus or another third party program is denying access to a file. Use the appropriate OS, UAC, anti virus settings etc. to allow access, including the TexConv.exe/LODGen.exe executables in the ..DynDOLOD\Edit Scripts folder.

Make sure only one copy of TexGen/DynDOLOD is running at a time. Use the Windows task manager to kill any hidden processes that didn't shutdown cleanly - or reboot.

High memory usage / Out of memory

Generating LOD assets or the LOD mod with all available options can be very demanding since many parts of the tools are multi-threaded and can spawn long running processes that run in parallel for different worldspaces and seasons. Creating GBs of optimized output files means several times as much of data is being read and processed.

Use the x64 versions of the tools. Let the OS handle virtual memory/page file settings. Close other programs and background processes.

If the system has more than 8 GB main memory, add the -memory command line argument when starting TexGen or DynDOLOD see if it makes a difference.

Do not use full model trees for LOD. Do not use the experimental TreeFullFallBack=0 setting without understanding what it does and what it is for. Be wary of mods using lots or complex full models for object LOD.

If TexGen runs out of memory, add a line TextureCache=10 to ..\DynDOLOD\Edit Scripts\DynDOLOD\TexGen_[GAME MODE].INI. Try lower settings. Make sure as much video memory as possible is available by closing other programs.

If DynDOLOD runs out of memory while generating atlas textures, add a line TextureCache=10 to ..\DynDOLOD\Edit Scripts\DynDOLOD\DynDOLOD_[GAME MODE].INI. If there are still problems, set MaxTextureSize=8192 in the same INI file.

If DynDOLOD runs out of memory while generating occlusion, see Out of Memory while Generating Occlusion Data.

If too many concurrent LODGen processes running at the same time consume all available memory while generating seasons, limit their number per worldspace by changing the MaxLODGenPerWorldspace setting in ..\DynDOLOD\Edit Scripts\DynDOLOD\DynDOLOD_[GAME MODE].INI.

If too many concurrent LODGen processes running at the same time consume all available memory, limit their total number by changing the MaxLODGen setting in ..\DynDOLOD\Edit Scripts\DynDOLOD\DynDOLOD_[GAME MODE].INI.

If a single LODGen process uses a lot of memory, set LODGenThreadSplit in ..\DynDOLOD\Edit Scripts\DynDOLOD\DynDOLOD_[GAME MODE].INI to a higher number. Set to the number of virtual cores for lowest possible memory usage. Since terrain LOD meshes are used to optimize object LOD, consider not enabling high resolution terrain LOD meshes (so it uses vanilla terrain meshes) while generating object LOD.

Use lower settings if required. For example, do not define to use 3D tree LOD models in higher LOD levels, use billboards instead. For example, reduce grass LOD density. Generate a large worldspace in one session, install output, then start DynDOLOD with the existing plugins active to update with the smaller worldspaces. Merge output. See Updating.

If Texconv runs out of memory, reduce memory usage of TexGen, DynDOLOD and LODGen first as explained above. Then test if instructing Texconv to not use the GPU by adding TexconvAdapterIndex=-1 under [TexGen|DynDOLOD] in ..\DynDOLOD\Edit Scripts\DynDOLOD\[TexGen|DynDOLOD]_[GAME MODE].INI changes anything.

Errors and warnings while running DynDOLOD/TexGen

In case a error message window pops up, carefully read the entire error message and use Click on this link for additional explanations and help for this message to open the specific Help page for it.

See the list of Log Messages for their explanations, their severity and hints how to fix them.

Always use the the latest version of DynDOLOD/TexGen.

Follow the installation instructions and do not install tools or game into special Windows folders like Program Files, Game, Data or mod manager folders to avoid issues with files access etc.

Finalize the load order. Install mods, sort and resolve conflicts. Clean and error check the load order with xEdit. Clean every plugin that LOOT suggests to clean - ignore misinformation that cleaning any plugins is not needed or causes problems. The Batch Plugin Cleaner for Mod Organizer or the xEdit Cleaning Extension for Vortex help to automate some of that. Check the load order for errors with xEdit before generating LOD. Fix all errors. See this video for help (ignore the old cleaning instructions as that was already done).

All checks and resulting messages are related to the LOD patch generation. Ignore unqualified statements that claim otherwise as they are an indicator that the LOD generation and patching processes are not properly understood. This also means that DynDOLOD does not do a comprehensive check of the entire load order or all assets. It only checks records and assets that are potentially eligible for LOD or which are used by records or assets eligible for LOD.

Search the official DynDOLOD support forum for the message to find discussions about the same topic.

If the problem persists, post an error report to the official DynDOLOD support forum.

Long running time or output several GB in file size

The selected configuration options together with the installed mods and assets can require a lot of work. Use sensible settings. Manually closing DynDOLOD or LODGen while they are still running results in incomplete output that can not be used in the game. Delete it.

If there are more objects with LOD, it takes longer and creates larger files. If there are more triangles in the models used for LOD, it takes longer and creates larger files. If there are more triangles in the terrain meshes, it takes longer to optimize object LOD. The higher the texture resolution, the longer it will take, the larger the generated output might be.

Do not use the experimental TreeFullFallBack setting without understanding what it does and what it is for.

Beware of mods adding or defining full models or not really well optimized LOD models for LOD.

It is normal for ultra tree LOD with 3D tree LOD models to take longer. Especially if the 3D tree LOD models are complex (large file size). Use or create optimized 3D tree LOD models or use tree LOD billboards instead. Do not use complex models for ultra tree LOD.

Check ..\DynDOLOD\Logs\DynDOLOD_[GAME MODE]_ModelsUsed_[WORLDSPACE].txt for a list of meshes and their total contribution to the object LOD meshes file sizes. If the total file size for an object exceeds hundreds of MBs, consider creating an optimized LOD model.

It is normal that Grass LOD generation takes considerable longer. The more grass placements (mods, game INI, data in the grass cache) and the higher the density setting the longer it will take and the larger the output will be. Grass LOD for complex grass may take even longer. The larger the grass cache, the larger the generated object LOD and the longer it takes.

In case Level32=1 is being set ..\DynDOLOD\Edit Scripts\DynDOLOD\DynDOLOD_[GAME MODE].ini to generate object LOD level 32 files for the map, it is normal that LOD generation takes longer and more files require more space. Especially in conjunction with LOD models made for LOD level 4 or full models being used for the map.

It is normal that generating LOD for seasons takes considerable longer and will produce large output. Four seasons in addition to the default means up to five times more work.

Anti Virus with real time scanning/protection can cause longer running times if they scan every accessed or created file. Consider adding exclusions for the typical assets file types like example *.BSA, *.NIF, *.DDS, *.CGID, *.BTR, *.BTO, *.BTT etc. or the data, temp and output folders.

The higher the Quality setting for occlusion generation, the longer it takes.

Crapware installed with graphics drivers is known to prolong running times. Do a clean install of the latest recommended or official driver only. Do not install crapware shipping with the drivers or terminate it before running the tools.

See answers for high memory usage above.

TexGen/DynDOLOD stuck while creating textures

Make sure UAC and antivirus are not interfering. Add exceptions for all executables, also for the ones in the ..\DynDOLOD\Edit Scripts\ like Texconvx64.exe for example.

Update the graphics driver to the latest version. Install the driver only without the crapware or terminate the crapware before using the tools.

Update or repair Microsoft Visual C++ Redistributable packages for Visual Studio 2015, 2017, 2019 and 2022.

Check the task manager for stuck Texconvx64.exe that TexGen/DynDOLOD might be waiting for. If you terminate all Texconvx64.exe TexGen/DynDOLOD should have a related error message and stop.

Test if adding LockTexconv=1 under [TexGen|DynDOLOD] in ..\DynDOLOD\Edit Scripts\DynDOLOD\[TexGen|DynDOLOD]_[GAME MODE].INI changes anything.

Test if adding RenderSingle=1 under [TexGen|DynDOLOD] in ..\DynDOLOD\Edit Scripts\DynDOLOD\[TexGen|DynDOLOD]_[GAME MODE].INI changes anything.

Test if adding RenderTexturesSingleThread=1 under [TexGen] in ..\DynDOLOD\Edit Scripts\DynDOLOD\TexGen_[GAME MODE].INI changes anything. This settings does not do anything in DynDOLOD.

Test if instructing Texconv to not use the GPU by adding TexconvAdapterIndex=-1 under [TexGen|DynDOLOD] in ..\DynDOLOD\Edit Scripts\DynDOLOD\[TexGen|DynDOLOD]_[GAME MODE].INI changes anything.

See answers for high memory usage above.

If nothing seems to help, make a post to the official DynDOLOD support forum with the log and debug log or the real time log as explained.

Pack DynDOLOD Resources or generated output into BSA?

No. It is not supported.

Asking if it is save to pack things into BSA probably means that not all aspects are fully understood. That is a strong hint not to do it.

See the Load/Overwrite Orders.

PapyrusUtil or DynDOLOD DLL can not read *.[json|txt] data files from BSA, so they need to say loose files.

Checking DynDOLOD plugins for errors with xEdit

.. \ Record Flags -> <Unknown: 6> are intentional and can be ignored.

.. \ Record Flags -> <Unknown: 2> for MSTT terrain underside base records are intentional and can be ignored.

.. \ Record Flags -> <Unknown: 14> update to a recent xEdit version which knows the Partial Form ID flag.

Any other error indicates a problem that should be reported in the official DynDOLOD support forum.