Mostly Harmless

Legacy:Engine Directory Structure

From Unreal Wiki, The Unreal Engine Documentation Site
Revision as of 17:47, 29 April 2010 by 00zX (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

All unreal engine games, of all Unreal Engine versions use the same directory structure.

If you want to edit the game, it is important to know this structure and how it is used by the engine to store things.

See also the Category:Legacy Basic Procedure page on this, Set Up Package Folders.

The Unreal base directory[edit]

This directory is where the game itself is installed. By default, it's called C:\{game name}, eg C:\UnrealTournament, C:\WheelOfTime etc. Throughout the Unreal Wiki, you'll see it referred to as {Base Directory}.

Within this, there are several subdirectories. The most important is /system, which contains the actual applications that run the game, UnrealEd, Ucc, etc. Most other subdirectories contain different kinds of package.

Logs[edit]

This directory contains logs created using the StatLog class; ngStats and CSHP/UTPure do that, for instance. Logs created by StatLog are encoded in Unicode.

If you're looking for system logs like UnrealTournament.log, Editor.log or Server.log, check the System directory instead.

Maps[edit]

Maps (or levels) are the geometric structure of the space where the action will take place.

The maps are formed of solid and non-solid areas computed with the technique of BSP Tree.

Actors evaluate and interact in this theoretical space.

Music[edit]

In this directory you'll find files for background music. In pre-UT2003 versions, these are .UMX tracker files, in later versions, OGG files.

You can easily manage and import new soundtracks via the music browser in unrealed.

WinAmp and most other decent players can be used to play these files. You can use .mod, .IT, .xm, or .s3m files and convert them to UMX via Unrealed.

There is no support of the MP3 format in UT and earlier games (except Wheel Of Time).

There's a great Tracker (music editor) called ModPlug Tracker which natively supports the opening of UMX files. It will not, however, save out UMX files, they will still have to be converted in UnrealED.

The Music page has more details on how to import and export music files.

The other major tracking programs are Fast Tracker and Impulse Tracker. However, these are DOS programs and I wouldn't particularly recommend Impulse Tracker for beginner trackers.

System[edit]

This directory is where the major functionality of the Unreal engine is kept. The launchers for the game and UnrealEd (of file type .exe, for computers running a version of Windows) are both found in this folder. Other filetypes include:

.dll 
Compiled binaries of machine specific code, specific to the Windows operating system.
.u 
These are where most of the script for the different classes is kept. It is also where various meshes, sounds, and textures that have direct connections to these scripts are kept.
.int 
These files are used by the Unreal engine for reference. Instead of searching all the packages made accessible to it to find the resources it's looking for, it simply reads the lists of resources contained in these files. In addition (and that's the origin of the file extension .int for "international" as well), they are used for language localization. See INT File for more information.
.ini 
These files are used to store information about how the game and its mods are configured. While they can sometimes be edited manually by users, it is usually best to edit the configurations settings directly through the game or the editor. (However, there may occasionally be a time when this is not possible. In such a case, this option is always open.) See also game ini file.
.bmp 
If these files have names beginning with "Shot" and then followed by a four-digit number, then this is a screenshot taken from within the game and saved by the engine as a Bitmap image file. Once a screenshot has been taken, it is converted to this format by the engine and then ignored, except to prevent the engine from creating files with conflicting names. Specific to the Windows operating system.

Sounds and Textures[edit]

These two directories contain exactly the types of resources that they sound like they contain. Sounds are most often saved into .uax files and put into the Sounds directory, where Textures are usually imported into .utx files and saved into the Textures directory.

Notes[edit]

Don't use blanks or periods in package names. The engine gets confused by this. (Periods, for instance, are used as the separator character between package and object names.)

While the convention for separating resources is used by the game's own code, it is not always necessary to organize resources in this way. For any package that UnrealEd can be used to create (.u, .umx, .uax, .utx, or .unr), any different type of resource can be stored in this package. The engine will only fail to locate a resource if its package is in the wrong location for its filetype. So the Unreal engine cannot see a .uax file if it is in the Music folder, for example. On the other hand, if ordinary sounds were stored in a .umx file located in the Music folder, then these sounds could be found by the engine. You can add or alter the Paths settings in UnrealTournament.ini to modify that behavior.

Because of this degree of modularity, it must be understood that, ignoring the file extension, two packages cannot possess the same name. For example, there cannot be both a MyPackage.u and a MyPackage.utx, because the engine will only be able to see one or the other of these packages, depending on which one it finds first. In this case, it will probably find the .u file first, since the game ini file is set up to look in the System folder before the Textures folder.

Related Topics[edit]