Unreal Console Commands

Tim Sweeney
Epic MegaGames, Inc.

Audience: Advanced Users, Server Administrators, Programmers.
Last Updated: 07/21/99

Command Line Parameters

C++ Console Commands (Only works on the local machine)

UnrealScript console commands (Can be used by remote administrators)

Console configuration commands

Gets a configurable class parameter.  <classname> may be a partial classname, such as "playerpawn", or a qualified classname such as "engine.playerpawn".  The class must be loaded in memory, otherwise GET returns an empty string.  <variablename> must be the name of a variable that is designated as configurable (either in UnrealScript using the "config" keyword or in C++ using CPF_Config).  This returns the value of the configured variable, converted to a string.  The value returned by GET reflects the class's default value (for scripted classes, this is the default value that was set for the class using its property sheet).  At any time, zero or more instances of objects belonging to <classname> may be in memory, and may have modified values of <variablename>, and they don't affect the value returned by "GET".

Sets the default value of a class's variable.  If the class is designated as configurable (using the "config" keyword in UnrealScript or CLASS_Config in C++), and so is the variable, this function updates the Unreal.ini file to reflect the new default value. If any instances of objects belonging to <classname> are in memory, all of those objects are updated.  When an object's config variables are updated, they are notified as follows:

  1. The object's PreEditChange() function is called, basically saying "Get ready to be modified!"
  2. The object's configurable variables are updated with the newly configured values.
  3. The object's PostEditChange() function is called, saying "You've been modified, so validate and update yourself".

This procedure enables objects to validate their configurable properties and update themselves.  For example, the audio subsystem's PostEditChange() function clamps the sound volume to a safe range of 0.0 - 1.0 (because the SET command enables users to set it to ridiculous values) and then updates the actual volume of the sound effects that are playing.

Unreal Key Bindings

In the Unreal key bindings (under Advanced Options / Advanced / Raw Key Bindings), you can associate console commands and other special input commands with key presses and releases.  In the text box next to a key name, you can type in one or more console commands, separated by the "|" character.  For example, to bind the "S" key to the "Jump" alias, type this:


That causes the "Jump" alias to be executed when th user presses the "S" key.  For another example, if you want to bind a chat message to a key, use this:

    Say "Come get some!"

In addition, you can bind multiple actions to a keypress like this, to make the "S" key both jump and say a message.

    Jump | Say "Come get some!"

You can also bind an action to the release of a key by using the OnRelease keyword. For example, you can make the "S" key fire when it's released:

    OnRelease Fire

Or you can make the key jump when pressed, and fire when released:

    Jump | OnRelease Fire

Keys can be bound to any of the following kinds of things:

"Special input command" refers to console commands which only make sense in conjunction with the press or release of a key, or the movement of the mouse or joystick along an axis. The special input commands are:

In addition to the Advance Options menu, you can also bind keys from the console using the following command:

	SET INPUT <keyname> <binding>

For example:

	SET INPUT Enter Fire

Unreal Key Aliases

Key aliases are listed in Advanced Options / Advanced / Input Aliases.  Aliases provide a convenient way to map one word (for example, "Jump") to a complex series of console commands that carry out a particular action.  For example, the "Fire" alias is defined as: "Fire | Button bFire".  This has the effect of calling the UnrealScript "PlayerPawn.Fire" function (aliases are not recursive), and then causing the input button bJump to be set to True as long as the key is held.