// The bs.* console commands. Every one marks the session as cheated through the telemetry subsystem, so a // playtest file that had a cheat in it can be filtered out later. Each step adds its own commands here. #include "Core/TelemetrySubsystem.h" #include "Engine/GameInstance.h" #include "Engine/World.h" #include "HAL/IConsoleManager.h" namespace { UTelemetrySubsystem* TelemetryFor(UWorld* World) { const UGameInstance* GameInstance = World ? World->GetGameInstance() : nullptr; return GameInstance ? GameInstance->GetSubsystem() : nullptr; } // bs.TelemetryTest: proves the seam end to end from the console. Emits cheat_used and taints the session. FAutoConsoleCommandWithWorld CmdTelemetryTest( TEXT("bs.TelemetryTest"), TEXT("Emits a cheat_used telemetry event and marks the session as cheated."), FConsoleCommandWithWorldDelegate::CreateLambda([](UWorld* World) { if (UTelemetrySubsystem* Telemetry = TelemetryFor(World)) { Telemetry->MarkCheatUsed(TEXT("bs.TelemetryTest")); } })); }