UnrealScript source code
The UnrealScript source code is available for several games.
The UnrealScript sources must be extracted through UnrealEd. (see Exporting source code)
- Build 432 native headers
- Extracted UT v436 UnrealScript sources by Wormbo
- GitHub repo containing exported UT v451b sources
- Bitbucket repo containing exported UT v451b sources
Unreal Tournament 2003
- Mirror for UT2003 v2225 UnrealScript sources by Wormbo (includes source code for the Epic Bonuspack and the ProUI package that provides the limited GUI for a special competition version of UT2003)
Unreal Tournament 2004
- Build 3369 UnrealScript sources (contains the complete native source code for Onslaught classes and native code snippets from some Engine classes)
- Build 3369 debug packages
- Mirror for UT2004 v3369 UnrealScript sources and debug packages by Wormbo
Unreal Tournament 3
- All UT3 UnrealScript source downloads
- Version 2.1 UnrealScript sources
- Version 2.0 UnrealScript sources
- Version 1.3 UnrealScript sources
- Version 1.2 UnrealScript sources
- Version 1.1 UnrealScript sources
- Version 1.0 UnrealScript sources
- Mirror for UT3 v2.1 UnrealScript sources by Wormbo
Unreal Development Kit
The source code is included in the UDK download.
Exporting source code
The source code can be exported in many Unreal Engine games with the UnrealEd Actor Classes Browser by clicking the Export All Scripts in the File context menu.
Note: Exporting scripts is not recommend if original scripts are available because they are not 100% identical as those you can download above. The compiler removes defaultproperties and cpptext sections from source files during import. Cpptext lines will be replaced by the comment
// (cpptext) to prevent line number changes, the defaultproperties block is removed without replacement, which is why it should always be placed at the end of the file after all other code. This does not apply to C++ and defaults blocks for structs.
When exporting sources, the exporter generates a new defaultproperties block from the class properties at export time. Only properties that differ from the parent class are exported, localized and configurable properties are read from the corresponding localization or configuration files. Subobjects are only exported if they are assigned to a variable declared with the modifier export (UE2) or if they are a subclass of the Component class (UE3). Note that defaultproperties and subobjects exported from UE3 include the Name and ObjectArchetype properties (which you should never specify in your own code - Name must be specified on the Begin Object line and ObjectArchetype is implied through the class or inherited subobject definition) and various invalid parameters in the Begin Object line.