Audience: Advanced Users, Server Administrators, Programmers.
Last Updated:
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.
-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 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:
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 |
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. |
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
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.