| Home Page | Recent Changes | Preferences

# INT File

INT files are one of the Unreal Engine's file formats. 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, they are used for language localization and that's the origin of the file extension .int for "international" as well.(You can do so many things with .int files, we could make a tutorial just for them – Wormbo)

These (and all other localization files like DET, ITT, FRT, etc.) look much like INI files. They consist of one or more sections which start with the section's name in brackets followed by Key=Value pairs.

## File Content

### Public Section

The `[Public]` section can take two different keys, `Object` and `Preferences`. These can be used as often as needed.

#### Object

General syntax:

     Object=(Name=Package.ObjectName,Class=ObjectClass,MetaClass=Package.MetaClassName,Description="descriptive string")

Name
  Arbitrary name; generally, must refer to an existing class. (Though that's no engine requirement. If you work with GetNextIntDesc to retrieve Object keys yourself, the Name argument can be anything.)
Class
  Class of the object described by this line. In many cases, that's simply `Class` if the Object line refers to a class.
MetaClass
  Common superclass of all objects described in Object lines that belong together; for mutators, that'd be `Engine.Mutator`, for instance. (This class name is used as GetNextIntDesc's first parameter.)
Description
  Arbitrary description (optional), also retrieved by GetNextIntDesc.

In UT, Object entries are used to make the following items known to the game:

Item | MetaClass | Name | Explanation
Mutator | `Engine.Mutator` | Mutator subclass | Registers a mutator to make it show up in the Mutators dialog box when starting a game. Description is "Name,Description".
Game Type | `Botpack.TournamentGameInfo` | TournamentGameInfo subclass | Registers a game type to make it show up in the Game Type drop-down box when starting a game. Description is optional and specifies the game type's category.
Key Bindings | `UTMenu.UTExtraKeyBindings` | UTExtraKeyBindings subclass | Displays the extra key bindings defined in the given class's default properties in the standard key binder dialog.
Map List | `Engine.MapList` | MapList subclass | Uses the maps in the given class's default properties as the default map list for this game type.
Mod Menu Item | `UMenu.UMenuModMenuItem` | UMenuModMenuItem subclass | Puts an item in the Mods menu. Description is optional and uses the structure "Item Caption,Description".
Server Browser Tab | `UTBrowser.UTBrowserServerListWindow` | UTBrowserServerListWindow? subclass | Displays a new tab in Unreal Tournament's built-in server browser.
Weapons (Unreal) | `Engine.Weapon` | Weapon (UT) subclass | Registers weapons that are not a subclass of TournamentWeapon. Not used in UT, but some custom weapon priority tools use it.
Weapons (Unreal Tournament) | `Botpack.TournamentWeapon` | TournamentWeapon subclass | Registers weapons that are a subclass of TournamentWeapon. In UT only members of the Botpack package are displayed in the priority window, but some custom weapon priority tools can display all weapons.

In UT2003 the following Object entires are used:

Item | MetaClass | Name | Explanation
Mutator | `Engine.Mutator` | Mutator subclass | Registers a mutator to make it show up in the Mutators dialog box when starting a game. Description is not used in the GUI, but is nevertheless specified for the default mutators.
Game Type | `Engine.GameInfo` | GameInfo subclass | Registers a game type to make it show up in the Game Type drop-down box when starting a game. Description is important and takes the form "A|B|C|D|E" with the following meanings:

- A = Prefix of the maps used by this game type
- B = Gametype's display name.
- C = a Tab_InstantActionBaseRules? subclass that - loads a class that allows mod author to change the tab for the game type options
- D = A MapList class used to save the current map list selection.
- E = "true" for teamgames, "false" otherwise

Weapons | `Engine.Weapon` | Weapon (UT) subclass | Registers weapons. The Description value is displayed as the weapon's description in the priority tab. You can use "`|`" to create line breaks in the description.

#### Preferences

General syntax:

     Preferences=(Caption="display name",Parent="display name of parent",Class=Package.ClassName,Category=variable group name,Immediate=True)

This is used to create the options available in the UnrealEd Advanced Options window.
Either `Class`, `Category` and `Immediate` are left out or `Class` has to be a valid UnrealScript class and `Category` should be a variable group used in that class. (see Variable Syntax)

### Localization Sections

Used to localize strings to different (natural) languages. (also see Localization)

To create a class variable with different default values for different languages use this syntax in an UnrealScript class:

    class aClassName extends aSuperClass;

    var localized string Description;
    var localized float SoundLength;

    defaultproperties
    {
         Description="An example class showing localization."
         SoundLength=2.750000
    }

This class is part of a package Example.u.

You can now create localized versions of this class by writing the corresponding localization files. This will be easier if you use UnrealEd to create the international (English) version of this file first. Open UnrealEd, load Example.u and type "dumpint example" at the console. UnrealEd created the file Example.int for you which contains all localizable variables that have been set in the defaultproperties.

For this example the file will look like this:

     [aClassName]
     Description=An example class showing localization.
     SoundLength=2.750000

You can copy this file and change the extension to the desired language, e.g. DET. Now you can translate the strings and adjust the other variables to suit the new language:

     [aClassName]
     Description=Eine Beispielklasse, die Localization veranschaulicht.
     SoundLength=2.930000

Since the name of the new file is Example.det the values in it automatically become the default values of `aClassName` when this language is selected.

Note: You can't use dumpint in UnrealEd due to a bug in the current UT2003 version. UnrealEd will crash if you try. Use: `ucc dumpint <package(s)>` instead.

## UnrealScript Functions

string GetNextInt( string ClassName, int Num )
  Returns the `Class` string from an Object entry for the MetaClass given by `ClassName`. `Num` is an index, starting from 0 (zero), that specifies which (of multiple matching) entries to get. The function returns an empty string if `Num` exceeds the number of available matching entries. Warning: `ClassName` must refer to a valid, loaded class, or the game will crash.
GetNextIntDesc( string ClassName, int Num, out string Entry, out string Description )
  Like GetNextInt, but retrieves more detailed information about the Object entry, including the content of the `Description` argument.
string Localize( string SectionName, string KeyName, string PackageName )
  Returns the localized string value of the item given by `KeyName` in the section given by `SectionName` for the package `PackageName`. Only rarely needed thanks to the localized keyword in variable declarations that automatically performs this lookup. (Can be very handy for read-only configuration files though.)

## Related Topics

- File Format
- Localization
- Unreal Engine

## Discussion

JoeDark: Snagged the GameType part from the mailing list. I'm not sure exactly on the etiquette of such things, should I have asked DJPaul before posting it here (it was his post)? Or is it considered public domain? At any rate, I couldn't find any better place to put it. Also, did someone want to place the UT stuff on a seperate page or is all of this still relevent to UT2003?

Wormbo: I started a new table for UT2k3 INT stuff from what I found out from looking at the INT files and the code handling them.

DJPaul: JoeDark - it was my post, it is considered public domain (that sort of info), and you're more than welcome to quote anything usefull I say here.

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Image Uploads

Random Page

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

Mapping Topics

Mapping Lessons

UnrealEd Interface

Questions&Answers

Scripting Topics

Scripting Lessons

Making Mods

Class Tree

Questions&Answers

Modeling Topics

Questions&Answers

Log In