ME3 Console Commands
ME3Tweaks does not condone cheating in online multiplayer. This guide is for informational and educational purposes only.
Table of Contents
Enabling the UE3 Console
Mass Effect 3 is built on Unreal Engine 3, which means it has a console that you can access in game and type commands into. It is very useful for debugging, and nearly every Unreal Engine 3 game has one, though if is accessable in shipping builds of software is up to the developer. BioWare tried to hide the console but it was easily found by several people. In order to access the console, you will need to enable access to it.
The Binkw32 bypass dll hijacks the bink video library dll to force it to run our code before it loads at game startup. It patches the game executable's memory, enabling the full console (by default console is locked to SP), as well as enabling modified DLC to load. The ASI version allows you to load more dlls (renamed as ASI) and disables the certificate check for multiplayer communication to EA's Blaze backend.
Installation of this is as simple as installing any mod in Mod Manager or choosing the option from the tools menu in Mod Manager.
That's all you have to do. You can now open the console using Tab or ~. If you want to remap these keys, you can modify the basegame coaelsced file's BioInput and change TypeKey and ConsoleKey under engine.console.
UnrealScript Exec functions
In game package files, console commands are denoted by setting the Exec flag in the export flags. In ME3Explorer you can see this in the script tab of exports with a flag named Exec. You should read the editing .pcc files guide if you want to understand more about this. Learning console commands is incredibly important to mod design as it will save you tons of time, even with the limited set of commands we have.
I have dumped all console commands in my master console command list. We no longer need to search for console commands, however it may be useful to search anyways to help figure out usage of certain commands by looking at what export are linked to the function.
By identifying a "base" object, we can determine easier that that is a method. The other items that are above a "base" are typically variables in that function. In the above image, you can see an example "base" object/method on the left, and its variables above it. The above image is a valid method, and it's also a valid console command because it has the Exec flag. In this specific instance, this command takes a string and will list all variables the player has that contains the search string.
The above image is from the Info tab, which can also list if an export is a function. In this instance we have RestartFromWave. Using logic we can infer that this method probably takes a wave number, which it does.
Methods with the Native flag are defined in the .exe itself rather than unrealscript, so we cannot read those methods. We likely will never be able to edit these as it is very complex and difficult.
Here is a list of commands that are known to work. Some of them are likely just built-in Unreal Engine 3 commands. A master list of console commands is available on my blog, perhaps sometime I will attempt to figure out how they all work.
|cooldown||boolean||Turns global cooldown on or off. While it makes you very powerful, it makes some enemies very powerful, especially the Geth Prime drone. For powers that have a time-used based cooldown like cloak, you may get the absolute maximum cooldown (several minutes).||SP, MP|
|profile||string [...]||Shows various debug stats on the screen. See the profiles command for a list of parameters. To hide this text, use profile none.||MP, MP non host|
|profiles||Shows all profile command parameters you can use. Some require a target id following the string, e.g. combat would be done with profile combat target.||MP, MP non host|
|God||Toggles player invincibility. In SP this will make your career invalid, and in MP this will send god mode telemetry data to Bioware.||SP, MP|
|disconnect||Begins loading the multiplayer menu. This is useful if you wish to quickly exit a game or jump to MP from SP, and really useful when getting out of the "join bug" where you stall at "Joining game...".||All|
|EnableDamage||boolean||Enables or disables damage, to both teams.||SP, MP|
|EnableAllAI||boolean||Enables or disables ai, to both teams and pets. Killing a pawn in MP will spawn a new one with it's AI turned on. Useful for getting certain enemies to do things.||SP, MP|
|GiveItem||id objectname||Gives the id the specified object. Useful ids are target (what you are looking at), self (yourself), or an objectid, which you can get through some of the debugging commands. ID's are typically the last name of a weapon, such as reckoning and cain.||SP, MP|
|splitscreen||Creates a duplicate of your character and places them at the spawn point. There is no way to control the duplicate, but it's HUD will overlay the original. It really messes up the lobby and the game must be restarted to remove it. Issuing this command with a fully lobby will immediately kick you out.||MP|
|say||string||Sends a message to all players in a lobby. Incredibly useful! The text only stays for a few seconds and it cannot be very long.||MP, MP non host|
|talk||Opens the mini-console with the word Say prefilled. This is very useful for keybinding, and can essentially become an in-game chat function.||MP, MP non host|
|RestartFromWave||int||Immediately kills the existing wave and sets the next wave from the parameter. Note that waves are 0 based, so using 5 as a parameter will start wave 6. Useful for testing.||MP|
|RestartWithFaction||string||Restarts the current wave with the given faction. Valid values are cerberus, geth, reaper, and collector. Seems to load the Gold wavelist, but with your difficulty's parameters.||MP|
|SkipWave||Immediately kills the existing wave.||MP|
|revive||Sends the 'wave clear' revive command. All dead or dying allies will be revived. If you are not the host, you will revive with temporary desynchronization.||MP, MP non host|
|changesize||float||Scales the player size. The baseline is 1.0. Larger sizes make it difficult to see. If performed off-host, other players will see player at regular size floating above or below the ground. Hitboxes on the player are scaled accordingly, but animation hitboxes (such as WarLord hammer) are not.||SP, MP|
|changeteam||In singleplayer, you will change teams immediatey. In multiplayer, this immediately downs the player and places them onto the opposing team. To deal damage the player must have disruptor rounds - powers will not do damage (though lash works!). The AI will entirely ignore this player. Cobra missiles will sometimes knock the player down, preventing them from getting up.||All|
|Spectate||Puts you into spectate mode, or takes you out of it. Sometimes you will need to do this multiple times to get to a desired camera.||MP, MP non host|
|ToggleFlyCam||Enables the fly cam that flies around. You cannot control your character during this time.||All|
|ToggleDebugCamera||Enables the debug camera that flies around like the fly cam. It turns very slowly. This shows locations, object names, and other debug information. Useful if you need to get the name or type of an object.||All|
|Respawn||Moves your character outside of the map, which drops below the map forcing you to respawn at the map's starting point. In singleplayer this typically puts you aboard an unloaded Normandy.||All|
|mpbots||boolean||Creates a testing bot (true), replacing your current character with a bot. If clients are connected they will become bots too. To create more, you must use the spectate command to get back to a standard camera, then do mpbots true again. To return players to their normal selves, use mpbots false - the current viewed bot will be removed from the game and replaced with your character. It seems to disconnect clients at times. If you lose the ability to use powers, issue the respawn command to restore them.||MP|
|ViewBot||[integer]||Changes the camera position to follow enemy AI. The AI camera does not look up or down and is typically placed above the head. The parameter is optional and lets you change what bot is followed.||All|
|ViewSelf||Brings the camera back to your player character.||All|
|DebugWounds||Shows hitboxes for bodyparts.||All|
|DebugAIVals||Shows AI cone of vision, line of sight, last known location of target.||All|
|DebugAI||Pauses the game and enters a debugging mode where you can see some variables internal to a pawn. Use left/right arrows to change enemies. Note it is very slow. Enter the command again to exit.||All|
|Ghost||Collisions with the player are turned off. If you ragdoll, you will fall through the floor. Issue the walk command to return to normal.||SP, MP|
|Fly||Makes player able to go up and down with the keyboard arrows. You cannot turn while this mode is on. Issue the walk command to return to normal.||SP, MP|
|Suicide||Immediately kills the player in singleplayer and makes the current player go into the dying state in multiplayer. Works even if god mode is on.||All|
|SpawnSeeker||pawnid||Usable only on collector enemies. Typically will be used in the fashion of spawnseeker target. Enemies will use special abilities, such as web spawn, seeker spawn, laser attack, and cluster grenade blast. Enemies don't need to be possessed to react to this command.||SP, MP|
|teleport||Fires a tracer directly in front of the camera. Upon impact with a solid object (note that just because its visible does not mean its solid), the player will be teleported there. If the tracer fails to hit anything, crazy things will happen (try the citadel sky for an example)||All|