BugItGo
BugItGo
#Overview
name: BugItGo
This variable is created as a Console Variable (cvar).
- type:
Exec
- help:
Sorry: Exec commands have no help
It is referenced in 4
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of BugItGo is to provide a debugging and testing functionality within Unreal Engine 5, allowing developers to quickly teleport the player character to a specific location and rotation in the game world.
This setting variable is primarily used in the Unreal Engine’s cheat manager system, which is part of the Engine module. It is referenced in both the Editor (UnrealEd) and Runtime components of the engine.
The value of this variable is not set directly, but rather it is a function that takes parameters for position (X, Y, Z) and rotation (Pitch, Yaw, Roll). It is typically called through the game’s cheat manager or via console commands.
BugItGo interacts with other debugging functions in the CheatManager class, such as BugIt and BugItStringCreator. These functions work together to provide a comprehensive debugging toolkit for developers.
Developers should be aware that:
- This function is intended for debugging and testing purposes only and should not be left accessible in production builds.
- It directly manipulates the player’s position and rotation, which may interfere with gameplay mechanics or trigger unexpected behavior if used carelessly.
Best practices when using this variable include:
- Use it only during development and testing phases.
- Ensure it’s properly secured or removed from release builds to prevent cheating in multiplayer games.
- Consider using it in conjunction with other debugging tools like screenshots (BugIt function) for more comprehensive bug reporting.
- When sharing bug reports or level design information, use the BugItStringCreator to generate consistent and easily reproducible location data.
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/EditorServer.cpp:5838
Scope: file
Source code excerpt:
return HandleBugItCommand(Str, Ar);
}
else if( FParse::Command(&Str,TEXT("BugItGo")) )
{
return HandleBugItGoCommand( Str, Ar );
}
else if ( FParse::Command(&Str,TEXT("TAGSOUNDS")) )
{
return HandleTagSoundsCommand( Str, Ar );
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Classes/GameFramework/CheatManager.h:309
Scope (from outer to inner):
file
class class UCheatManager : public UObject
Source code excerpt:
*/
UFUNCTION(exec)
ENGINE_API virtual void BugItGo(float X, float Y, float Z, float Pitch, float Yaw, float Roll);
/**
* This will move the player and set their rotation to the passed in values.
* We have this version of the BugIt family strings can be passed in from the game ?options easily
*/
ENGINE_API virtual void BugItGoString(const FString& TheLocation, const FString& TheRotation);
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Classes/GameFramework/CheatManager.h:326
Scope (from outer to inner):
file
class class UCheatManager : public UObject
Source code excerpt:
ENGINE_API virtual void BugIt(const FString& ScreenShotDescription = TEXT(""));
/** This will create a BugItGo string for us. Nice for calling form c++ where you just want the string and no Screenshots **/
UFUNCTION(exec)
ENGINE_API virtual void BugItStringCreator(FVector ViewLocation, FRotator ViewRotation, FString& GoString, FString& LocString);
/** This will force a flush of the output log to file*/
UFUNCTION(exec)
ENGINE_API virtual void FlushLog();
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/CheatManager.cpp:1050
Scope (from outer to inner):
file
function void UCheatManager::BugItGo
Source code excerpt:
}
void UCheatManager::BugItGo( float X, float Y, float Z, float Pitch, float Yaw, float Roll )
{
FVector TheLocation(X, Y, Z);
FRotator TheRotation(Pitch, Yaw, Roll);
BugItWorker( TheLocation, TheRotation );
}