Skyrim

  1. Download Synthesis from https://github.com/Mutagen-Modding/Synthesis/releases, and it's requirements: https://dotnet.microsoft.com/download
  2. Extract to a separate folder, then run Synthesis.exe
  3. Add Engarde's patcher

  4. Choose patcher version, master branch for latest, or choose tag and select older versions. Click settings to configure Engarde's various options
  5. Click "Run", and Engarde's patcher, along with any Synthesis patchers you selected, will create a Synthesis.esp
  6. Enable the created Synthesis.esp in your loader order, towards the bottom, and you're done!

Article information

Added on

Edited on

Written by

tudoru

43 comments

  1. spartan117ce
    spartan117ce
    • premium
    • 629 posts
    • 11 kudos
    In case of errors, at least while running through MO2, run this little checklist:
    First start with getting the github patch setup
    Click on the Skyrim Special Edition tab up on the top right
    Change mutagen and Synthesis both to Latest
    Grab your data folder location manually, ie \anything before root folder\Skyrim Special Edition\data and input it to the Data Folder Location entry
    Go back to the Engarde patcher, Ensure the Patcher is set to Branch, and both Mutagen and Synthesis are also set to Latest here.
    Potentially close down and re-open both Synthesis and MO2 2-3 times at worst, fiddle with the Latest option if nothing else works.
    Should hopefully do the trick for most ailments, it was less straight forward than Zedit ever was.
    1. theSkyS
      theSkyS
      • premium
      • 36 posts
      • 5 kudos
      It is easier and works much faster than zEdit. Ability to read sometimes can help with troubleshooting, if that won't work it is much better to ask for support on a Mutagen server.
    2. Caninum
      Caninum
      • member
      • 294 posts
      • 2 kudos
      Setting Mutagen and Synthesis in Engarde patcher to Match instead of Latest was what worked for me.
    3. roberbond
      roberbond
      • supporter
      • 132 posts
      • 2 kudos
      Finally! this works seting the mutagen and the synthesis to MATCH
    4. imoki2
      imoki2
      • member
      • 9 posts
      • 0 kudos
      phew! thank you, setting it to match worked for me as well :)
    5. Norbu
      Norbu
      • premium
      • 5 posts
      • 0 kudos
      Worked for me too, thanks!
  2. inuchikujou
    inuchikujou
    • member
    • 3 posts
    • 1 kudos
    Can't get this work at all, keep getting this error message: 
    Spoiler:  
    Show

    Any ideas? I'm running Synthesis off MO2.
  3. costagomez
    costagomez
    • member
    • 1 posts
    • 0 kudos
    Whatever I try I get (using Mo2):
    "Required mods missing from load order:
    Engarde.esp"

    Launching through virtual folder and as Mo2 executable, manual data path etc. Any ideas?
  4. Sonny90
    Sonny90
    • member
    • 3 posts
    • 0 kudos
    I was trying to run this patcher for a long time. It is making me frustrated. I tried to run KnowYourEnemyPatcher in Synthesis, but it gave me errors. Could anyone please help me on this one? I have know_your_enemy.esp active in my load order in Vortex. 

    Here are the lines of code from Synthesis:
     Compiling
    Extra data folder already exists. Leaving as is: "C:\Users\sourm\Documents\My Games\Skyrim Special Edition\Modding Utilities\Synthesis\Data\Skyrim Special Edition\KnowYourEnemyPatcher"
    ("C:\Users\sourm\AppData\Local\Temp\Synthesis\hjltrpq0.rih\Git\okft2l0m.wgg\Runner\KnowYourEnemyMutagen"): "dotnet" "build \"KnowYourEnemyMutagen.csproj\" --runtime win-x64 -c Release"
    Compiled
    Sha "54b87919e4a83ad0e95490226f4ca2843317db6d"
    Running
    (""): "dotnet" "run --project \"C:\Users\sourm\AppData\Local\Temp\Synthesis\hjltrpq0.rih\Git\okft2l0m.wgg\Runner\KnowYourEnemyMutagen\KnowYourEnemyMutagen.csproj\" --runtime win-x64 -c Release --no-build run-patcher --DataFolderPath \"C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\" --ExtraDataFolder \"C:\Users\sourm\Documents\My Games\Skyrim Special Edition\Modding Utilities\Synthesis\Data\Skyrim Special Edition\KnowYourEnemyPatcher\" --DefaultDataFolderPath C:\Users\sourm\AppData\Local\Temp\Synthesis\hjltrpq0.rih\Git\okft2l0m.wgg\Runner\KnowYourEnemyMutagen\Data --GameRelease SkyrimSE --ModKey Synthesis.esp --LoadOrderFilePath C:\Users\sourm\AppData\Local\Temp\Synthesis\hjltrpq0.rih\Workspace\Synthesis\Plugins.txt --LoadOrderIncludesCreationClub --OutputPath \"C:\Users\sourm\AppData\Local\Temp\Synthesis\hjltrpq0.rih\Workspace\Synthesis\1 - KnowYourEnemyPatcher\Synthesis.esp\" --PatcherName KnowYourEnemyPatcher --SourcePath \"C:\Users\sourm\AppData\Local\Temp\Synthesis\hjltrpq0.rih\Workspace\Synthesis\1 - MortalEnemies-Patcher\Synthesis.esp\""
    Mutagen version: 0.36.3
    Mutagen sha: fc2d89802dd42fe2558e6c754b35a130d7f2c09f
    Synthesis version: 0.22.1
    Synthesis sha: 820cdd4f57945993117de9613b154f002b930eeb
    run-patcher --DataFolderPath "C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data" --ExtraDataFolder "C:\Users\sourm\Documents\My Games\Skyrim Special Edition\Modding Utilities\Synthesis\Data\Skyrim Special Edition\KnowYourEnemyPatcher" --DefaultDataFolderPath C:\Users\sourm\AppData\Local\Temp\Synthesis\hjltrpq0.rih\Git\okft2l0m.wgg\Runner\KnowYourEnemyMutagen\Data --GameRelease SkyrimSE --ModKey Synthesis.esp --LoadOrderFilePath C:\Users\sourm\AppData\Local\Temp\Synthesis\hjltrpq0.rih\Workspace\Synthesis\Plugins.txt --LoadOrderIncludesCreationClub --OutputPath "C:\Users\sourm\AppData\Local\Temp\Synthesis\hjltrpq0.rih\Workspace\Synthesis\1 - KnowYourEnemyPatcher\Synthesis.esp" --PatcherName KnowYourEnemyPatcher --SourcePath "C:\Users\sourm\AppData\Local\Temp\Synthesis\hjltrpq0.rih\Workspace\Synthesis\1 - MortalEnemies-Patcher\Synthesis.esp"
    Prepping state.
    Language: English
    Can use localization: True
    Localized: False
    Running patch.
    Reading settings: C:\Users\sourm\Documents\My Games\Skyrim Special Edition\Modding Utilities\Synthesis\Data\Skyrim Special Edition\KnowYourEnemyPatcher\settings.json
    *** DETECTED SETTINGS ***
    patch_silver_perk: True
    effect_intensity: 1
    Light and Shadow detected: True
    Know Your Elements detected: True
    *************************
    SubrecordException Sneak Tools.esp => SneakToolsSlitThroatPerk (002DB0:Sneak Tools.esp) => PRKE: String in Strings File format had unexpected length: 12 != 4 System.ArgumentException: String in Strings File format had unexpected length: 12 != 4
       at Mutagen.Bethesda.Plugins.Binary.Translations.StringBinaryTranslation.Parse(ReadOnlyMemorySlice`1 data, StringsSource source, ParsingBundle parsingBundle)
       at Mutagen.Bethesda.Skyrim.Internals.PerkBinaryCreateTranslation.ParseEffects(IMutagenReadStream stream)+MoveNext()
       at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
       at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
       at Mutagen.Bethesda.Skyrim.Internals.PerkBinaryOverlay.EffectsCustomParse(OverlayStream stream, Int64 finalPos, Int32 offset, RecordType type, PreviousParse lastParsed)
       at Mutagen.Bethesda.Skyrim.Internals.PerkBinaryOverlay.FillRecordType(OverlayStream stream, Int32 finalPos, Int32 offset, RecordType type, PreviousParse lastParsed, Dictionary`2 recordParseCount, Nullable`1 parseParams)
       at Mutagen.Bethesda.Plugins.Binary.Overlay.PluginBinaryOverlay.FillSubrecordTypes(OverlayStream stream, Int32 finalPos, Int32 offset, Nullable`1 parseParams, RecordTypeFillWrapper fill)   at Mutagen.Bethesda.Skyrim.SkyrimModMixIn.<>c__DisplayClass19_0`1.<EnumerateMajorRecords>b__1(Exception e)
       at Noggog.EnumerableExt.Catch[T](IEnumerable`1 e, Action`1 onException)+MoveNext() in D:\a\CSharpExt\CSharpExt\Noggog.CSharpExt\Extensions\EnumerableExt.cs:line 292
       at Mutagen.Bethesda.OverrideMixIns.WinningOverrides[TMajor](IEnumerable`1 mods, Boolean includeDeletedRecords)+MoveNext()
       at KnowYourEnemyMutagen.Program.RunPatch(IPatcherState`2 state) in C:\Users\sourm\AppData\Local\Temp\Synthesis\hjltrpq0.rih\Git\okft2l0m.wgg\Runner\KnowYourEnemyMutagen\Program.cs:line 163
       at Mutagen.Bethesda.Synthesis.SynthesisPipeline.<>c__DisplayClass12_0`2.<<AddPatch>b__0>d.MoveNext() in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 103
    --- End of stack trace from previous location ---
       at Mutagen.Bethesda.Synthesis.SynthesisPipeline.Run(RunSynthesisMutagenPatcher args, Nullable`1 exportKey, IFileSystem fileSystem) in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 555
       at Mutagen.Bethesda.Synthesis.SynthesisPipeline.Run(RunSynthesisMutagenPatcher args, IFileSystem fileSystem) in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 453
       at Mutagen.Bethesda.Synthesis.SynthesisPipeline.<>c__DisplayClass36_0.<<InternalRun>b__1>d.MoveNext() in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 416
    Synthesis.Bethesda.Execution.CliUnsuccessfulRunException: Error running solution patcher
       at Synthesis.Bethesda.Execution.Patchers.Running.Solution.SolutionPatcherRunner.Run(RunSynthesisPatcher settings, CancellationToken cancel) in D:\a\Synthesis\Synthesis\Synthesis.Bethesda.Execution\Patchers\Running\Solution\SolutionPatcherRunner.cs:line 55
       at Synthesis.Bethesda.Execution.Patchers.Running.Solution.SolutionPatcherRun.Run(RunSynthesisPatcher settings, CancellationToken cancel) in D:\a\Synthesis\Synthesis\Synthesis.Bethesda.Execution\Patchers\Running\Solution\SolutionPatcherRun.cs:line 57
       at Synthesis.Bethesda.Execution.Running.Runner.RunAPatcher.Run(IGroupRun groupRun, PatcherPrepBundle prepBundle, CancellationToken cancellation, Nullable`1 sourcePath, RunParameters runParameters) in D:\a\Synthesis\Synthesis\Synthesis.Bethesda.Execution\Running\Runner\RunAPatcher.cs:line 68
    1. Glanzer
      Glanzer
      • premium
      • 4,604 posts
      • 125 kudos
      This article is for the Engarde synthesis patcher, you should post your problem here.
  5. Smasher277
    Smasher277
    • supporter
    • 144 posts
    • 2 kudos
    I'm trying to rerun the Synthesis patcher but I keep getting an error that says something about Engarde.esp not being enabled, but it is
    enabled, and the Synthesis.esp is disabled.

    Here is the log.
    Spoiler:  
    Show
    1. Smasher277
      Smasher277
      • supporter
      • 144 posts
      • 2 kudos
      Okay. So the fix is really simple. My issue was that I named my Synthesis patch group "Engarde", which means it will try to export the
      resulting patch as Engarde.esp. That's problematic as Engarde.esp is an
      existing mod that it relies on. So I renamed the patch group to
      "Engarde_Synthesis" and it worked.
  6. Aresoo
    Aresoo
    • member
    • 1 posts
    • 0 kudos
    Ошибка, помогите пожалуйста.
     
    Compiling
    Extra data folder already exists. Leaving as is: "C:\Games\Skyrim\Synthesis\Data\Skyrim Legendary Edition\Engarde-Synthesis-Patcher"
    ("C:\Users\555\AppData\Local\Temp\Synthesis\3nfpfepk.t0u\Git\uifzmrfo.lyl\Runner\Engarde_Synthesis"): "dotnet" "build \"Engarde_Synthesis.csproj\" --runtime win-x64 -c Release"
    Compiled
    Sha "6008d66fb4188754381366485eaca37b47538af5"
    Running
    (""): "dotnet" "run --project \"C:\Users\555\AppData\Local\Temp\Synthesis\3nfpfepk.t0u\Git\uifzmrfo.lyl\Runner\Engarde_Synthesis\Engarde_Synthesis.csproj\" --runtime win-x64 -c Release --no-build run-patcher --DataFolderPath C:\Games\Skyrim\Data --ExtraDataFolder \"C:\Games\Skyrim\Synthesis\Data\Skyrim Legendary Edition\Engarde-Synthesis-Patcher\" --DefaultDataFolderPath C:\Users\555\AppData\Local\Temp\Synthesis\3nfpfepk.t0u\Git\uifzmrfo.lyl\Runner\Engarde_Synthesis\Data --GameRelease SkyrimLE --ModKey Synthesis.esp --LoadOrderFilePath C:\Users\555\AppData\Local\Temp\Synthesis\3nfpfepk.t0u\Workspace\Synthesis\Plugins.txt --LoadOrderIncludesCreationClub --OutputPath \"C:\Users\555\AppData\Local\Temp\Synthesis\3nfpfepk.t0u\Workspace\Synthesis\1 - Engarde-Synthesis-Patcher\Synthesis.esp\" --PatcherName Engarde-Synthesis-Patcher"
    Mutagen version: 0.36.3
    Mutagen sha: fc2d89802dd42fe2558e6c754b35a130d7f2c09f
    Synthesis version: 0.22.1
    Synthesis sha: 820cdd4f57945993117de9613b154f002b930eeb
    run-patcher --DataFolderPath C:\Games\Skyrim\Data --ExtraDataFolder "C:\Games\Skyrim\Synthesis\Data\Skyrim Legendary Edition\Engarde-Synthesis-Patcher" --DefaultDataFolderPath C:\Users\555\AppData\Local\Temp\Synthesis\3nfpfepk.t0u\Git\uifzmrfo.lyl\Runner\Engarde_Synthesis\Data --GameRelease SkyrimLE --ModKey Synthesis.esp --LoadOrderFilePath C:\Users\555\AppData\Local\Temp\Synthesis\3nfpfepk.t0u\Workspace\Synthesis\Plugins.txt --LoadOrderIncludesCreationClub --OutputPath "C:\Users\555\AppData\Local\Temp\Synthesis\3nfpfepk.t0u\Workspace\Synthesis\1 - Engarde-Synthesis-Patcher\Synthesis.esp" --PatcherName Engarde-Synthesis-Patcher
    Checking runnability
    Checking runnability complete
    Prepping state.
    Language: English
    Can use localization: True
    Localized: False
    Running patch.
    Reading settings: C:\Games\Skyrim\Synthesis\Data\Skyrim Legendary Edition\Engarde-Synthesis-Patcher\settings.json
    System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
       at System.Collections.Generic.List`1.get_Item(Int32 index)
       at Engarde_Synthesis.Program.PatchAttacks(IPatcherState`2 state) in C:\Users\555\AppData\Local\Temp\Synthesis\3nfpfepk.t0u\Git\uifzmrfo.lyl\Runner\Engarde_Synthesis\Program.cs:line 1008
       at Engarde_Synthesis.Program.RunPatch(IPatcherState`2 state) in C:\Users\555\AppData\Local\Temp\Synthesis\3nfpfepk.t0u\Git\uifzmrfo.lyl\Runner\Engarde_Synthesis\Program.cs:line 2783
       at Mutagen.Bethesda.Synthesis.SynthesisPipeline.<>c__DisplayClass12_0`2.<<AddPatch>b__0>d.MoveNext() in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 103
    --- End of stack trace from previous location ---
       at Mutagen.Bethesda.Synthesis.SynthesisPipeline.Run(RunSynthesisMutagenPatcher args, Nullable`1 exportKey, IFileSystem fileSystem) in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 555
       at Mutagen.Bethesda.Synthesis.SynthesisPipeline.Run(RunSynthesisMutagenPatcher args, IFileSystem fileSystem) in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 453
       at Mutagen.Bethesda.Synthesis.SynthesisPipeline.<>c__DisplayClass36_0.<<InternalRun>b__1>d.MoveNext() in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 416
    Synthesis.Bethesda.Execution.CliUnsuccessfulRunException: Error running solution patcher
       at Synthesis.Bethesda.Execution.Patchers.Running.Solution.SolutionPatcherRunner.Run(RunSynthesisPatcher settings, CancellationToken cancel) in D:\a\Synthesis\Synthesis\Synthesis.Bethesda.Execution\Patchers\Running\Solution\SolutionPatcherRunner.cs:line 52
       at Synthesis.Bethesda.Execution.Patchers.Running.Solution.SolutionPatcherRun.Run(RunSynthesisPatcher settings, CancellationToken cancel) in D:\a\Synthesis\Synthesis\Synthesis.Bethesda.Execution\Patchers\Running\Solution\SolutionPatcherRun.cs:line 52
       at Synthesis.Bethesda.Execution.Running.Runner.RunAPatcher.Run(IGroupRun groupRun, PatcherPrepBundle prepBundle, CancellationToken cancellation, Nullable`1 sourcePath, RunParameters runParameters) in D:\a\Synthesis\Synthesis\Synthesis.Bethesda.Execution\Running\Runner\RunAPatcher.cs:line 65
       at Synthesis.Bethesda.Execution.Running.Runner.RunSomePatchers.Run(IGroupRun groupRun, PatcherPrepBundle[] patchers, CancellationToken cancellation, Nullable`1 sourcePath, RunParameters runParameters) in D:\a\Synthesis\Synthesis\Synthesis.Bethesda.Execution\Running\Runner\RunSomePatchers.cs:line 36
       at Synthesis.Bethesda.Execution.Running.Runner.RunAGroup.Run(IGroupRun groupRun, CancellationToken cancellation, DirectoryPath outputDir, RunParameters runParameters, Nullable`1 sourcePath) in D:\a\Synthesis\Synthesis\Synthesis.Bethesda.Execution\Running\Runner\RunAGroup.cs:line 59
       at Synthesis.Bethesda.Execution.Running.Runner.RunAllGroups.Run(IGroupRun[] groups, CancellationToken cancellation, DirectoryPath outputDir, RunParameters runParameters, Nullable`1 sourcePath) in D:\a\Synthesis\Synthesis\Synthesis.Bethesda.Execution\Running\Runner\RunAllGroups.cs:line 36
       at Synthesis.Bethesda.Execution.Running.Runner.ExecuteRun.Run(IGroupRun[] groups, CancellationToken cancellation, DirectoryPath outputDir, RunParameters runParameters, Nullable`1 sourcePath) in D:\a\Synthesis\Synthesis\Synthesis.Bethesda.Execution\Running\Runner\ExecuteRun.cs:line 54
       at Synthesis.Bethesda.GUI.Services.Profile.Running.ExecuteGuiRun.Run(IEnumerable`1 groupRuns, PersistenceMode persistenceMode, Boolean localize, Language targetLanguage, CancellationToken cancel) in D:\a\Synthesis\Synthesis\Synthesis.Bethesda.GUI\Services\Profile\Running\ExecuteGuiRun.cs:line 49
       at Synthesis.Bethesda.GUI.ViewModels.Profiles.Running.RunVm.<Run>b__39_1(Unit _) in D:\a\Synthesis\Synthesis\Synthesis.Bethesda.GUI\ViewModels\Profiles\Running\RunVm.cs:line 200
  7. ODAKOTA
    ODAKOTA
    • premium
    • 28 posts
    • 0 kudos
    Does anyone know how Synthesis is integrated and applied in Vortex?
  8. trebot
    trebot
    • premium
    • 151 posts
    • 3 kudos
    So I get this error on about half of the patchers I run:

    MissingModException ccBGSSSE025-AdvDSGS.esm: A referenced mod was not present on the load order being sorted against: ccBGSSSE025-AdvDSGS.esm.
    This mod was referenced by MajorRecord: 0009C7:ccbgssse025-advdsgs.esm at Mutagen.Bethesda.Plugins.Binary.Translations. ModHeaderWriteLogic.SortMasters(List`1 modKeys)

    Every error seems to be referencing CC Content. I am running the full AE version with all the included CC content.

    Edit: So I disabled all cc content before running Synthesis and had zero problems.
    Edit 2: Using AE Content Picker fixes this. The CC content must be in MO2 as a mod and not in the Skyrim data folder.
    1. J3w3ls
      J3w3ls
      • premium
      • 90 posts
      • 10 kudos
      Your Edit 2 fix worked for me as well! Thanks!
  9. Flipocles
    Flipocles
    • member
    • 102 posts
    • 1 kudos
    I ran synthesis with a mod I decided to remove. It was a master for the esp synthesis created, so I ran synthesis again and it is still a master. Did I do something wrong, or do I need to manually delete the old esp everytime I remove a mod it patched?

    Also, can I just rename the synthesis.esp to something else if I want different ones for different profiles, or does it somehow rely on being named that?
  10. Pseudojord
    Pseudojord
    • supporter
    • 100 posts
    • 1 kudos
    I had the Blocking Error message too (MO2 user) and fixed it by going to the Skyrim Special Edition tab on Synthesis and selecting Latest on Mutagen and Synthesis. 
    1. 1Bubbles1
      1Bubbles1
      • member
      • 381 posts
      • 9 kudos
      Thank yoooouu!!!!
    2. SaintDiablo
      SaintDiablo
      • supporter
      • 263 posts
      • 0 kudos
      Did not work for me. Just ran it for the first time