Overview

Epic creates new builds of Unreal Engine 3 at least daily, often 2-3 times per day. Each of these builds undergoes regression testing against a series of demonstration levels and content creation tasks to ensure its suitability for use. When we have created a build we feel is appropriate for public use, we release a new version of the Unreal Development Kit. The UDK New Build Workflow page is a guide that explains how to migrate your content over from one build to the next.

Build Support

Epic Games, Inc. will not be providing direct support for this product.

There is however a wealth of information about the engine available on the Unreal Developer Network

Post-process editor improvements

Ignores node connections of different types (has to be 1 Input and 1 Output), and reorders them accordingly

Only marks the package as dirty when the effects order has been modified

Mesh Paint: marking an actor's ‘bHidden’ flag will no longer prevent it from being painted on

Texture paint workflow automation will now allow you to duplicate textures and hook them up to a new material instance with a single button click

Refreshing the list in Unreal Frontend so it no longer looks just for additional devices, but all devices attached. This prevents devices used previously showing, even though they may no longer be connected

You can now use the ‘Screen Capture’ option in Unreal Console to take a screenshot

And of course, Unreal Lightmass computes stunning light and shadows to bring your scene to life.

Unreal Kismet Visual Scripting: Artists and level designers can string together actions, inputs and events in Unreal Kismet to dictate how the world flows and how the player interacts without having to touch a single line of code.

dominant spotlight cones can now intersect as long as one of them is shadowed in the intersection

when multiple dominant lights affect the same primitive, only the brightest is used

dominant lights are now toggleable at runtime

dominant lights no longer allow bForceDynamicLight set to true

improved cinematic lighting

added light option bNonModulatedSelfShadowing

use normal shadow blending when shadowing themselves

use modulated shadow blending on everything else

added light option bSelfShadowOnly

allows shadows from the light to not affect anything but the caster

added a higher quality filtering method to reduce aliasing on character faces

Editor improvements

you can now press the F2 key to select the builder brush at any time

also, added new menu command for this: Edit -> Select Builder Brush

selecting objects is now super fast, even with tons of objects!

after a map build the editor will now blink in the task bar

added auto-save support for asset (non-level) packages!

added 'Select All' to the viewport right click menu

'show references' dialog window now allows more than one open at a time

you can now customize your PIE launch URL string

just right click on the Play In Editor button to edit the URL

dynamic volumes can now be initially disabled (new 'Disabled' property)

'Reimport' now works with skeletal meshes and sound waves!

just right click on the asset in content browser, and select 'Reimport'

level browser now prompts you before streaming volumes are cleared

Changes requiring a re-save or change

Any texture imported since the December 2009 UDK build that had its import-time texture format specified as TC_NormalmapUncompressed will have had its source art (stored in the .UPK file) corrupted when the package was first saved.

This source art data is only used when changing texture formats in the editor at a later date and is not used for gameplay.

The bug that caused this corruption has been fixed in this UDK build, and code has been added to detect content with this problem.

If you see a warning dialog box when changing texture formats in the editor, the best course of action is to re-import the texture from the source file.

Matinee material parameter tracks have been rewritten to create runtime instances of MaterialInstanceConstants so that they do not affect content objects which could have had unintended side effects.

However, as a result of this change, a Matinee can now only affect the materials on objects in the same level as the Matinee.

This is required so it can determine the affected objects at save time instead of iterating all Actors at game time.

Fix for making a game in non English, then trying to run on a different non English machine

Installer

If a prerequisite fails to install, the install will still continue and warn at the end

Enhanced the check for a valid install path

If the installer is skipped, the EULA comes up once

Fixed CZE install not finding the EULA

Fixed problem if temp install folders were deleted between install and uninstall

Fixed problem if maps were named in non ASCII characters

November 2009: UDKInstall-2009-11-BETA

Major changes to the engine since the release of Unreal Tournament 3

New features and tools

Content Browser
The new Unreal Content Browser is a revolutionary tool for searching and organizing game content. The Content Browser gives you instant access to all assets ? meshes, materials, sounds, animations, and more ? without the need to manually navigate directories or load content files A Flickr-inspired content tagging system enables designers to categorize game assets for instant retrieval. Search for “pillar”, for example, and all pillars will be rapidly retrieved and displayed, in thumbnail format, from among up to terabytes of game content. Optional database support exists for creating and sharing collections of assets enables artists to manage groups of game assets independent of file location. In all, the new Unreal Content Browser brings a welcome “Web 2.0” feel to the process of browsing, searching, and creating game assets, greatly enhancing artist and designer workflow.

Global Illumination
Unreal Lightmass, a new global illumination solver, produces high quality static lighting with next-generation effects with very reasonable build times on modern hardware. Lightmass features include soft shadows from area lights with accurate penumbrae, translucent shadows, smooth multi-bounce shadowed diffuse interreflection, arbitrary lights defined from emissive texels on meshes, baked ambient occlusion, environment lighting and indirect lighting for dynamic objects through volumes of precomputed Spherical Harmonic lighting samples. The result is improved lighting fidelity for the entire world, while retaining full compatibility with UE3's existing lighting and shadowing features. Lightmass is specifically designed to handle large levels with fast build times and therefore is heavily multithreaded and massively scalable through Unreal Swarm.

Distributed Computing
Unreal Swarm is a massively scalable job distribution system optimized for high-speed networks of multi-core PCs. Designed in tandem with Unreal Lightmass to accelerate lighting computations, Swarm can manage clusters of computers of mixed brands, configurations, and performance levels, automatically distributing tasks on-demand and employing a transparent distributed cache system that allows for dramatically increased performance. Swarm is configured and managed entirely through a visual interface that provides detailed information about jobs in progress, including both local and remote agents participating in the job, and color-coded activity per worker thread on all agents. Swarm is an extremely flexible job distribution system that is currently used to accelerate Unreal Engine 3’s new global illumination system, Unreal Lightmass, with outstanding results.

Ambient occlusion / post-processing filter
UE3’s ambient occlusion technology renders an approximation of global illumination by calculating the accessibility of each pixel. The result is increased perception of geometric shape for the entire scene, including dynamic characters. The effect is scene-independent and operates with constant memory and performance overhead with no pre-processing.

High-density crowds
UE3’s new crowd system with flocking technology can simulate in real time hundreds of characters within a scene. Designers have complete control of the movement and interaction of crowd agents with players and other NPCs, using a "plug-in" behavior system.

Artificial Intelligence: Navigation Meshes
Unreal Engine 3's artificial intelligence system now supports the automatic creation and use of navigation meshes, giving AI-controlled characters increased spatial awareness of the world around them and enabling them to make smarter movement decisions. Navigation meshes further optimize the performance and memory usage of AI relative to traditional node-based navigation systems, thanks to a more efficient representation and less reliance on collision-detection for movement. This includes support for fully 3-D navigation with variable heights as well as navigation on vertical and inverted surfaces (e.g. walls and ceilings).

Dynamic fluid surfaces
The water technology in UE3 breathes life into liquid surfaces. Sophisticated water physics combined with realistic specular and environment reflections produce a realistic, liquid-like feel. Characters have dynamic interactions with the water, produce more realistic sound effects and create more lifelike splashes using particle systems ? and all this scales to very large environments.

Destructible environments
UE3’s new fracturing tool and runtime enable developers to take virtually any existing mesh, slice it up into as many fragments as desired, and destroy structures. This structural analysis tool produces far more realistic, destructible environments.

Property Window Searching
UE3's Property Window is the easy-access method for interacting with variables declared in UnrealScript. Now, the Property Window comes with a search bar for quickly filtering the extensive list of properties down to only a select few. Also, property names are now displayed with friendly names. With this new workflow enhancement, it's as easy to find the properties as it is to edit them.

Skeletal mesh blend weight rendering
The mesh viewer now allows developers to visualize the blend weights of skeletal models. Useful for artists, they are now able to see just how bone weights affect individual vertices within game assets.

Bone weight influence editor
The engine now supports a notion of storing alternate bone weight / influence "tracks" per skeletal mesh. At runtime these tracks can be swapped per bone pair allowing a clean break from the main skeletal mesh. Each vertex influenced by the specified bone is swapped with a new set of bone weights on the alternate track. Possible effects include gore and gibbing by separating a limb from a character body.

Mesh simplification tool
The new Mesh Simplification tool allows you to optimize your level's static meshes by automatically reducing their complexity on a per-level basis. You can interactively adjust polygon counts and update actor instances using a clean and simple user interface.

Texture Adjustment tools
We've added new settings to the Texture Editor that allow you to make last-minute changes to textures right inside of Unreal Editor! You can use this tool to modify a texture's brightness, vibrance, or gamma curve non-destructively.

Cloth tearing and welding
In addition to physical simulation of cloth, the PhysX integration into the Unreal Engine now also supports dynamic tearing as a result of physical interaction. The new welding feature makes cloth simulation work correctly on a wider range of graphics meshes.

Lens flare support
Lens flare systems can now be created in the lens flare editor and either placed as 'static' objects in the level or spawned dynamically and attached to actors in the scene. The system integrates the occlusion of the flare source as well as a wide variety of controllable properties for simulating realistic reflection elements on camera lenses.

Creating difficult or oddly shaped brushes is easy now with the pen tool. Just click to drop points in the editor viewport to define the shape you want. When you're done a properly tessellated brush is created for you automatically, ready for use as BSP or a volume.

Brush Clipping

The interface for brush clipping has been rewritten so that it falls in line with the new pen tool. Simply place control points in the viewports to define the cutting plane and press ENTER.

Lathe

The lathe tool offers an alternative to the 2D Shape Editor that was present in older versions of the editor. Now level designers can create a brush shape using the pen tool and then revolve that shape around the pivot point to create new curved brushes.

Auto-complete in the in-game console
The engine now will offer auto-complete suggestions when typing in the in-game console. All script exec functions, local map names, and any currently loaded Kismet console event commands are automatically entered into the auto-complete list, along with a manual list as specified in BaseInput.ini.

WASD controls in the editor windows
Improved viewport controls. You can now fly around level quickly and smoothly using the new WASD flight controls. Simply hold down the right mouse button and use WASD and mouse-look to pilot the camera. You can also use the Q/E buttons to fly vertically or Z/C to zoom in or out.

Lit Particle Effects
Support for efficient lit particle effects has been added. Particle systems can now be lit with Light Environments, which allow them to integrate into the environment's lighting. Translucency can also be rendered downsampled now, which allows more fillrate for increasing lighting quality or volumetric appearance. A new texture coordinate type called ParticleMacroUV has been added to increase effect continuity.

Improved features and tools

Editor functionality improvements

Material Editor

now supports GPU shader-based deformation of meshes using the new Vertex Position features.

inline Search and source code viewing, and new expression nodes have been added.

material statistics can now be toggled on and off with a new tool bar button.

Viewport improvements

A new option called "Allow Translucent Selection" is available in the main tool bar.

It sets whether translucent objects will be selectable in the level viewports.

The default control scheme for orthographic viewports and most 2D editor windows has changed to be much more intuitive.

You can click and drag the mouse to pan the canvas around, and scrolling the mouse wheel now zoom directly to the cursor's location.

A new tool for converting lights is available in the level viewport right click context menu.

The shader complexity view has been improved to show more specific performance details.

Viewports will now draw in Unlit mode when no lights have been placed yet.

Workflow improvements

In Geometry Mode, you can now use Ctrl+Shift with Click/Drag to move vertices with the camera.

Many properties now have slider controls that let you quickly change and preview different values without having to type numbers.

Static Meshes can now be reimported quickly and end easily. Just right click on the mesh in the Content Browser and select "Reimport" in the context menu.

You can now press the F11 key to toggle full screen mode in game. Also, pressing Alt+Shift+Enter will toggle UnrealEd between full screen (maximized) and regular view.

Added 'Yes to All' and 'No to All' when saving multiple maps at once.

The editor will now warn you about references to assets in external packages when saving.

Misc

Several new normal map compression formats are now supported which may yield higher quality lighting results.

Matinee improvements
Matinee is used to build real-time cinematics that play back in-engine. This UE3 system has been substantially improved to give artists movie director-class control over all of the objects in a scene, as well as cameras and cuts, plus we have added an in-engine, real-time preview feature that plays back all the visual effects of a cinematic.
Dozens of other new Matinee features and bug fixes have been implemented including:

You can now summon the Matinee window through the editor's main tool bar or menu.

Improved standard frame rate support in Matinee. The Matinee time line and level viewports now display SMTPE-style timecodes, and most standard frame rate presets are built-in. Additionally, Matinee now supports fixed time-step playback.

New Matinee transport modes are available. For example, sequences can now be played in reverse. Also you can now bind transport controls to keyboard shortcuts in the Matinee keybinding dialog.

The new Audio Master track type allow you to globally control the volume and pitch of all audio tracks in your cinematic.

Actors can now be easily hidden and shown in Matinee using the new Visibility track type.

The new Particle Replay track type allows you to create and play back pre-recorded particle simulations. This is especially useful when you want the particle to behave the same way in all shots.

Matinee now has built-in support for creating "low gore" variations of cinematics. You can set whether keys will trigger or actors will be visible based on user preferences.

ActorX support for the latest versions of 3ds Max, Maya and XSI (32-bit and 64-bit)
ActorX now supports all versions of Autodesk 3ds Max up to 2010, and all versions of Autodesk Maya up to 2009. Additionally, new features have been added to support morph target export and various bugs have been squashed. 64-bit versions are also available.

Improved the rendering quality of character's hair

Anisotropic lighting model.

It works best on dynamic meshes, so use it for metal shields and armor, and for clothing.

Lit translucency for dynamic objects such as skeletal meshes.

Multiple static triangle sorting options for skeletal meshes to minimize translucency sorting artifacts in hair as much as possible.

"Custom" material shader node, for implementing HLSL code from within the material editor.

Performance and memory usage improvements
Unreal Engine 3 receives frequent upgrades to ensure a smooth and responsive experience. A significant collection of performance and memory optimizations were implemented for shipping Gears of War 2, ranging from better level streaming to refined console support. More recent enhancements have overhauled established systems as well as newer tools, e.g. Unreal Content Browser performance improvements; crowd system performance and memory optimizations; and Unreal Build Tool fortifications."

the attenuation ranges have been reduced from a distribution to a constant

attenuation types have been fixed

the min radius is now shown along with the max radius

SoundGroups have been renamed to SoundClasses to avoid confusion with package groups.

Ambient Zones are a new feature designed to emulate occlusion for ambient sounds.

They hook into the reverb volume and apply volume and/or filter modifications depending on whether the ambient sound is inside or outside, and whether the listener is inside or outside.

A sample usage case would be a single ambient wind sound could be used to cover an entire level if you define any inside areas with settings to reduce the volume of external sounds.

Previously, each 'inside' area would have to be surrounded by several ambient wind sounds to get the proper fill.

The UTGame test map DM-SoundInterior illustrates this.

The PC sound system is now XAudio2

It also means you can easily get proper 5.1 sound on the PC.

Everything works in 6 channels internally, and either outputs as 6 channel or stereo

There is now a sound class editor (as opposed to editing an ini file)

Importing now has the ability to add a default modulator and/or an attenuation node on import

You can now add multiple selected waves to a sound cue at once, with or without being attached to a random node

Decals
Decal system that works on all primitive types and uses materials in the same way as any other scene primitive does. This includes the various combinations of lit, unlit, bump offset, translucent, and distorted modes supported by materials. Decals support animated projected UVs. Lighting on decals can be either static or dynamic based on the receiver geometry. Decals projecting on translucent receiver geometry are now sorted to render correctly with those primitives. Decal performance on the render thread has been improved by using batches for both dynamic spawned decals and static level placed decals. Decals are also culled by view frustum and distance checks as well as the occlusion results of the primitives they affect. GPU performance of decals has been improved by using dynamic branching as well as hardware scissor tests. Attachment costs for dynamic decals have been improved by performing decal frustum clipping on the GPU and only doing a quick bounds test on the CPU. Decal attachment also handles fractured geometry and the visibility of its fractured elements. Decals have options to specify how the decal color or opacity should fade based on projected angle. Decal memory usage has been greatly reduced.

ASE Importer

There is now an option to have single smoothing group objects ignore calculated tangents when doing vertex comparisons...

When importing an ASE file, there is a new option on the StaticMeshFactory dialog, bSingleSmoothGroupSingleTangent.

When TRUE, if the mesh being imported utilizes a single smoothing group, generated tangents will be ignored when comparing vertices.

This resulted in a significant decrease in the generated vertex count in our test model, with no noticable artifacts.

The importing of ASE files will also now write the generated and imported vertex counts to the log.

If the ratio exceeds that of the ASEImporter.ImportVertexCountWarningPercentage value in the editor ini setting, a pop-up dialog will warn the importer of the large increase in vertex count.

To check to see if these workarounds worked, look in your UTGame\CookedPC folder after cooking; you should see a file 'Startup_INT.upk'. Before the workaround, there would be a 'Startup_JPN.upk' file there. If this game were then packaged and installed on a machine with a different language (e.g. KOR), the game would try to look for 'Startup_KOR.upk', and if that were not found, fall back to loading 'Startup_INT.upk' - which did not exist before the workaround.