The console is a powerful in-game tool available to PC players. From the console it is possible, while playing the game, to enter commands that will alter most aspects of gameplay, and it is also possible to obtain detailed information about NPCs, creatures, and other items in the game.
There are no dragons in Starfield. Someone should probably remove the part that talks about dragons (and beheading, since Bethesda have made Starfield PG 13 unlike their previous games).
The console can be accessed in-game by toggling the "tilde key" (the actual key can be ~, `, º, ¬, |,^, \, §, ², etc., depending on your keyboard layout), found near the 1 and Esc keys on most keyboards. The console prompt will appear in the lower left-hand corner of your screen. The console can also be used as a pause function during scenes or dialogue that cannot otherwise be paused. You can scroll the console output using the Page Up and Page Down keys. Console commands are not case-sensitive; for example, entering any of tai
or TAI
or TaI
will toggle AI. After you type a command, press the Enter key to activate it. You will see the command you just entered displayed above the input area. Multiple commands can be entered at once if they are seperated by a semicolon, followed by a space. For example, running the command SetGS fDiffMultHPByPCVE 100; setgs fDiffMultHPByPCE 100
would be the same as running SetGS fDiffMultHPByPCVE 100
followed by setgs fDiffMultHPByPCE 100
.
Many commands are targeted: this means that you may use player.command
to affect the player character; for example, type player.setav carryweight 1000
will set the Player's Carry Weight at 1000. Or, you may want to target the NPC/actor, by first typing prid <RefID>
, Enter. Then, type the command by itself, setav carryweight 1000
, to affect the NPC, specified by <RefID> (Note: including the zeroes at the beginning of the RefID when targeting NPCs may produce a "command not found" error. That can be evaded though by placing the RefID in quotes).
You may also target an NPC or object in the console by clicking on them, and then run command
to affect the NPC or object. When an NPC or object is targeted in this way, their hex code (RefID) will be displayed at the top of the console. For example, to unlock a door, open the console, click on the door so it is the active object in the console (its RefID is shown at the top of the screen), then type unlock
. When multiple objects overlap, use the mouse wheel to scroll through different RefIDs until the correct one is selected. When playing on multiple monitors, the cursor will display in the secondary monitor but clicking it will select the object in the same area of the primary monitor. Note that a complete list of objects and their RefID can be obtained by running save funclist 1
and navigating to the "ACHRs" column.
Commands which are abbreviated (for example: tai
) can also be run by using their full name; thus, ToggleAI
is synonymous with tai
, and GetActorValue
is synonymous with getav
. In most cases, the long command is an obvious progression from the abbreviation. Also, most SetSomething
commands have a counterpart GetSomething
, even if the counterpart isn't shown here.
Some commands require a form ID. Most articles on objects provide the ID or IDs for those items. In addition, the Help
command can be used to locate IDs. Help "Eon" 0
would provide a list of all game objects with Eon in their names. This can be used for items, powers, perks, and more.
If you are using a non-US keyboard, the tilde (~) / grave accent (`) key might not work, or there may be no key with such markings. Often, the correct key to use is the key below Esc and above Tab (↹), where the tilde/grave key is on a US keyboard. See the following table for specifics:
Another possible solution is to install AutoHotKey and set up a shortcut to send the tilde key code the game is expecting. Add the following lines to your AutoHotKey script and it will map F12 to grave accent (`) and Shift+F12 to tilde (~). (The grave accent key is the same physical key as tilde on US English keyboards.)
The Console key can also be remapped by editing the file located in Data\Interface\Controls\PC\ControlMap.txt.By default the Console key is assigned the value 0x29 (DIK_GRAVE), changing to 0xb8 will assign it to the "Right Alt" key (DIK_RMENU). See a Direct Input Key (DIK) Code Table for other keys.
When a command requires arguments (e.g., additem <ItemID> <qty>
), the brackets <> indicate that <ID> should be replaced with the appropriate ID, and <qty> with the appropriate quantity. The brackets are not part of the syntax. So additem <ID> <qty>
becomes additem 00028A02 1
.
Furthermore, all REFIDs, faction, weather etc can be entered without the leading zeros. (e.g. additem 28A02 1
has the same effect as above)
Toggle Commands[edit]
sucsm 50
after typing tfc
will allow the camera to move about five times faster than its default speed. The full command name is "SetUFOCamSpeedMult
".player.tc
is used to remove control.Note: God mode will not protect you from scripted damage.
Also see csb
.
tmm 1,0,0
).Targeted Commands[edit]
prid
command, prefix the command with player
to target the player character or prefix the command with a RefID to target something else.player.additem 002543B7 5
will add five sandwiches to your player's inventory. The effects of <flag> are unknown, but it probably refers to ownership and stolen status. Changes to an NPC's inventory will usually appear immediately if you're pickpocketing them when you open the console. It is possible to remove items with this command by using negative numbers.(Item ids: Starfield:Items)help <perkname> 0
.advlevel
Adds one level to your character's current level.player.damageactorvalue health 50
causes you to lose 50 health as if you just took damage. It will still recover the same way it normally does. Attributes can become negative. Can be restored with restoreactorvalue
. This is a better option than modAV
for temporary debuffing, since it can be restored to its original value easier. Stacks with 'modAV' effects. Skills/attributes damaged with damageactorvalue will still appear white, but will correctly restore to what they really are. Can be used to kill NPCs.
Also see RestoreActorValue
The full list of attributes is provided at Actor Value Indices
Also see
enable
Drop <base ID> <amount>
to drop any items in their inventory by force, including normally undroppable items. You may need to use Showinventory
to get a detailed list of items and get the correct IDs you need.duplicateallitems 89c79
will copy all items in the NPC's inventory and place the duplicates into the container with refID 89c79. You can get the container/NPC's refID by clicking on them and committing the ID to memory before selecting the container/NPC which has the items you want to copy. You can also type in the refID of the container/NPC with the items to be copied before the command with a period in between instead of selecting anything with the mouse. For example, entering a2c94.duplicateallitems 89c79
will copy all items from Lydia's inventory (whose refID is a2c94) and place the duplicates into the container with the refID 89c79.Also see
removeallitems
Also see
disable
equipitem <ItemID>
for use (if one is not already in their inventory, it will be added); the player-character equivalent is player.equipitem
.- An optional extra parameter is
0
or1
: the latter seems to make the item not be unequippable (sometimes – the results are not entirely consistent), e.g. to keep a weapon drawn at all times; the default is0
, and leaves the item contextually unequippable (or resets it to be so, if1
was used earlier). - A second optional parameter is
left
orright
, which puts Item in a specific hand, if applicable; if this parameter is used, then0
or1
must precede it (usually0
). - It only works on baseIDs. Consequently, it will equip an item of that type already in inventory, or a create a new copy of the item if it is not already in inventory. You cannot use it to transfer a specific item from your inventory (or the ground, or a container) to an NPC.
The opposite command is unequipitem
, and works with the same basic syntax.
Also see
modAV
and setAV
The full list of attributes is provided at Actor Value Indices
setrelationshiprank
.help <perkname> 0
.kill
and press Enter. Entering an optional Actor ID will treat that actor as the person who killed the target[verification needed], which can cause other NPCs to attack the actor as they would a murderer. Specifying the Player as the Actor ID will assign blame to the player, counting the kill as a murder if the target was non-hostile and possibly incurring a bounty if other NPCs witness the death.Some actors (primarily NPCs, not creatures) can be flagged as "essential" by the game and thus will not die. In this case, the character will instead crouch and stumble around for a while; however, this stumbling can usually be ended early by using the resurrect
command on him/her.
Also see
forceAV
and setAV
The full list of attributes is provided at Actor Value Indices
Example 2 - move an object or NPC to the Player: This code is especially useful for a follower/NPC who's just disappeared after a quest due to a bug in game. You can also select an object and type moveto player
which will move the selected object to your feet and orient it based on the camera's angle.
Also see placeatme
player.placeatme 000fea9b
. Using this code will instantly summon an instance of an object or NPC at your position. The above example summons a dragon. Not recommended for named NPCs. This code uses the Object (base) ID and not specific reference ID as it is creating a new instance of that object/actor in the world; using it with named NPCs can result in duplicates unless the original was somehow removed.Also see
moveto
which can summon named NPCs by refID using the following commands: prid RefID
& moveto player
playidle IdleOffsetArmsCrossedStart
. See the Template:CSList.pushactoraway 14 1337
. Will push or launch your character in a random direction. If you enter negative amount, example: pushactoraway 0001A6B8 -200
, will pull the selected actor to your character position.- When used on containers, it acts like
resetinventory
. - When used on objects, it will reset them to their original positions and states. It can be convenient if you mess something up and want to restore the order.
- When used on the player, their inventory is not replaced
player.removeallitems
will remove all items from your character's inventory or "removeallitems <clickoncharacter> for remove all items of particular character. Optionally, after the command, enter the reference ID of an actor or container to transfer all the items in question into the referred actor/container.Also see
duplicateallitems
player.removeitem 002543B7 5
will remove five sandwiches from your player's inventory. Changes to an NPC's inventory will usually appear immediately if you're pickpocketing them when you open the console.Note: Needs to be tested with the skill systems.
{{/Entry|removespell <spellID>| | Needs to be tested with the power system.
player.resethealth
Restores your health to 100%removeallitems
on an NPC and enter resetinventory
everything will respawn and re-equip to its defaults. Can be used to pickpocket the same item multiple times. Works on dead NPCs and containers/chests, so you can loot the same corpse/container multiple times. Containers are slightly randomized, so items may vary depending on the containers loot settings.player.restoreactorvalue health 100
and you recover 50 health since it can't restore more than its normal value. Doesn't fix attributes/skills damaged by modAV
or forceAV
or setAV
Also see
DamageActorValue
The full list of attributes is provided at Actor Value Indices
resurrect 1
) will make the target get up instead of vanishing and reappearing, thus allowing them to keep their equipment. [verification needed — see talk page] If an NPC's corpse has vanished already, you will also need to enable the NPC. Using this on the player character will not dismiss the "Load last save?" screen, and the camera will behave as if you were still lying dead on the ground. However, if you use the resurrect command before the loading message appears, the player will revive, but the camera will be centered on the feet rather than the head. Note that accidentally using this command on yourself while you're still alive can also have unexpected consequences, among them losing the ability to dual-cast spells (which will be fixed on reload), and losing any blessing effects (but not the blessing itself - which can be complicated in the case of Standing Stones. The game will not let you restore that Standing Stone power unless you first visit another Standing Stone and come back.) NPCs who are dead at the beginning of the game (such as Mage) cannot be resurrected via this command. Also see
kill
.player.setactoralpha 100
will reset unwanted invisibility effects and make your character visible again.player.setav block 100
to set your Block to 100 and take advantage of having a high level Block without receiving any levels (and therefore any perks). The same works for dropping the skill level. You can also do it for Health, Stamina, or Magicka etc. And you can target it for an NPC by using prid <RefID>
of an NPC first; then just type setav health 500
to give the specified NPC 500 Health. setav speedmult <nn>
sets the speed percentage of the targeted actor to nn. You may need to sprint or sneak/unsneak for it to take effect.Also see
forceAV
and modAV
The full list of attributes is provided at Actor Value Indices
Note that the base ID and not the ref ID must be used. The ref ID is what appears when clicking on an object with the console open. To find an NPC's base ID, however, you can either a) browse to their respective page (see: People and/or NPCs) or b) use the
help
function in-game to search for them by name, recording whatever value matches their name under the "NPC_" category of result. Once you have the base ID, enter the command using either 1 to set him/her immortal or 0 to set him/her mortal. For example, setessential a2c8e 1
would set Lydia as immortal.- Be careful when making an Essential NPC mortal, if they die you will likely be unable to access the associated quest or story. However, a simple save reload will fix if you haven't save over all the files where the character is still alive(and either non-essential or essential)
- Related functions: To check whether an NPC is essential to begin with, select him/her in the console (so that the ref ID appears), and enter
IsEssential
- if the console returns "1.00", the NPC is essential. - It is also possible to set the player them self as essential with the base ID of 00000007, However upon entering the 'bleedout' stage, the player will sometimes not get back up (usually upon the first time in a new area or after having recently set yourself as essential), however, simply entering your inventory and drinking a health potion will fix this immediately (any health potion used during bleedout will return you to full health). Usually, your character will drop down to their hands and knees, and then immediately get back up with full health.
setgs fJumpHeightMin <height>
sets the jump height for the player.prid <RefID>
of an actor/NPC first. If you prefer to click on the NPC while in the command console, make sure the ID you see is of the targeted NPC and not an object. You can set your own level with player.setlevel <value> where the value is the target level you desireIf you input setlevel 1000 0 1 100
that NPC will be equal level you are and will level with you up to level 100 and will start at level 1 if you're level 1.
Variable | Description |
---|---|
<multiplier> | Determines the base level in terms of the player's current level. Specified in tenths of a percent (i.e. 1000 means 100%, 500 means 50%). |
<modifier> | This number is added to the base level determined by <multiplier>. Can be negative or zero. |
<min> | The minimum level of the NPC (must be at least 1). |
<max> | The maximum level of the NPC. |
GetLocationCleared
.setstage ms01 100
. The setstage
command is useful for advancing broken quests, finishing quests instantly, or for skipping ahead to a certain point in a quest. You can find the quest's ID code, as well as the various stages of the quests and their corresponding stage numbers, on the respective quest page. To start, see the main index of Quests.setunconscious 1
makes an NPC or the player stand in place as if it's in a trance or their AI is disabled. You can do whatever you want to them and they won't react. They remain that way until you use setunconscious 0
. They will act like nothing happened, so if you steal from them and wake them back up it will be as if they didn't see anything. They can also wake up if you get their health to a critical level, and will either fight back or run away. The effect is equivalent to the player using wait and coming out of it early due to an attack.player.showinventory
will display "5 - Leek (000669A5)", and you can use player.additem 000669A5 5
to obtain five more leeks.shp 1.00 0 0.50 0.01 9.00 .1 .99 100 1.0000
sifh 1
will make the selected actor ignore friendly hits.player.StopCombatAlarmOnActor
).str 1.000000
will set refraction to its maximum value, str 0.000001
will make the target completely invisible, str 0.000000
turns off refraction reverting the target to its normal appearance. str 0.000000
will completely mess up a character's eyes and eyelashes. Can be used on any targetable object from NPC/player to pieces of the architecture.unequipitem<ItemID>
to get them to unequip an item but leave it in their inventory. The opposite command is equipitem
, and works with the same basic syntax. No error results from unequipping an item the NPC doesn't have. The player-character equivalent command is player.unequipitem
.modangle z -10
. Allowed values are positive and negative integers or decimals. Tested down to 0.001 and up to around quadrillions for values. All reoriented as expected but things got "weird" when values too high were used, i.e. items started disappearing. A full rotation is only 360 degrees anyway!modpos x 2
. Allowed values are positive and negative integers or decimals. Tested down to 0.001 and up to 1 billion using getpos z
. When operation was reversed (negative same amount), object did not come back down correctly and instead floated about 10m above the hab it started in.getangle z
next line prints: GetAngle: Z >> 90.00
getpos y
next line prints: GetPos: Y >> 482.32
setangle y -10
. Allowed values are positive and negative integers or decimals.setpos z 5
. Allowed values are positive and negative integers or decimals. Tested down to 0.01 from getpos
.Untargeted Commands[edit]
saq
help location 0
command.coc qasmoke
will transport to the Starfield testing hall (for QA testing; inaccessible otherwise.)
Add this line to StarfieldCustom.ini inside Documents/MyGames/Starfield:
[Camera]
fFPWorldFOV=<angle>
fTPWorldFOV=<angle>
fw 10e1ec,1
).GetGlobalValue DragonsReturned
would tell you whether or not random dragon attacks will take place. See ShowGlobalVars
.GetInCellParam 5de24 14
would tell you whether or not the player is in helgen keep. getincell >> 0.00= not present, 1.00=present. Can be used to confirm if your character or an NPC is in a particular cell.GetPCMS
. Example: GetPCMS "barters"
would tell you how many times you've gone shopping or GetPCMS "days as a werewolf"
will tell you how many days you have been a werewolf. The quotation marks are required in the command to properly identify multiword stat IDs.E.g., help "Daedric"
will list all items, etc. which have "Daedric" in their name. There is no need to put a "0" for the help command. Quotation marks are required for queries of more than one word (e.g., help "ancient nord"
). Use page up and page down to scroll through the results.
killall
can be used for identical effect.load autosave1
will load last autosave. If the name contains spaces, it must be enclosed in double-quotes, E.g.: load "My Starfield Save"
Useful when stuck, or if showracemenu is opened. See also: save
ModPCMS
. Modifies the Player Character Miscellaneous Statistic value by registering a permanent modifier (positive or negative) of the value stated. Example: ModPCMS "days as a werewolf" -100
will modify how many days you have been a werewolf by a negative 100. The quotation marks are required in the command to properly identify multiword stat IDs.PickReferenceID
caqs
save "My Starfield Save"
Note that this will overwrite an existing save of <name> without prompting.Appending the parameter "1" will create a file <name>.ess.txt and open a texteditor upon it. This textfile contains a lot of dumped data and takes a while to write out (15 minutes observed) - the console and game is unresponsive during that. See also: load
<Global Variable>
to <Value>
ShowGlobalVars
.<value>
Example: setpqv DLC1NPCMentalModel LockedIn_var False
set
command. You can scroll through the list with the PgUp and PgDown keys. ShowMessage 000A81FF
will display the "Playtesting Temporary Message".showlooksmenu
showmenu sleepwaitmenu
will show the wait/sleep menu without bed/chair.movetoqt
<Quest ID>stp 1 1 1 1
produces a black & white image, while stp 1 1 1 0
disables tint filtering altogether.Starfield provides a simple batch file mechanism so you can customize your game play quickly and without repeatedly typing console commands.
Example: bat mybatchfile; runs all of the console commands in the file Starfield\mybatchfile or Starfield\Data\mybatchfile.txt.Notice that the file you put in Starfield directory mustn't have an extension, while the one in Starfield\Data needs a .TXT extension.The second option is preferable - first because you don't need to change file extension and second because it keeps the root directory clean. Also a file that goes to Data folder can be shipped along with mod and placed by all Mod Managers.
Starfield batch files are lists of console commands that are run one after the other. They have no loops, tests, or other logic and execution doesn't stop if there's a problem with one of the commands. You can create any number of batch files, each with its own purpose.
Most Starfield console commands can be run from a batch file. For example:
Note that batch files can also be stored in your "Documents" user folder in Windows (for example: C:\Users\myUsername\Documents\My Games\Starfield). In fact, if you have batch files stored in the Starfield game directory and another batch file with the same filename in your "Documents\My Games\Starfield" directory, the batch file in your "Documents" folder will take precedent when attempting to call the bat [filename]
command.