If you want to help us maintaining this wiki, check out our discord server: https://discord.gg/3u69jMa
Republic Commando, like other Unreal games, stores its configuration options in ini files and config files with language specific extensions (e.g. int, det, est) which use the same format and rules. There are some differences to the standard Unreal config system which are described on this page.
The config files have the usual
key=value syntax and are divided into sections as indicated by the section name within square brackets. Lines that start with
; are considered comments and thus are ignored.
Unreal's config system allows for the same key to be assigned multiple times in an ini file using
+=. This syntax is unique to SWRC and other Unreal games simply use
=. Doing this in SWRC will only change the previous item in the list instead of appending a new one so make sure you use the correct syntax.
Here is an example section from
System.ini that shows the syntax:
[Editor.EditorEngine] UseSound=True CacheSizeMegs=32 GridEnabled=True SnapVertices=False SnapDistance=10.000000 GridSize=(X=16.000000,Y=16.000000,Z=16.000000) RotGridEnabled=True RotGridSize=(Pitch=1024,Yaw=1024,Roll=1024) GameCommandLine=-log FovAngleDegrees=90.000000 GodMode=True AutoSave=True AutoSaveTimeMinutes=5 AutoSaveIndex=6 UseAxisIndicator=True MatineeCurveDetail=0.1 EditPackages+=Core EditPackages+=Engine EditPackages+=Editor EditPackages+=UWindow EditPackages+=UnrealEd EditPackages+=IpDrv ; FIXME_MERGE EditPackages+=UWeb EditPackages+=UDebugMenu EditPackages+=CTAudio EditPackages+=GamePlay EditPackages+=CTGame EditPackages+=MPGame EditPackages+=CTInventory EditPackages+=CTCharacters EditPackages+=CTMarkers ;EditPackages+=GUI EditPackages+=XGame EditPackages+=XInterface EditPackages+=XInterfaceCommon EditPackages+=XInterfaceLive EditPackages+=XInterfaceMP ;EditPackages+=XInterfaceSettings ;EditPackages+=XInterfaceSP EditPackages+=XInterfaceCTMenus EditPackages+=XInterfaceGamespy
The game has two sets of configuration files in separate directories: One in
System and one in
A config file is read in two stages:
- The engine checks for a file with the given name in
System. If it doesn't exist, all config options have their default values as specified in the code and the second stage is ignored.
- If there is a file in
Savewith the same name, it is read and all values that differ from the one in
So the config files in
System contain default values that can optionally be overridden by the ones in
Save. This is why it can happen that modifying a file from
System will not actually change anything in the game because it's value is not used in the first place since it is overridden. It is a good idea to treat those files as read only and not make any changes to them since they contain the stock settings for the game which makes it easy to reset in case there are issues by simply deleting every ini file in
Save. Any changes should be made to the files in the
When a config file is written to disk, it will be written to the
Save directory and all values that are the same as in the default config are commented out with
Special Config Files
User.ini are treated differently than other generic config files. They can be specified explicitly on the command-line with
-user=FileName.ini and will still be referenced by the Engine as
User regardless of the actual name of the file.
This config file contains all of the Engine's global settings and is always used by default if no specific file name was given.
As the name suggests, this file contains user-specific configuration data. Unlike all other configuration files it is not saved directly in the
Save directory but to a subdirectory belonging to a user profile: