Note: Unless you are using a severely outdated operating system or CPU, you most likely want to always download the x64 (64-bit) version of Ultimate Doom Builder.

The 64-bit version has less limitations on the total size of the project that you can load and edit, while the x86 (32-bit) version of Ultimate Doom Builder only exists for compatibility with older PCs.

If not sure, follow these instructions to find out whether your system is 64-bit: Which version of Windows operating system am I running?
Download Latest Installer, x64 Download Latest Installer, x86

All recent versions

Ultimate Doom Builder R4237
24 May 2025
Added missing Sector Damage line action arguments (#1204)
Ultimate Doom Builder R4236
24 May 2025
Fixed a problem where the "use linux paths" setting in the game configuration settings were not saved between sessions. Fixes #1203
Ultimate Doom Builder R4235
24 May 2025
Add lm_ao and lm_bounce to ZDRayInfo (#1176)
Ultimate Doom Builder R4233
17 May 2025
Added hashes for the Doom + Doom II 1.1 IWADs
Ultimate Doom Builder R4232
17 May 2025
Fixed template parsing and added function pointer support (#1201 by DyNaM1Kk)

* Fixed template parsing and added function pointer support

This commit makes two changes to how ZScript actors are parsed:
1. Before this commit, templates were parsed by first validating the identifier and then expecting the '<' token. However, validation was very superficial, allowing non-existent templates (e.g. ImaginaryArray< int>). I've updated the code to accept only existing templates like Array<T>, Map<T, T> and MapIterator<T, T>.
2. Adds support for function pointers. See: https://zdoom.org/wiki/Function_pointers

* Fixed parsing for 'class<type>' and 'readonly<type>' types

* Changed ParseGenericTemplate to accept arbitrary templates again

Also fixed returned generic types always being "Array".