Have a bug report or feature request? Submit them on our GitHub bug tracker or here in the Nexus posts (The bugs section on nexus has been locked). Keep in mind that the above links reflect the current development state of ParallaxGen, not the release version. Please refer to How to Submit a Bug Report before submitting anything so that we have all relevant information.
Before reporting an issue, please check the troubleshooting guide to see if your issue is there. If you have questions about how to use ParallaxGen, make sure you read the basic usage page first.
Our wiki has several other useful pages, check it our here!
Older releases can be found here, but they will not be supported.
Looking for help on Linux? None of the developers daily drive Linux so it's hard to support, but we do what we can. Check out the ParallaxGen and Linux discussion on GitHub for info from other Linux users.
ParallaxGen output and plugin MUST BE LOADED LAST, except for DynDoLOD/TexGen Outputs. I will not investigate a bug report if you do not have the ordering set this way. If a mod author is telling you to put their meshes after PG, don't listen. If you experience issues with doing it this way, tell me so I can see if it's a configuration issue on your end (usually a PG mod priority issue) or a bug I need to fix. If you don't want PG to touch a mesh use the blocklist.
Why is this necessary? ParallaxGen has to manage the task of mixing shader types, such as mixing CM and PBR in a load order. It does this using mesh duplication and by modifying records in ParallaxGen.esp. If ParallaxGen cannot control the output of every mesh corresponding to its plugin you will almost certainly see issues when mixing shader types. In addition, even if you don't mix shaders, if ParallaxGen outputs a mesh patched a certain way ParallaxGen's plugin will reflect that for any texture sets that might use the mesh. If you load a mesh after things may break because of this.
I am working on making PG more user-friendly in general. I really want to get to a point where even someone who has never used an external tool for modding Skyrim can figure it out without having to dive through posts/wikis. Part of that means writing more descriptive and helpful error messages. If you have some time to think about it, please reply to this message with any suggestions you have that would make PG easier to use (for experienced modders but also for new modders)
Thanks for asking for feedback. IMO, asking such an option question can lead to the floodgates around some -ahem- interesting comments 😉, however, it's one way to really improve something.
As someone who's a bit of a numpty when it comes to modding tools, my feedback is:
As a first time user, I'm not sure what options I should check or uncheck with my load order. The tooltips certainly help, so the software isn't without guidance. Would have a guided wizard for complete beginners help with that? Something -ahem- simple, where it tells you if you should be using complex, PBR, etc.
When I start to create the patch, I have to create the full patch, install it, launch Skyrim, and check locations to ensure I've done it right. Currently and due to my own limited knowledge, I'm struggling with Whiterun's PBR. So I am curious if - like with Dyndolod's preview option, when we get to the 'shuffle the texture packs' in the tool, is there a way to view certain NIFs with the textures to help spot issues? A sort of "you've picked this order, and when built, it's likely to make this stonewall & grass model look like this...." For example, I have a problem with the grass and tops of the stonewalls. I'm not asking you to fix the latter. I'm curious if there's a way to spit out an output, so I can see, review, and amend the order I've put the textures.
Thanks for reading. If you'd like to ask questions on the above, feel free to drop me a message if that's easier. Again, thanks for asking for feedback and I hope the feedback you get, helps to improve an already great modding tool.
I looked through the mod description page as well as your wiki, but cannot seem to find what I'm looking for (please let me know if there's somewhere I missed): do you have any kind of explainer or guide for how to use the "Advanced Options"? Thanks!
I need to make a wiki page defining what each patcher does, I have yet to do that. If there a specific question you had? Generally you shouldn't need to touch advanced options for normal use
Thanks for the quick reply! No reason in particular, I was just wondering if there was an explainer since there seems to be a lot of stuff in there; and then that led me to wondering what one could do with the advanced options (not unlike learning what the advanced options for, say, DynDOLOD do).
Actually, thinking about it further, I'm a bit confused by the two block lists. It seems that I need to manually type something in. Do I type in the specific nif file? Do I type in the file path for a whole mod? Thanks for the help.
[critical] An unhandled exception occured.[2025-06-06 19:58:21.117] [critical] An unhandled exception occured. Please provide your full log in the bug report. [2025-06-06 19:58:21.117] [critical] Exception type: "class std::runtime_error" / Message: "PGMutagen.dll: Patching exception in method System.String System.AppDomain::get_BaseDirectory() at HarmonyLib.PatchClassProcessor.ReportException(Exception exception, MethodBase original) at HarmonyLib.PatchClassProcessor.Patch() at HarmonyLib.Harmony.<PatchAll>b__10_0(Type type) at HarmonyLib.CollectionExtensions.Do[T](IEnumerable`1 sequence, Action`1 action) at HarmonyLib.Harmony.PatchAll(Assembly assembly) at HarmonyLib.Harmony.PatchAll() at PGMutagen.PGMutagen.Initialize(Int32 gameType, IntPtr exePath, IntPtr dataPathPtr, IntPtr* loadOrder) Method not found: 'Void System.Runtime.InteropServices.MemoryMarshal.Write(System.Span`1<Byte>, !!0 ByRef)'. at HarmonyLib.PatchFunctions.UpdateWrapper(MethodBase original, PatchInfo patchInfo) at HarmonyLib.PatchClassProcessor.ProcessPatchJob(Job job)" [2025-06-06 19:58:21.117] [critical] Stack trace (most recent call first): #0 0x00007ff7b018861d in ?? #1 0x00007ff88c4ef47e in _C_specific_handler #2 0x00007ff8984d28be in _chkstk #3 0x00007ff898482553 in RtlRaiseException #4 0x00007ff8984822a6 in RtlRaiseException #5 0x00007ff895c6af28 in RaiseException #6 0x00007ff88c4e52c6 in CxxThrowException #7 0x00007ff85092f8d9 in std::unique_ptr<binary_io::detail::erased_ostream_base,std::default_delete<binary_io::detail::erased_ostream_base> >::operator* #8 0x00007ff85092f4ce in std::unique_ptr<binary_io::detail::erased_ostream_base,std::default_delete<binary_io::detail::erased_ostream_base> >::operator* #9 0x00007ff85092e6d5 in std::unique_ptr<binary_io::detail::erased_ostream_base,std::default_delete<binary_io::detail::erased_ostream_base> >::operator* #10 0x00007ff7b00cafc6 in ?? #11 0x00007ff7b00be01c in ?? #12 0x00007ff7b00cfb08 in ?? #13 0x00007ff7b0174a47 in ?? #14 0x00007ff897337373 in BaseThreadInitThunk #15 0x00007ff89847cc90 in RtlUserThreadStart but why,It work yesterday
Already asked over on Faultier's modpage, but not sure who to ask since I'm not sure what the cause is. Everything was working great on my prior setup using Cathedral PBR, but after switching to Faultier's landscapes + AIO I'm getting a CTD on load whenever I generate the PGPatcher and try to run Skyrim. pastebin
Patcher log doesn't show any errors other than the landscape and AIO: [2025-06-05 10:42:09.843] [warning] Potential Texture mismatches were found, there may be visual issues, Please verify for each warning if this is intended, address them and re-run ParallaxGen if needed. [2025-06-05 10:42:09.844] [warning] See https://github.com/hakasapl/ParallaxGen/wiki/FAQ for further information [2025-06-05 10:42:09.844] [warning] ************************************************************ [2025-06-05 10:42:09.845] [warning] "Faultier's PBR Landscapes 2k" assets are used with: [2025-06-05 10:42:09.845] [warning]- diffuse/normal textures from "Faultier's PBR Skyrim AIO 2k" [2025-06-05 10:42:09.845] [warning] [2025-06-05 10:42:09.846] [warning] ************************************************************
Latest version broke nif filters that some PBR mods use so PG patches the skyrim logo with PBR, causing some yet to be found crash with community shaders. So you can delete/blocklist that mesh or wait for the next version (test build of the next version is on CS discord too)
I'm having trouble getting the output zip made, I'm getting "[warning] Output directory is empty. No files were generated. Is your data path set correctly?" and I don't know why? Can someone please help me.
Is your data path set correctly? PG needs the correct data path (could be different if you use a stock game path through MO2), correct game type, and mods that add parallax, CM, or PBR textures into the game otherwise it won't do anything. Also verify if you use MO2 that you launch PG from there
I also have the same issue. The settings window clearly states that we need to provide the game path and not the data path which is what I do. The patcher seems to detect all the nifs, then patches all the meshes and textures, but doesn't output anything in the targeted folder and throws out that warning at the end of the process.
In my personal case, the paths and basic settings are as follows : Game location : D:\SteamLibrary\steamapps\common\Skyrim Special Edition Type : Skyrim SE Conflic Rsolution Mod Manager : Mod Organizer 2 Instance location : D:\Modding\Skyrim SE\Mod Organizer 2 Profile : the correct profile is selected Not using MO2 Loose File Order Output location : D:\Modding\Skyrim SE\Mod Organizer 2\mods\ParallaxGen Output ParallaxGen Output mod is not enabled in MO2 yet, and didn't force the output of the application to it in the MO2 settings. Not zipping output.
I used the patcher before a lot of times and never had an issue. Here is the log output : https://pastebin.com/zsC7JMHq I used the latest version in discord for this one but it happened as well with the nexus release.
The absolute buffoon that I am forgot to enable the texture mods (I've been redoing my whole list). Thinking is hard sometimes.
You can leave them all selected they won't do anything unless relevant textures actually exist. In the case of skyland I recommend pairing with Skyland CM or skyland PBR which are separate mods (not both)
Is complex material enabled in ENB or CS? Those _m files are CM files because you have the upgrade option checked. In any case I need to see meshes before and after as well as the textures before and after to diagnose something like this.
It could also be a load order issue on your end meaning PG applies the wrong parallax map to the CM map
TLDR I have never seen a case where parallax just didn't work with CM unless that option was disabled in ENB or CS
Likely a loose order or PG order issue that you can resolve but like I said I need to see the files (meshes before and after and textures before and after)
Hello, I have noticed several plants in my game that look like an odd grey color, mostly ivy type plants as well as some other small shrubs. I've been dealing with this for the past few months and regenerating with PGPatcher does nothing to fix things. Today I did a little investigating and it seems that the defined Texture Set base form ID doesn't actually exist.
Image #1: How the plant looks ingame (grey) Image #2: Detailed information using More Informative Console showing the form ID of the plant's texture set Image #3: You can see I opened up my entire plugin list in SSEEdit showing that FormID FE5B21D0 belongs to DrinkThatPotion - ASLAL.esp, not ParallaxGen.esp Image #4: The correct form ID of the texture set is FE5C21D0 not FE5B21D0
You are looking at the dirtcliffs TXST record, the plant texture is something else. More informative console shows you all the textures in the whole mesh, but this one has several shapes. So the ones in your screenshots are correct and it's the normal part of the dirtcliff. Most likely you have missing textures on that ivy plant in general regardless of PG. PG won't fix that.
As for texture sets, PG will often create new ones and change the path of the original so that's not abnormal. That dirtcliff texture set does not matter for the issue in your screenshot, that just looks like a normal missing texture
When I launched this from my mod manager, PGPatcher just closed after I started patching and it did nothing. But then I launched it directly from the exe and it worked without issue. Is this some for of bug or did I do something wrong?
Usually this is a VCPKG installation issue, make sure you reinstall that and have the latest version. Otherwise if it keeps happening check with the mod manager's devs since that's outside of PG's control
3653 comments
UPCOMING FEATURES
Have a bug report or feature request? Submit them on our GitHub bug tracker or here in the Nexus posts (The bugs section on nexus has been locked). Keep in mind that the above links reflect the current development state of ParallaxGen, not the release version. Please refer to How to Submit a Bug Report before submitting anything so that we have all relevant information.
Before reporting an issue, please check the troubleshooting guide to see if your issue is there. If you have questions about how to use ParallaxGen, make sure you read the basic usage page first.
Our wiki has several other useful pages, check it our here!
Older releases can be found here, but they will not be supported.
Why is this necessary? ParallaxGen has to manage the task of mixing shader types, such as mixing CM and PBR in a load order. It does this using mesh duplication and by modifying records in ParallaxGen.esp. If ParallaxGen cannot control the output of every mesh corresponding to its plugin you will almost certainly see issues when mixing shader types. In addition, even if you don't mix shaders, if ParallaxGen outputs a mesh patched a certain way ParallaxGen's plugin will reflect that for any texture sets that might use the mesh. If you load a mesh after things may break because of this.
I am working on making PG more user-friendly in general. I really want to get to a point where even someone who has never used an external tool for modding Skyrim can figure it out without having to dive through posts/wikis. Part of that means writing more descriptive and helpful error messages. If you have some time to think about it, please reply to this message with any suggestions you have that would make PG easier to use (for experienced modders but also for new modders)
As someone who's a bit of a numpty when it comes to modding tools, my feedback is:
- As a first time user, I'm not sure what options I should check or uncheck with my load order. The tooltips certainly help, so the software isn't without guidance. Would have a guided wizard for complete beginners help with that? Something -ahem- simple, where it tells you if you should be using complex, PBR, etc.
- When I start to create the patch, I have to create the full patch, install it, launch Skyrim, and check locations to ensure I've done it right. Currently and due to my own limited knowledge, I'm struggling with Whiterun's PBR. So I am curious if - like with Dyndolod's preview option, when we get to the 'shuffle the texture packs' in the tool, is there a way to view certain NIFs with the textures to help spot issues? A sort of "you've picked this order, and when built, it's likely to make this stonewall & grass model look like this...." For example, I have a problem with the grass and tops of the stonewalls. I'm not asking you to fix the latter. I'm curious if there's a way to spit out an output, so I can see, review, and amend the order I've put the textures.
Thanks for reading. If you'd like to ask questions on the above, feel free to drop me a message if that's easier. Again, thanks for asking for feedback and I hope the feedback you get, helps to improve an already great modding tool.[2025-06-06 19:58:21.117] [critical] An unhandled exception occured. Please provide your full log in the bug report.
[2025-06-06 19:58:21.117] [critical] Exception type: "class std::runtime_error" / Message: "PGMutagen.dll:
Patching exception in method System.String System.AppDomain::get_BaseDirectory()
at HarmonyLib.PatchClassProcessor.ReportException(Exception exception, MethodBase original)
at HarmonyLib.PatchClassProcessor.Patch()
at HarmonyLib.Harmony.<PatchAll>b__10_0(Type type)
at HarmonyLib.CollectionExtensions.Do[T](IEnumerable`1 sequence, Action`1 action)
at HarmonyLib.Harmony.PatchAll(Assembly assembly)
at HarmonyLib.Harmony.PatchAll()
at PGMutagen.PGMutagen.Initialize(Int32 gameType, IntPtr exePath, IntPtr dataPathPtr, IntPtr* loadOrder)
Method not found: 'Void System.Runtime.InteropServices.MemoryMarshal.Write(System.Span`1<Byte>, !!0 ByRef)'.
at HarmonyLib.PatchFunctions.UpdateWrapper(MethodBase original, PatchInfo patchInfo)
at HarmonyLib.PatchClassProcessor.ProcessPatchJob(Job job)"
[2025-06-06 19:58:21.117] [critical] Stack trace (most recent call first):
#0 0x00007ff7b018861d in ??
#1 0x00007ff88c4ef47e in _C_specific_handler
#2 0x00007ff8984d28be in _chkstk
#3 0x00007ff898482553 in RtlRaiseException
#4 0x00007ff8984822a6 in RtlRaiseException
#5 0x00007ff895c6af28 in RaiseException
#6 0x00007ff88c4e52c6 in CxxThrowException
#7 0x00007ff85092f8d9 in std::unique_ptr<binary_io::detail::erased_ostream_base,std::default_delete<binary_io::detail::erased_ostream_base> >::operator*
#8 0x00007ff85092f4ce in std::unique_ptr<binary_io::detail::erased_ostream_base,std::default_delete<binary_io::detail::erased_ostream_base> >::operator*
#9 0x00007ff85092e6d5 in std::unique_ptr<binary_io::detail::erased_ostream_base,std::default_delete<binary_io::detail::erased_ostream_base> >::operator*
#10 0x00007ff7b00cafc6 in ??
#11 0x00007ff7b00be01c in ??
#12 0x00007ff7b00cfb08 in ??
#13 0x00007ff7b0174a47 in ??
#14 0x00007ff897337373 in BaseThreadInitThunk
#15 0x00007ff89847cc90 in RtlUserThreadStart
but why,It work yesterdaypastebin
Patcher log doesn't show any errors other than the landscape and AIO:
[2025-06-05 10:42:09.843] [warning] Potential Texture mismatches were found, there
may be visual issues, Please verify for each warning if this is
intended, address them and re-run ParallaxGen if needed.
[2025-06-05 10:42:09.844] [warning] See https://github.com/hakasapl/ParallaxGen/wiki/FAQ for further information
[2025-06-05 10:42:09.844] [warning] ************************************************************
[2025-06-05 10:42:09.845] [warning] "Faultier's PBR Landscapes 2k" assets are used with:
[2025-06-05 10:42:09.845] [warning]- diffuse/normal textures from "Faultier's PBR Skyrim AIO 2k"
[2025-06-05 10:42:09.845] [warning]
[2025-06-05 10:42:09.846] [warning] ************************************************************
I also have the same issue. The settings window clearly states that we need to provide the game path and not the data path which is what I do.
The patcher seems to detect all the nifs, then patches all the meshes and textures, but doesn't output anything in the targeted folder and throws out that warning at the end of the process.
In my personal case, the paths and basic settings are as follows :
Game location : D:\SteamLibrary\steamapps\common\Skyrim Special Edition
Type : Skyrim SE
Conflic Rsolution Mod Manager : Mod Organizer 2
Instance location : D:\Modding\Skyrim SE\Mod Organizer 2
Profile : the correct profile is selected
Not using MO2 Loose File Order
Output location : D:\Modding\Skyrim SE\Mod Organizer 2\mods\ParallaxGen Output
ParallaxGen Output mod is not enabled in MO2 yet, and didn't force the output of the application to it in the MO2 settings.
Not zipping output.
I used the patcher before a lot of times and never had an issue.
Here is the log output : https://pastebin.com/zsC7JMHq
I used the latest version in discord for this one but it happened as well with the nexus release.
The absolute buffoon that I am forgot to enable the texture mods (I've been redoing my whole list). Thinking is hard sometimes.
I want to use Skyland AIO.
Should I select both Parallax, Complex AND truePBR, or ONLY TruePBR? Thanks
before PGPatcher
ApoTempleTowerTop01.nif
darkstonefloor01_p.dds
darkstonestair01_p.dds
after PGPatcher
ApoTempleTowerTop01.nif
darkstonefloor01_m.dds
darkstonestair01_m.dds
2.
Before PG-Patch, its parallax works right.
After PG-Patch, its parallax doesnt' work.
3.
ApoTempleTowerTop01.nif is very big mesh.
Maybe it could make this glitch.
+.
I gave up. Just hided "ApoTempleTowerTop01.nif" of PG-Patcher-Output for using normal parallax for this mesh.
It could also be a load order issue on your end meaning PG applies the wrong parallax map to the CM map
TLDR I have never seen a case where parallax just didn't work with CM unless that option was disabled in ENB or CS
CM is turned on CS in-game menu.
I'm using default settings of CS extended material, and CM is on by default.
If the other settings matters, idk.
2.
I tested with this mod.
https://www.nexusmods.com/skyrimspecialedition/mods/116129
And this mod too. ( "Parallax Textures - Base Game - AE" )
https://www.nexusmods.com/skyrimspecialedition/mods/125527?tab=files
And type this for ingame testing.
coc DLC2ApocryphaEnd01
In both case
PG patcher disabled parallax of ApoTempleTowerTop01.nif.
3.
If looking at ApoTempleTowerTop01.nif. file of before after PGpatcher,
nif before PGpatcher
1. has purple texture on NifSkope preview.
2. has _p.dds as textrue path
nif after PGpatcher
1. has rainbow texture on NifSkope preview.
2. has _m.dds as texture path
(+cubemap)
4.
even trying to manually modifying texture path of _m to _p also doesn't work if i did it correctly
5.
Anyway ty for the answer!
Hiding ApoTempleTowerTop01.nif is not a bad fix IMO.
Fast and simple.
Please see the screenshots here: https://imgur.com/a/RVuu2AH
Image #1: How the plant looks ingame (grey)
Image #2: Detailed information using More Informative Console showing the form ID of the plant's texture set
Image #3: You can see I opened up my entire plugin list in SSEEdit showing that FormID FE5B21D0 belongs to DrinkThatPotion - ASLAL.esp, not ParallaxGen.esp
Image #4: The correct form ID of the texture set is FE5C21D0 not FE5B21D0
As for texture sets, PG will often create new ones and change the path of the original so that's not abnormal. That dirtcliff texture set does not matter for the issue in your screenshot, that just looks like a normal missing texture