(Obsolete) Unification patch for 1.32 - 1.31 - 1.31GOTY - 1.31A game versions (UPatch)
witcher-3 — Mods & Enhancements
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
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.
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.
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