Console Commands

Console commands are codes that can be used while playing a game to alter most aspects of gameplay. BioShock and BioShock 2 do not have a true in-game console for commands to tweak the environments, however, both games have common Unreal Engine commands on the PC which can be bound to certain keys and used in game.

How to Bind Commands
In the game files of BioShock and BioShock 2 on the PC there is a file named "User.ini". This file contains the key bindings and user interface settings of the game. Most key bindings can be altered simply by using the Customize Controls interface in-game, but for more advanced bindings the file itself may be edited using any common text editor, such as Notepad.

User.ini is located at:

\Documents and Settings\[Username]\Application Data\Bioshock (in Windows XP)

\Users\[Username]\AppData\Roaming\Bioshock (in Windows Vista)

To see these directories "Show hidden files and folders" must be enabled in Folder Options.

It is important to remember that any changes made to User.ini will be replaced with the default if the game crashes or if the player exits it abnormally (i.e. shutting it down with task manager.) The default settings are stored in another text file, "DefUser.ini". If the player wishes to avoid resetting the User.ini multiple times they can edit DefUser.ini, but this is not recommended because it means permanently losing the default settings.

Aliases
The first section of User.in is under the heading "[Engine.Input]". This section lists aliases; commands that perform linked actions. For instance, the "duck" key is listed as "Aliases[29]=(Command="DuckKeyPressed | onRelease DuckKeyReleased",Alias=Duck)" This means that whenever the user presses the bound key for duck they are actually performing two commands. In this case when the key is pressed the engine will execute the DuckKeyPressed command, which results in the character crouching. When the key is released, the DuckKeyReleased command is executed, which leaves the character ducked until the key is pressed again.

Any of the aliases can be changed for various effects. Changing the words inside of Command=" " will change the alias. Linked commands are separated by a pipe symbol ("|").

Key Bindings
The key bindings section of User.ini is under the heading "[Default]". It lists every key on the keyboard and the command bound to it. Keys without any bound command are left blank. This section actually has many subsections, each giving the bound keys for a certain status in the game. For instance, there is a set of key bindings for the status when Jack has been told by Atlas "Would you kindly lower that weapon," and it has blank bindings for using the weapon and plasmid keys specifically so that the player cannot use them during that scripted event. There is also a set of bindings for using vending machines, hacking, etc.

Since there are many different statuses in the game the key bindings list is very long. For most purposes it is enough to edit the first section, which gives the main status of exploration and combat. To bind any key to a command, find that key in the list and type the command name after the equals sign ("="). Below is a list of common console commands which can be bound.

Player Related
These commands are mostly used for cheating, but some, such as the Fly and Ghost commands, are useful for taking high quality screenshots.


 * ChangeSize [Value] - Increases player collision radius (possible values: 0.0 = normal, 5.0 = large, 10.0 = larger, 15.0 = big, 20.0 = really big)
 * Fly - Allows the palyer to fly around
 * GEP [Plasmid/Tonic name] - Gives the player a specific tonic or plasmid (e.g. GEP ElectricBoltThree) This can be used with many values in Predefined Plasmids.ini
 * Ghost - Allows the player to move through solid objects
 * GiveBioAmmo - Refills the EVE bar
 * Givehealth - Refills the Health bar
 * GiveItem [NumberOfItem] [ItemClassName]
 * God - Invincibility
 * IGBigbucks - Gives the player $500
 * PlayersOnly - Unfreezes/freezes everything except the player, including doors, projectiles, and other world objects
 * ResetEyeHeight - Returns to default eye level
 * SetEyeHeight [Value] - Changes the eye sight level. (The value is a floating point value, like 25.0 or 75.0)
 * SetGravity [Value] - Changes the gravity, affecting physics events (0.0 = no gravity, -1400.0 = normal gravity)
 * SetJumpZ [Value] - Sets the jump height (600.0 = about normal, 1200.0 = highest without taking damage on fall)
 * Slomo [Value] - Changes the speed of everything (0.0 = slow, 1.0 = normal, 2.0 = fast, 3.0 = faster, 4.0 = really fast)
 * Suicide - Kills the player character, returning them to a Vita-Chamber or the main menu
 * Teleport - Jump player to where the cursor is currently pointing
 * Walk - Disables fly and ghost mode

View Related
Some of these, such as the FreeCamera command, can be used to view the player character. Toggle HUD is commonly used to take quality screenshots.


 * FreeCamera [Value] - Enables/disables camera rotation (1 = enable camera to be rotated around player, 0 = returns to normal cam)
 * Freezeframe - Freezes the game
 * HideHUD - Disables the on-screen HUD elements
 * HideWidescreenBars - Turns off the widescreen bars
 * LockCamera - Prevents/enables the camera moving with the player
 * ResetFOV - Resets Field of View to default
 * SetCameraDist [Value] - Use with FreeCamera to change the distance of the camera from the player (0.0 = really close, 10.0 = far, 25.0 = farther)
 * SetFOV [degrees] - Sets the Field of View to the specified degrees, e.g. SetFOV 90
 * SetBrightness [Value] - Changes the screen brightness
 * SetContrast [Value] - Changes the screen contrast
 * Togglesoundeffects - Turns sound effects (but not music or ambient sounds) On/Off
 * Shot - Takes a screenshot in BMP format and places it in the same folder as BioShock.ini
 * ShowHUD - Enables the on-screen HUD elements
 * ShowWidescreenBars - Turns on the black bars at top and bottom of the screen, like in cutscenes.
 * ToggleBehindView
 * ToggleHUD - Toggles the on-screen HUD elements On/Off
 * ViewSelf - Returns the camera to viewing the player after using ViewBot or ViewClass
 * ViewClass [NameOfClass] - Cycles through views of the given class, including enemies or world objects (possible class names: Engine, ShockAI, ShockAI.MeleeThug)

Enemy Related

 * KillAll [NameOfAIClassToKill] - Removes every AI of a certain type
 * KillViewedActor - An AI selected with ViewBot is removed from game (Using this while viewing the player character will crash the game.)
 * Killpawns - Kills all enemies on the level
 * StartSecurityAlarm - Starts the normal 60 second security alarm
 * StopSecurityAlarm - Stops the security alarm
 * ToggleshowAIs - Toggles the presence of enemy On/Off (actually just shrinks them to the size of the player's finger)
 * ViewBot - Cycles through views of all AIs in the level

Miscellaneous

 * PlayMovie [NameOfMovie] - Plays a selected cutscene
 * runScript [NameOfScript] - Executes a script
 * StopMovie [NameOfMovie] - Stops the cutscene