Unreal Console Commands

Jack Porter
Epic Games, Inc.
http://www.epicgames.com/
Based on the Unreal 1 console commands document.

Audience: Advanced Users, Server Administrators, Programmers.
Last Updated:

Introduction

This is a list of console commands and command line options, most of which are valid for the current version of the Unreal demo.  The upcoming version of the demo will add a few of the new ones.  The cheat codes will be changed for the full version of Unreal.

Unreal.exe Command Line Parameters

-changevideo Bring up the video card selection menu
-conflicts Show objects of different classes whose names conflict.
-log Runs with the log window initially visible.
-noddraw Disables DirectDraw support.
-nodsound Disables DirectSound support.
-nogc Disables garbage collection.
-nohard Disables 3d hardware support.
-nok6 Disable AMD K6-3D support.
-nolog Don't show log window.
-nokni Disables KNI (Pentium III) support
-nommx Disables MMX support.
-nosound Disables sound.
-nowarn Disables warning message boxes on the screen.
-profile When C++ is compiled with DO_SLOW_GUARD=1, generates an UnrealScript function profile using the timings in the most recently played level only.
-safe Runs Unreal in "safe mode", avoiding loading any device drivers which could crash if there are hardware/driver problems.
-server Runs as a dedicated server.  See ucc server
-silent Run silently, with no log window, and no display of error messages. Critical errors just cause the engine to exit silently.
INI=inifilename Specify the .ini file to use for configuration. Normally Unreal.ini.
USERINI=userinifilename Specify the .ini file to use for user-specific configuration.   Normally User.ini
LOG=logfilename Uses the specified log file instead of Unreal.log. Useful when running multiple copies on the same machine.
MULTIHOME=12.34.56.78 Sets the "home" ip address (in numerical format) which Unreal will bind to, for a machine with multiple IP addresses.
PORT=num Sets the UDP port number for the Internet server.
READINI=inifilename Sets the .ini file for reading only (not for writing); overrides the INI= option.

Ucc.exe Command Line Parameters

UCC.exe is the command line Unreal launcher.  It launches a number of "commandlets".   ucc help will give you a list of available commandlets. 

Ucc make

-h Rebuilds all .u files from their source .uc files and generate a C++ header for each package.
-nobind Don't treat UnrealScript/C++ binding errors as critical, for rebuilding scripts and avoiding the chicken-and-egg binding problem.
-strict Treat all script warnings as critical errors; useful for tracking down the call stack when debugging scripts.

Ucc server

Usage: ucc server URL  [parameters]
Most of the parameters valid for unreal.exe are valid for ucc server.
The URL parameter is usually just a map name, but can include a number of options:

UnrealScript Console Commands

General console commands

MENUCMD <menu> <menuitem> Perform an Unreal menu item.  For example, MENUCMD 1 0 brings up the Unreal server browser
SAY <message string> Broadcast a message to other players in the game.
SETNAME <newname> Change your name (works in network play too).
SUICIDE Commit Suicide
TEAMSAY <message string> Broadcast a message to your teammates.

Practice session console commands/cheats.  Most of these will change.

ADDBOTS <number> Adds more bots to the game.
ALLAMMO Gives you all the ammo for your current weapons.
FLY Fly around (instead of walking). See WALK.
GHOST Fly around and go through walls (see WALK).
GOD Makes you invincible.
KILLALL <class name> Kills all actors of a certain class, for example "KILLALL WARHEADLAUNCHER".
KILLPAWNS Kills all bots
PLAYERSONLY Pauses all non-player actors in the game. Cool for debugging scripts, taking screenshots.
SLOMO <number> Sets the game speed, 1.0 is normal.
SUMMON <class name> Spawns an actor of the specified class (for example, SUMMON BOTPACK.WARHEADLAUNCHER) in front of the player.
VIEWCLASS <class name> Cycle through actors of this class, viewing from their locaton.  eg VIEWCLASS BOT
WALK Walk around normally (see FLY, GHOST).

Admin console commands.  Some of the above practice session cheats are available in network play when you're logged in as an administrator.

ADMIN <command> Perform a console command on the server's console
ADMIN SERVERTRAVEL <new level URL> Causes the server to switch to a new level.
ADMIN SET UWeb.Webserver bEnabled True Enable the remote admin webserver (requires a level change to take effect)
ADMIN SET UWeb.Webserver bEnabled False Disable the remote admin webserver (requires a level change to take effect)
ADMINLOGIN password Login as an administrator
ADMINLOGOUT Drop administrator access
KICK <playername> Kick a player
KICKBAN <playername> Kick a player and ban his/her IP.  You'll need to edit your ini file or use the WWW remote admin to unban their IP

C++ Console Commands

These only work on the local machine.

BRIGHTNESS Cycle through 10 screen brightness values.
CANCEL Cancels an "open" command in progress that is trying to connect to a network server.
CDTRACK num Play the specified CD track.
CPUSPEED=# Identify your CPU speed, useful for machines which don't autodetect their speed properly. For example, CPUSPEED=266.
DEMOPLAY <filename>
[?noframecap]
[?timebased]
[?3rdperson]
Play a recorded demo.  noframecap plays the demo back as fast as possible. This option is assumed if timedemo 1 is enabled.  timebased gives a smoother playback if the playback machine is significantly slower than the recording machine.  3rdperson lets you fly around a first person demo as a spectator.  eg demoplay mydemo?3rdperson?timebased
DEMOREC <filename> Record a demo to <filename>
DISCONNECT Disconnect from the current server
ENDFULLSCREEN Go back to playing in a window.
EXEC filename Execute the console commands in the filename, default is in the System directory.
EXIT Exit the game..
FLUSH Flush all caches. Regenerates all lighting, 3d hardware textures, etc.   Can be useful to clear texture corruption due to 3D hardware driver bugs
FOV angle Set the field of view, for example "FOV 90" for 90 degrees.
GETCOLORDEPTHS Get a list of color depths supported by your 3D hardware
GETCURRENTCOLORDEPTH Get the current color depth (16 or 32)
GETCURRENTRES Get the current resolution
GETRES Get a list of available resolutions
HIDEACTORS Hide actors during game play.
JUMPTO x y z In UnrealEd, move the viewport to a certain X,Y,Z location, useful in conjunction with tester reports generated with the REPORT command.
MUSICORDER num Change to a certain track in the song (0=ambient, 1=action, 2=suspense).
NETSPEED number Change your desired network data rate.  Use 2600 for modem, 5000 for ISDN, 20000 for Cable/ADSL/LAN
OPEN url Opens a local map (eg "dm-turbine.unr") or an Internet server (eg "200.0.1.16" or "unreal.epicgames.com").
s_occfactor A3D 2.0 occlusion factor
s_maxnodedist A3D 2.0 maximum node distance
s_reflect 0 or 1 A3D 2.0 reflections
s_occlude 0 or 1 A3D 2.0 occlusions
s_wavetracing 0 or 1 A3D 2.0 Wavetracing
s_refgain A3D 2.0 reflection gain
s_refdelay A3D 2.0 reflection delay
s_maxpoly A3D 2.0 maximum number of polygons
s_maxreflectpoly A3D 2.0 maximum number of reflection polygons
s_polysmall A3D 2.0 smallest polygon size
s_polylarge A3D 2.0 large polygon size
s_a3dsources A3D 2.0 Sources
SETRES WxHxD Set the resolution and color depth.  eg SetRes 800x600x32
SERVERTRAVEL url Change levels from the Unreal Server console window.
STOPDEMO Stop recording or playing back a demo.
PREFERENCES Displays the Advanced Options window.
RECONNECT Reconnect to the current/previous server
SHOT Take a screenshot and save it in the System directory with a consecutive name like Shot0001.bmp.
TOGGLEFULLSCREEN Toggles fullscreen mode on and off.
TYPE Types text on the console.

Also see the Mesh LOD document for Mesh LOD console commands.

Statistics

STAT ACTOR Shows various statistics.
STAT CACHE
STAT CLIP
STAT FILTER
STAT FPS Show frame time in milliseconds
STAT GAME
STAT GLOBAL Shows useful performance timings in milliseconds
STAT HARDWARE
STAT ILLUM
STAT LIGHT
STAT MESH
STAT NET Show network performance statistics including ping, packet loss, bytes/second
STAT POLYC
STAT POLYV
STAT REJECT
STAT OCCLUSION
STAT SOFT
STAT SPAN
STAT ZONE

Debugging

DEBUG CRASH Test crashing the game by appError.
DEBUG EATMEM Test allocating memory until it fills up.
DEBUG GPF Test a general protection fault.
DEBUG RECURSE Test crash by infinite recursion.
DUMPCACHE Display the contents of the memory cache GCache.
DUMPNATIVES Display a list of unused native function ids.
EDITACTOR CLASS=classname During game play, edits the properties of the nearest actor belonging to that class. Cool for debugging.
GET <classname> <variable> Gets the default value for a variable in a class
MARK Mark all objects that are in memory (for garbage collection debugging in conjunction with MARKCHECK).
MARKCHECK Display a list of all unmarked objects that are in memory (for garbage collection debugging in conjunction with MARK).
MEM List memory usage; only works when Unreal is compiled with the memory-tracking option (it's usually not).
MEMSTAT Show Windows overall memory statistics.
OBJ CLASSES Prints a list of all loaded classes.
OBJ DEPENDENCIES PACKAGE=pkgname EXCLUDE1=otherpackage EXCLUDE2=otherpackage... Show package dependencies
OBJ GARBAGE Collect and purge garbage ("garbage" means objects which are no longer in use).
OBJ HASH Show object hashing statistics.
OBJ LINKERS Show a list of active linkers (each linker is responsible for loading objects from a package file).
OBJ LIST CLASS=objectclass INSIDE=insideclass List all objects belonging to the class and residing inside the specified object.  If the class isn't specified, lists ALL objects.  If the inside object isn't specified, shows all objects.  Gives a summary of memory usage.  This is very useful during game play for figuring out how much memory is being used.  In UnrealEd, this statistic isn't useful because a huge amount of extra stuff is loaded which might not be used by your map.
OBJ REFS CLASS=objectclass NAME=objectname Show a list of objects which reference the object you specify.  When trimming memory usage, this is useful for figuring out why some object is being loaded.
REPORT Copies a report of the current gameplay situation to the clipboard.  You can then paste the resulting text into an email program, Notepad, etc. Extremely useful for beta testers, because it dumps the player's X,Y,Z location, the difficulty level, etc.
RMODE Set the rendering mode. 0-9.
SET <class> <variable> <value> Sets the specified property of the specified class with the specified value
SHOWACTORS Shows actors during gameplay.
SOCKETS In network play, shows a list of network sockets (UNetConnection's) in use.
URL urlname In network play, parses a URL and displays its components.

Unreal Key Bindings

In the Unreal key bindings (type PREFERENCES to bring up 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:

    Jump

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 X Fire
	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.