Using the in-game profiler

This guide will show you how to use the in-game profiler for Mass Effect 3. You can use the profiler to help debug the game to a limited extent.

There are the tools you will need to follow this guide.

What is profiling?

Profiling in programming means to assess different parts of a program. For example, when developing ME3Explorer, I may want to profile CPU performance to see where the CPU is spending a lot of it's time. I can use this information to try and optimize the program to make it run better. In terms of Mass Effect 3, it is used as more of a run-time debugging tool - you can see on-screen stats for things like the cover system, the current multiplayer wave information, combat stats for enemy pawns and their AI, etc. It is an invaluable tool for gameplay design.

There are many different profilers in Mass Effect 3. To get a list of them, you can use the command profiles. A big list of text will come up for about 10 seconds, after which it disappears. You can use the command again to open it. For clarity however, here is what it says. Click to view it at full resolution.

I don't know what all of these do. I only have used some of them. However, I will detail what I know about mine and leave some stubs for the others. If you know how they work, let me know and I'll add it to this guide.

profile none

This command hides the currently shown profile. You will use this to turn off the current on screen profile. You don't have to do this before you change profiles.

profile camera

This profile shows you information about the current camera.

This command takes no parameters.

profile combat

This profile shows you combat and AI information about the specified pawn.

This command requires a single parameter - the pawn ID. You can use the specific instance of the pawn (e.g. sfxpawn_trooper_1), self, or target, which is the currently highlighted enemy. After the pawn dies and is garbage collected, the profile will deactivate.

profile mpgame

This is the one I am the most familiar with. I use it extensively in my multiplayer modding. This command shows you the current wave information.

This profile takes no parameters. It only really does anything in the MP game modes. Note that the waves are indexed starting from 0, not 1.

profile weapon

This profile shows you the weapon information for the specified pawn. It is more detailed than the information provided by the combat profile.

This command requires a single parameter - the pawn ID. You can use the specific instance of the pawn (e.g. sfxpawn_trooper_1), self, or target, which is the currently highlighted enemy. After the pawn dies and is garbage collected, the profile will deactivate.

profile combatstats

This profile shows you the combat statistics for a pawn. Or at least, it should - mine never seems to display anything useful.

This command requires a single parameter - the pawn ID. You can use the specific instance of the pawn (e.g. sfxpawn_trooper_1), self, or target, which is the currently highlighted enemy. After the pawn dies and is garbage collected, the profile will deactivate.

profile difficulty

This profile shows you biodifficulty information for the specified pawn. If a pawn with biodifficulty information is not selected, it seems it can pull in the global information.

This command requires a single parameter - the pawn ID. You can use the specific instance of the pawn (e.g. sfxpawn_trooper_1), self, or target, which is the currently highlighted enemy. After the pawn dies and is garbage collected, the profile will deactivate.

profile angst

This profile is incorrectly described in the interface. This profile shows information about the specified pawn's current weapon and it's range.

This command requires a single parameter - the pawn ID. You can use the specific instance of the pawn (e.g. sfxpawn_trooper_1), self, or target, which is the currently highlighted enemy. After the pawn dies and is garbage collected, the profile will deactivate.

profile cooldown

This profile shows information about the specified pawn's current power cooldown. It probably did more in games where there was not a shared cooldown. It will draw a bar using asterisks in the center of the screen to create a fake cooldown bar.

This command requires a single parameter - the pawn ID. You can use the specific instance of the pawn (e.g. sfxpawn_trooper_1), self, or target, which is the currently highlighted enemy. After the pawn dies and is garbage collected, the profile will deactivate.

profile pawn

This profile shows information about the specified pawn.

This command requires a single parameter - the pawn ID. You can use the specific instance of the pawn (e.g. sfxpawn_trooper_1), self, or target, which is the currently highlighted enemy. After the pawn dies and is garbage collected, the profile will deactivate.

profile power

This profile shows information about the specified pawn's powercustomactions.

This command requires a single parameter - the pawn ID. You can use the specific instance of the pawn (e.g. sfxpawn_trooper_1), self, or target, which is the currently highlighted enemy. After the pawn dies and is garbage collected, the profile will deactivate.

profile tech

This profile shows information about the player's tech. This seems to be leftover from ME2 and I am fairly certain this does nothing in ME3.

This command requires a single parameter - self.

profile treasure

This profile shows you "treasure" you can get from a level. this includes things such as weapon pickups, armor, GAW assets, credits, XP, etc. It also shows you the acquisition status of some of them.

This profile takes no parameters. Using the debugtreasure all or debugtreasure local you can change what is displayed. I do not know how this list is populated.

profile locomotion

This profile shows you movement information for a specified pawn. It also draws a few things in 3D to help visualize the data.

This command requires a single parameter - the pawn ID. You can use the specific instance of the pawn (e.g. sfxpawn_trooper_1), self, or target, which is the currently highlighted enemy. After the pawn dies and is garbage collected, the profile will deactivate.

profile animtree

This profile shows you animation information for a specified pawn. This includes things like bones, animation completion percentages, and more. It also draws a few things in 3D to help visualize the data.

This command requires a single parameter - the pawn ID. You can use the specific instance of the pawn (e.g. sfxpawn_trooper_1), self, or target, which is the currently highlighted enemy. After the pawn dies and is garbage collected, the profile will deactivate.

profile ticket

This profile shows you the current ticketing for a pawn and its squad. I am not sure if this only applies to your squad as the drawn text seems to reflect that. Ticketing is used in how AI chooses targets, however I am not certain on how it is actually applied.

This command requires a single parameter - the pawn ID. You can use the specific instance of the pawn (e.g. sfxpawn_trooper_1), self, or target, which is the currently highlighted enemy. After the pawn dies and is garbage collected, the profile will deactivate.

profile vehicle

This profile doesn't do anything in ME3 as there are no vehicles.

profile henchmen

This profile shows you movement information for a specified pawn. It also draws a few things in 3D to help visualize the data.

This command requires a single parameter - the pawn ID. You use the ID of self here since you're the only pawn with real henchmen in the game.

profile settings

This profile shows you information about your game settings.

This profile takes no parameters.

profile effect

This profile shows you the current applied effects to a specified pawn. This includes things like power bonuses, weapon damage, health and shield bonuses, and the source of these effects as well as their values.

This command requires a single parameter - the pawn ID. You can use the specific instance of the pawn (e.g. sfxpawn_trooper_1), self, or target, which is the currently highlighted enemy. After the pawn dies and is garbage collected, the profile will deactivate.

profile scaleform

This profile shows you information about scaleform elements in the game. I never found any of the values updated beyond the currently active and focused SWF.

This profile takes no parameters.

profile savegame

This profile shows you information about the current savegame. This includes information about your powers, your own record, and your weapons.

This command requires a single parameter - the pawn ID. No matter what value you put in, it only looks at your local save, so just use self.

profile gawassets

profile focus

profile loadseekfreeasync

This profile shows you what current SeekFree objects are loaded. Seekfree objects are typically used more in MP and dynamically loaded SP things.

This profile takes no parameters.

profile placeable

This profile shows you the current information about a placeable object - these include things like Cerberus Generators, Cerberus Shields, Rachni eggs, etc.

This command requires a single parameter - the placeable ID. You can use the specific instance of the pawn (e.g. SFXPlaceable_Generator_1), or target, which is the currently highlighted placeable. After the placeable dies and is garbage collected, the profile will deactivate.

profile anim

This profile shows you the current animation information for a specified pawn.

This command requires a single parameter - the pawn ID. You can use the specific instance of the pawn (e.g. sfxpawn_trooper_1), self, or target, which is the currently highlighted enemy. After the pawn dies and is garbage collected, the profile will deactivate.

profile cover

This profile shows information about the specified pawn's current cover status. It is very useful for debugging cover issues when doing map editing. It tells a good deal about slotinfo, actions, and other information about coverlinks and coverslotmarkers. Combine with the show cover command to see a lot of information about the cover system.

This command requires a single parameter - the pawn ID. You can use the specific instance of the pawn (e.g. sfxpawn_trooper_1), self, or target, which is the currently highlighted enemy. After the pawn dies and is garbage collected, the profile will deactivate.

profile door

This profile shows information about the specified SFXDoor.

This command requires a single parameter - the door ID. You can use the specific instance of the pawn (e.g. SFXDoor_4), or target, which is the currently highlighted door. After the door is garbage collected, the profile will deactivate.

profile conversation

This profile shows information about nearby conversations as well as any current conversation cutscene.

This command requires no parameters.

profile conversationbug

This profile shows TLK strings about current nearby conversations.

This command requires no parameters.

profile gestures

This profile shows you the current gestures for a specified pawn. Gestures are the animations typically used in cutscenes.

This command requires a single parameter - the pawn ID. You can use the specific instance of the pawn (e.g. sfxpawn_trooper_1), self, or target, which is the currently highlighted enemy. After the pawn dies and is garbage collected, the profile will deactivate.

profile lookat

This profile shows you what the current lookat target for a specified pawn is. This is sometimes used in cutscenes to force the head and eyes of a pawn to look at specific targets, such as another pawn that is pacing.

This command requires a single parameter - the pawn ID. You can use the specific instance of the pawn (e.g. sfxpawn_trooper_1), self, or target, which is the currently highlighted enemy. After the pawn dies and is garbage collected, the profile will deactivate.

profile wwise

This profile shows prepared Wwise streams, however I can't figure out how it works.

This command doesn't appear to require any parameters.

profile animpreload

profile galaxy

This profile shows information about the Galaxy Map. When flying around in the Galaxy Map, hovering over selectable items and entering planetary view will display various information on the screen.

This command requires no parameters.