Getting Started Programming on the Unreal Development Kit
Welcome to the Unreal Developer Network development getting started page for UDK Programmers. This page is designed to introduce programmers to the Unreal Development Kit and provide a tutorial for getting started writing code.
Download the latest version of UDK here!
Unreal Development Kit provides all the tools needed to make a huge variety of custom 3D applications and games. Code development in UDK uses the UnrealScript
programming language, a powerful object oriented programming language with special features for game development. The full Unreal Engine 3 UnrealScript
source is included as part of the UDK download, in the Development\Src subdirectory. Check out the Programming Home
page for a full list of programming and technical topics, and check out the glossary
of Unreal Engine terminology.
For a more in depth introduction to creating your first project, check out UDK First Script Project
. There are also a lot of good community developed tutorials
on getting started with UDK and UnrealScript, some of which are targeted at more novice users.
source files can be edited using any text editor. Each UnrealScript
class should be in its own .uc extension text file. Programmers may want to use a visual Integrated Development Environment (IDE) such as Visual Studio
or Pixel Mine's nFringe
IDE that includes a source-level script debugger. Pixel Mine's nFringe has both a Commercial license and a 100% free strictly non-commercial license.
To enable syntax highlighting for UnrealScript
(.uc) and Shader (.usf - including Cg and HLSL) files in Visual Studio 2005 or Visual Studio 2008, select Options from the Tools Menu. In the dialog box, go to Text Editor -> File Extension. Add the extension uc and choose Microsoft Visual C++ as editor. Repeat for the Shader (.usf) extension.
Configuring, Compiling and Testing
Run UDK once to initialize ini files before performing the following steps.
Open UDKEngine.ini in the UDKGame\Config directory, and add the line ModEditPackages=MyMod to the [UnrealEd.EditorEngine] section. You can have more than one mod edit package, you'll just need to create a separate source directory for each one and add each one to the [UnrealEd.EditorEngine] section.
Now you can add script source files to your application. Open the Development\Src\MyMod\Classes directory. Make sure your code files have a .uc extension so they will be recognized by the UnrealScript
Here's a trivial game type variant to get started with. Place SuperFunGame
in Development\Src\MyMod\Classes. From the Binaries directory run the UnrealFrontend (or use the shortcut in the UDK Program Files folder), and use the make button to compile your code. Alternatively use the command line UDK make in the Binaries\Win32 directory.
To test this gametype with an existing level, you'll need to use a special command line. Unreal passes custom game parameters in URL style format. You can also use this system when you create a user interface front end for your application.
You can also change the default game type to use when none is specified in UDKGame.ini in the [Engine.GameInfo] section. Change DefaultGame and DefaultServerGame to =MyMod.SuperFunGame. Make sure your gametype implements SetGameType() so it can prevent the gametype from being overridden.
To propagate this change or any other ini change into your packaged mod, you'll need to also modify the defaults in
When UDK exits, it writes all logging from that play session to Launch.log in the UDKGame\Logs directory.
UDK also supports external applications via DLL binding – functions in a Windows DLL can be called via UnrealScript.
Packaging Your Application - Installation and Distribution
For a guide to the process of packaging your application, please see the Deployment on Unreal Development Kit page.
Support - Documentation and Forums, Guidelines
As a developer using the Unreal Development Kit, you will have access to a limited amount of documentation via the Unreal Developer Network, as well as tutorials and Reference materials specific to game development and games developed by Epic.
NOTE: An offline version of UDN is not available at this time. Spidering the UDN site is not allowed for anyone. This can cause the site to become very sluggish, which ruins the experience for other site visitors.
If you would like to submit a tutorial, please contact firstname.lastname@example.org. If, after looking through UDN and the forums, you need specific information, you can request that the information be placed in a tutorial on UDN. New pages will be created as priorities allow. Please do not use this channel of communication for anything else.
The UDK forum is the place to go for questions, feature requests and discussions about the Unreal Development Kit. Feel free to contribute to help build the UDK community!
Please do not mail UDN directly unless otherwise directed.
Please do not mail Epic employees directly unless otherwise directed.