| Home Page | Recent Changes | Preferences

UPL File

Basics

(some guesswork here & my first unrealwiki edit - correct with abandon - thx - Joefish)

The .upl File Format contains information about player characters. The files define the characters available in player selection menus (e.g. Settings → Player → Change Character). .upl files are located in the {Base Directory}/System directory. They look like this:

[Public]
Player=(DefaultName="Malcolm",Race="ThunderCrash",Mesh=HumanMaleA.MercMaleD,species=xGame.SPECIES_Merc,BodySkin=PlayerSkins.MercMaleDBodyA,FaceSkin=PlayerSkins.MercMaleDHeadA,Portrait=PlayerPictures.cMercMaleAD,Text=XPlayers.MercMaleDA,Sex=Male,Menu="MALCOLM",Tactics=2.0,StrafingAbility=+2.0,Accuracy=0.5,BotUse=1)
Player=(DefaultName="Brock",Race="Mercenary",Mesh=HumanMaleA.MercMaleC,species=xGame.SPECIES_Merc,BodySkin=PlayerSkins.MercMaleCBodyA,FaceSkin=PlayerSkins.MercMaleCHeadA,Portrait=PlayerPictures.cMercMaleAC,Text=XPlayers.MercMaleCA,Sex=Male,Menu="",Tactics=2.0,StrafingAbility=+1.0,Accuracy=0.5,BotUse=1)
...

Tarquin: Is this the same format as config files?

Elements

DefaultName
The name that appears in the Player menu. The name given in 'Character=' in UT2004.ini and User.ini, used to set a default player, maps to this value.
Race
The Race this model gets grouped with from the Races dropdown list. You can make a new one or use an existing one (ie. Hellions).
Mesh
Mesh this character uses (Packagename.Meshname)
Species
Determines SpeciesType
BodySkin
Skin this character uses for body (Packagename.Skinname)
FaceSkin
Skin this character uses for head
Portrait
Portrait appearing in the character menu
Text
Links to the descriptive text seen in Player menu. The entry is written as IntFile.DecoTextEntry.
For example "XPlayers.MercMaleDA" means the MercMaleDA=... entry of the [DecoText] section in XPlayers.int/.det/.frt/... (depending on configured language)
Sex
"Male" or "Female".
Menu
Which menu(s) the character shows up in. 'SP' = Single Player game menu, '' = default character menu. 'DUP' specifies Bot-only characters that don't appear in the list of characters a player can select for him/herself.
Tactics, Strafing Ability, etc.
? Not sure but probably tweaks character abilities from standard values
BotUse
? Not sure but probably how often the character is chosen as a bot?

Notes

  • You can add player characters to the game by adding your own MyFileName.upl to the System directory. No need to edit the original files.
  • For mods using the -mod setup, if any *.upl file is added to MyMod\System, UT2004 assumes you don't want the default UT2004 models to be displayed. To re-enable them, copy the default .upl's from UT2004\System into MyMod\System.
  • UT2004 does not exactly check for the extension "upl". If your editor happens to make backups named "upl~" or similar UT2004 will also try to load those. Mostly this leads to an immediate crash when UT2004 is run - without a very useful error.

How to remove the need for using .UPL files

By razialx razialx@hotmail.com

People, please bear with me. This will be the first time I have contributed to the Unreal Wiki. I am a programmer, but not a web designer. Feel free, in fact I insist, that you change, adjust and reformat anything I write here.

Also, if this is in the 'wrong place' please move it(if you can...)

The Unreal Engine was created to be very open to expansion and modification. One thing the engine uses to make adding new player models and characters was the .UPL file. UPL files store simple information telling the engine what models to load, and it links to them profiles and species(2003). I am not going to go into detail about what the UPL contains or does, because this is a tutorial on how to NOT use them.

The problem with UPL files is that they are ALWAYS loaded, and must reside within the default SYSTEM directory of the game. Although this is not an issue when playing the regular retail game, it can quickly become an issue for people developing mods.

The biggest problem is directory structure. Most mods being developed that are of any significant scale place their files into their own subdirectory. Like /UT2003/MyMod/Animations/ . So, by storing the files there, they will not get in the way of any other mods or the classic game. When you run your mod, you give the engine a path to the new animations directory and all is well. However, observe what happens when you run the classic game again. The engine will try to load the characters you have put in the .UPL file. This can cause errors or glitches. What happens when the player goes into the Player tab of options to try and select a character? In the list of characters there will be a lot of question marked options. Those are there as a side effect of the UPL system.

UPL's are the easiest way to get a new player model into the game, and are often used by mods that have 'Player Classes' as an easy way to put the player classes in(this is linked to the species class). Although this technique works, it does not work well and leaves the system open for alterations. The core game is meant to be easily modified, however mods usually are not. Therefore, for my projects I have coded out the use of .UPL files. I have also done this with .INT files and will write a page on that accordingly.

(THIS IS WIP I HAVE TO GO TO WORK NOW AND WILL DO MORE WITH IT WHEN I GET BACK)


TOjo39: Man alive...you talk about the upl and promise how to not load them. And all you say is that you hardcode them out!!!! Please, Please, More info.

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Image Uploads

Random Page

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

FAQs

Help Desk

Mapping Topics

Mapping Lessons

UnrealEd Interface

UnrealScript Topics

UnrealScript Lessons

Making Mods

Class Tree

Modeling Topics

Chongqing Page

Log In