Game Ini File
The Game Ini File or Game configuration file is an INI file with the same name as the executable file of the particular unreal engine game. For instance, UnrealTournament.ini or UT2003.ini.
This file:
- sets up the paths for the Engine Directory Structure
- stores configuration set in Class Syntax (by default; classes can specify another file)
- tells Ucc which packages to compile
- tells the game which packages to load
- tells UnrealEd which packages to load. It's here that you can add Custom Brushbuilders.
Headings
[URL]
[FirstRun]
The FirstRun entry tells you which version of the game you're currently running, in other words, are you on the latest patch?
[Engine.Engine]
[Core.System]
[Engine.GameEngine]
[WinDrv.WindowsClient]
[SDLDrv.SDLClient]
[Engine.Player]
[ALAudio.ALAudioSubsystem]
[IpDrv.TcpNetDriver]
[IpDrv.HTTPDownload]
[Engine.DemoRecDriver]
[Engine.GameReplicationInfo]
[IpServer.UdpServerQuery]
[IpDrv.UdpBeacon]
[D3DDrv.D3DRenderDevice]
[OpenGLDrv.OpenGLRenderDevice]
[Engine.NullRenderDevice]
[Editor.EditorEngine]
"EditPackages" lines list packages to load with UnrealEd.
Tarquin: Are all of these necessary? When working with textures or static meshes, there's an awful lot of guff already loaded that detracts from the resources currently in use in your map. Can any be removed safely?
StarWeaver: I'm actually going through and taking a look at the contents of the packages in UDE and removing the ones that seem likely. As far as I know, all removing a package will do is remove actors you might need to place from the actor browser, so you may well be able to remove e.g. Onslaught if you don't care about editing ONS all the time. I'm not sure what happens to packages that inherit from other packages, but considering how textures and everything are loaded i'd GUESS that they're loaded as needed.
These are the pacakges that seem to be completly irrelavant to work in the editor, and I'm going to attempt running without them for a while. – I just tested and seemed to be able to load maps OK with these pacakages removed.
(Unfortunatly this dosn't remove much from the texture browser. I really wish there was some kind of list of packages used in the map or something so I could e.g. only see texture packages that I loaded manually at least once ...)
- GUI2K4
- UTV2004c
- UTV2004s
- UWeb
- XInterface
- XAdmin
- XWebAdmin
- xVoting
All that are in these packages are classes that import meshes and such, so I'm not sure that they matter in the editor either, but I'm leaving them in for now.
- XGame_rc
- XWeapons_rc
- XPickups_rc
- SkaarjPack_rc
Here are the ones i'm not sure about at all:
- StreamlineFX: Appears to be first person versions of muzzle flashes and some blood miscellany. Seems unlikely to be important in the ed.
- XEffects: So many of these are just one-off emitter effects that are used by coded objects like rocket trails and such, but there's at least one direct derive from Actor (MeshEffect) that might be important?
Also, if you just want to work with your own statics or whatever, I *Think* you can drop everything but core, engine, fire, editor, unrealed, and ipdrv and still load the program.
On another note, does anyone have any idea how CutdownPackages work?
[UWeb.WebServer]
[Engine.Console]
[Engine.AccessControl]
[Engine.GameInfo]
[Engine.AmbientSound]
[Engine.LevelInfo]
[xInterface.Tab_MultiplayerHostMain]
[xInterface.Tab_InstantActionMain]
[xInterface.Tab_InstantActionBaseRules]
[xInterface.Tab_IADeathMatch]
[xInterface.Tab_IATeamDeathMatch]
[xInterface.Tab_IACaptureTheFlag]
[xInterface.Tab_IABombingRun]
[xInterface.Tab_IADoubleDomination]
[xInterface.Tab_InstantActionMutators]
[xInterface.Tab_MultiplayerHostServerSettings]
[xInterface.ExtendedConsole]
[XInterface.GUIController]
Enable Interactive GUI Design Mode here (see GUIController)
[XGame.xDeathMatch]
[XGame.xTeamGame]
[XGame.xCTFGame]
[XGame.xDoubleDom]
[XGame.xBombingRun]
[IpDrv.MasterServerLink]
[XInterface.MapListDeathMatch]
[XInterface.MapListTeamDeathMatch]
[XInterface.MapListCaptureTheFlag]
[XInterface.MapListDoubleDomination]
[XInterface.MapListBombingRun]
[xInterface.IRC_System]
[xInterface.IRC_Page]
[XInterface.ServerBrowser]
[Xinterface.Tab_AudioSettings]
[BonusPack.xLastManStandingGame]
[Skaarjpack.Invasion]
[UnrealGame.DMMutator]
[UnrealEd.UnrealEdEngine]
Game Specific Information
- UnrealTournament.Ini
- DeusEx.INI
- UT2004.ini
- UT2k4Mod.ini – For Epic's Mod system
- UT2k4 Default.ini – Used for generating UT2004.ini's
- UT2k4 DefaultUser.ini Used for generating User.ini's
Discussion
Chip: If it's not already in the works, I think an explanation of the many <game>.ini sections and what info they contain/how they function would be very helpful, particularly for those new to writing their own <mymod>.ini files. Syntax notes would also be useful. Examples like that for [Core.System] on the Releasing a Mod page are very instructive.
HSDanClark: The section headings are going to be different for each game (and the content gets changed/updated with each patch), but it would be a great idea to post the current-build version of the UT2003.ini with explanations. I'll set to work on it tonight if nobody beats me to it.
Tarquin: well there are the headings from mine if that's any help. Aren't any headigns at all common to all engine versions?
HSDanClark: The major ones, like [Core.System] or [Engine.Engine] are common to all versions (as far as I know), but others such as [XGame.xBombingRun] or [XGame.DoubleDom] are specific to UT2003 or higher.
Chip: I think documentation of UT2003.ini should be enough to provide a basis for figuring out many headings/sections not explicitly described on this page. The [Package.Class] heading syntax is consistent, right? If there's similar consistency in the section entries, that'll be a good clue for reading other .ini's.
OlympusMons: Maybe this should be the base page for unreal engine game ini's and all other game specific ini's can be on there respective pages. I'll see what I can do about adding some details and maybe a UT2004.ini page.
Category To Do – add more to this page & change links to UnrealTournament.Ini to link here if suitable