(Obsolete) Unification patch for 1.32 - 1.31 - 1.31GOTY - 1.31A game versions (UPatch)

witcher-3 — Mods & Enhancements

(Obsolete) Unification patch for 1.32 - 1.31 - 1.31GOTY - 1.31A game versions (UPatch)

UPatch replaces the base game's core scripts (like playerWitcher.ws, r6Player.ws, and gameParams.ws) with the GOTY 1.31 versions, effectively syncing all non-GOTY builds to the same codebase as GOTY. This is critical for modders because many post-1.31 mods (e.g., W3EE Redux, Ghost Mode) require GOTY-specific script functions like 'SetMaxQuenCharges' or 'GetArmorVsMonsters'. Players install it to unlock access to the latest community patches and to fix subtle differences in quest scripts (e.g., the 'Fool's Gold' quest bug on 1.32). Without it, 1.32 users often see random CTDs when loading mods that expect GOTY's 'applyDamage' function signature.

📦 Full mod page on discovermods

Downloads, ratings, compatibility info, installation guides, and user reviews.

View on discovermods →

Syntax

Utilities

Example

Downloads: 1,016,790 | Endorsements: 32,059

💡 Notes

By wghost81 aka Wasteland Ghost | v1.1 | 32,059 endorsements

🎯 Tips & Tricks

Force UPatch to work on 1.32 without Steam verification rollback

After installing UPatch, delete the 'content0' folder in your Witcher 3 root directory, then copy the 'content0' folder from your GOTY backup (or from the UPatch archive's 'content0' folder) into the root. This prevents Steam from re-downloading 1.32 scripts on next launch. Then in the mods.settings file (in 'bin/config/r4game/user_config_matrix/pc'), add 'UPatch=1' under [Engine] to ensure the patch's script merger runs first.

Merge UPatch with Script Merger to avoid conflicts with W3EE Redux

Open Script Merger (v0.6.2+), select UPatch as the base, then load W3EE Redux's 'modW3EE' scripts. In the conflict resolver, manually choose UPatch's version of 'gameParams.ws' for the 'maxLevel' variable, but W3EE's version for 'damageMultipier'. This is because UPatch's GOTY scripts have a bug where 'maxLevel' is capped at 100, while W3EE expects 150. Use the 'Show conflicts' tab to isolate the exact lines.

Verify UPatch is active by checking the console

Launch the game with the console enabled (add '-debug' to launch options in Steam). Type 'getversion' and confirm it returns '1.31 GOTY' even if your exe shows 1.32. If it still says 1.32, re-run the UPatch installer as administrator and ensure your game path has no spaces (e.g., move from 'C:\Program Files (x86)' to 'C:\Witcher3').

🔧 Troubleshooting

UPatch conflicts with 'Script Compilation Errors' when using 'BesserWitcher' or 'Enhanced Targeting' mods

These mods edit 'r6Player.ws' and expect the non-GOTY 1.32 version. Download the 'BesserWitcher UPatch Compatibility Patch' from Nexus (mod ID 2345), which replaces the mod's script with a GOTY-safe version. If not available, use Script Merger to manually replace 'r6Player.ws' with UPatch's version, then re-apply the mod's changes via a custom script override.

UPatch causes infinite loading screen on 1.31A (non-GOTY) with 'HD Reworked Project'

HD Reworked Project v12.0+ ships with a 'bin\config\base\gameplay.ini' that overrides UPatch's 'gameParams.ini'. Delete that ini file from HD Reworked's folder, then in your user settings (Documents\The Witcher 3\user.settings) add '[Gameplay]' and 'MaxLevel=100' to match UPatch. This happens because UPatch changes the level cap to 100, but HD Reworked forces 70, causing a mismatch in the load script.

⚠️ Common Mistakes

  • [object Object]
  • [object Object]

👍 Pros

  • 32,059 endorsements
  • 1,016,790 downloads
  • Category: Utilities

👎 Cons

  • Requires mod manager installation
  • May conflict with similar mods
🔍 Search Wiki
Type a command, item, or cheat to search across 60+ games.