Search public documentation:


Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 Home > Getting Started: Unreal Engine 3 > Getting Started: Programming

Getting Started: Programming


Unreal Engine 3 is a large and complex collection of systems comprised of both C++ and UnrealScript classes. No one person should ever be expected to fully understand each and every system within the engine. It is important for each developer to have a solid foundation in their individual area of specialization as well as understanding how the systems of the engine work from a high-level overview.


Licensees have to know both how the native low-level engine systems, such as the rendering engine, physics engine, audio engine, etc., all work and function together as well as how all the gameplay systems, such as the gametype, players and cameras, heads up displays and user interfaces, etc., all work. This also means they need to have a solid grasp of the UnrealScript language and its features. Of course, it is likely that there will be developers focused on the native engine and other developers focused on gameplay so again no one person will be responsible for knowing each and every system.

UDK Users

Users of UDK only have the use of UnrealScript which means they are mainly focused on the gameplay systems. These developers clearly need to understand the UnrealScript language and how its features can be used to customize the existing classes and create completely new systems.

Coding Standards and Orientation

The developers of Unreal Engine 3 follow coding standards in order to ensure code readability and maintainability. Knowing these standards will make understanding the codebase easier and following them when writing new code will provide consistency across the entire codebase of your game.

These coding standards can be found in their entirety on the Coding Standard page.

In addition, getting up to speed quickly with Unreal Engine 3 requires a basic understanding of how the engine works and what class naming means about that class. Information about these aspects can be found in the documents below:

UnrealScript Language

Most of the gameplay within a game created with Unreal Engine 3 is programmed in UnrealScript. The UnrealScript language was designed specifically with gameplay programming in mind with its handling of events, timers, and states. These make creating the elements that make up the in-game action

UDK relies solely on the use of UnrealScript while licensees can use UnrealScript in conjunction with native C++ code. Every gameplay programmer working with UE3 should have a solid grasp of UnrealScript and how it is used within the context of UE3.

Language Features

Documentation over the UnrealScript language and some of its major features can be found on the following pages:

Starter Kits

Starter kits are small projects belonging to a particular genre which you can use as a starting point for your projects.