FAQ - hakasapl/PGPatcher GitHub Wiki
Why does this tool break some meshes?
If your load order and PGPatcher configuration are correct, it doesn't (caveat below this). People who claim this without first confirming with a dev of PGPatcher are wrong. Use the troubleshooting guide to identify some common pitfalls in your load order. Feel free to request support.
That being said, there are cases where PGPatcher might "break" a mesh even if everything in your load order is technically correct. These cases only happen when:
- Mod author does not use best practice shader properties for their complex material textures (Fix is to just right click the mod and click ignore in the PGPatcher mod window)
- Mod author intends for their cubemap to be a real texture that is important to the mesh rather than just a reflection. For example this mod. In this case it is best to simply remove/hide any complex material texture matching their textures. Often this happens to users who use tools like ParallaxR to generate parallax maps for their whole modlist. While the tool itself is helpful for a first pass at parallax maps, DO NOT run it on your whole modlist. Do it for things where you can't find ready made parallax where you want parallax only.
- There exists some as-of-yet unknown bug in the patching pipeline causing an issue, this is very rare but not impossible. If you request support we should be able to identify whether this is the case.
TLDR: User skill issue - please request support
Can I put meshes after the PGPatcher output in my loose file order?
NO! (except for DynDoLOD). This is because PGPatcher often redirects mesh paths in its plugin overrides, and also creates duplicate meshes when needed for mixed shader types (for example if base mesh is patched for parallax but an alternate texture in a plugin cannot be parallax). If a mod author or anyone else is telling you to put meshes (even if it is their own meshes) after PGPatcher THEY ARE WRONG and they should contact PGPatcher authors if they have any questions. The vast majority of bug reports arise from people not getting this fact.
If you want PGPatcher NOT to patch a mesh the correct way is to make use of the mesh blocklist, mod ignore feature, or the mod author features outlined here
Why is PGPatcher touching XYZ mesh!? It has no reason to!?
Yes it does. PGPatcher is a dynamic patcher and if there exists a mesh in its output then it found a reason to patch it. This depends on your selected patchers and the mods in your load order. PGPatcher is not just about parallax/CM/PBR, some of the general purpose patchers have wider matching criteria. See the patcher overview page to see what the criteria is for each patcher.
Why isn't PGPatcher patching this mesh/shape!?
First, verify that this is actually an issue IN-GAME. The way the output is constructed isn't always straight forward since PGPatcher will do things like skip the base mesh and use duplicates instead if that is determined to be the most optimal. If the mesh actually is not patched in-game, keep reading.
PGPatcher may not have patched a mesh for some of these reasons:
- The patcher you are expecting to patch it does not meet its requirements - see Patchers
- You are patching PBR and the result textures do not exist in some capacity. Enable
Mod Dev Modeand check your warnings to troubleshoot this. - You are letting an enabled default mod win over a non-default one, which tells PGPatcher to prioritize doing nothing for those textures.
- You have rules set in your blocklist, allowlist, plugin rules, or mod rules, which is telling PGPatcher to ignore this mesh.
- The mesh is never used in-game (doesn't show up in plugins)
- The mesh is corrupt or malformed (this will be an error in your confirmation dialog)
Isn't it better for mod authors to make the meshes?
No. Enabling shaders on meshes is entirely deterministic and you can think of it as a set of "switches" in meshes. Mod authors should only provide meshes for convenience, it will always be better to patch your own meshes with a utility like PG so that any mesh improvement/fixes you may have get patched automatically.
Why is PGPatcher overriding Light Placer jsons?
This is because whenever PGPatcher creates a duplicate mesh, it will update LP jsons with those meshes so that they also get relevant lights. It doesn't modify any lights themselves, just the mesh rules.
Why does this break my ore veins?
Ore veins have the same diffuse/normal maps in Skyrim and they use the cubemap to reveal the underlying texture through a mask to get the effect which is somewhat nonstandard for environment mapping. This is an issue the mod author of your ore texture would have to resolve. Either they should not include textures for ore veins, or they should make new meshes with a unique diffuse/normal map for each vein type - this will cause PGPatcher to match those instead.
My computer says PGPatcher is a virus!
It isn't - false positive are extremely common from antiviruses. You don't have to take my word for it - you're welcome to audit the source code and then build it locally. Please don't report this to me as I have no power to fix it.
Why is PGPatcher making duplicate meshes in the _pgpatcher_dups folder?
In Skyrim, there is the option to use alternate textures on specific shapes in meshes. These alternate textures take the form of TXST records in plugins. Often there are cases where the base mesh textures and 1 or more alternate texture sets cannot be the same material type. For example, the shape in the base mesh might be patched for parallax which works fine, but then there is an alternate texture record that defines another texture. If a parallax map exists for that texture, there is no issue, no need for a duplicate mesh. If it does not exist, then PG will make a duplicate mesh, where one IS patched for parallax, and where one ISN'T and it will override/update records accordingly.
This allows for mixing all the material types without worrying about breakage around alternate textures. PGPatcher will also make duplicate meshes when differences in shader properties are required between texture sets. This is most common with PBR, although it is also possible for complex material - this does not apply for parallax.
If a mesh has a ton of shapes the maximum number of permutations can rise by a lot, but PGPatcher never makes more duplicates than is necessary (a single duplicate mesh will be used across multiple objects if it fits) so no need to worry about that unless you are running out of disk space.
I want to patch just 1 or a few mods - why does PGPatcher have to work on a whole load order?
There are several reasons for this:
- You might have a mesh that needs to be patched using multiple mods. For example, whiterun street meshes often have both mountain/rock textures as well as the actual street texture. If you have a mod providing complex material rocks, and a mod providing a parallax whiterun street, PGPatcher must see both to patch that 1 single mesh.
- There are many cases textures are used in completely new modded meshes (often in new worldspaces). For PGPatcher to be able to patch these it needs to see them and they might come from any number of your mods.
- PGPatcher needs to see all your mods to look in their plugins and determine where each mesh is used, and whether any special processing is required in the cases where alternate textures are used in plugins.
For these reasons, PGPatcher was never designed to be able to run on single mods and you wouldn't want to do that anyway.
Mods become redundant after running PGPatcher, should I delete them?
No. If a mod contains only meshes it might become redundant after running PGPatcher if all meshes from it were patched. You should keep the mod though as it is needed the next time you update your PGPatcher output.
Do I still need "parallax" pre-patched meshes?
No. PGPatcher will patch meshes for you to enable appropriate shaders where required. It ultimately will not hurt if you have them in your load order as long as the Disable Pre-patched Materials patcher is enabled, but the cleanest way is to just not have them in the first place. Be careful though, some mod authors do modifications to meshes other than just enabling parallax which you may want to keep. It is best to ask the mod author.