# Cheat manager is working in shipping build

**URL:** <https://forums.unrealengine.com/t/cheat-manager-is-working-in-shipping-build/479255>\
**Category:** Platform & Builds\
**Tags:** bug, build, unreal-engine, Shipping, shipping-build, question\
**Created:** [February 23, 2021, 6:19am UTC](https://forums.unrealengine.com/t/cheat-manager-is-working-in-shipping-build/479255 "2021-02-23T06:19:25Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![DomusLudus](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/domusludus/32/1215140_2.png) [@DomusLudus](https://forums.unrealengine.com/u/DomusLudus)\
**Post date:** [February 23, 2021, 6:19am UTC](https://forums.unrealengine.com/t/cheat-manager-is-working-in-shipping-build/479255/1 "2021-02-23T06:19:25Z")

</div>

According to the documentation the cheat manager does not work in shipping build.  
But are it doing it, have I missed a hidden checkbox?

---

<div class="post-metadata">

**Author:** ![Flassari](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Flassari](https://forums.unrealengine.com/u/Flassari)\
**Post date:** [February 23, 2021, 8:51pm UTC](https://forums.unrealengine.com/t/cheat-manager-is-working-in-shipping-build/479255/2 "2021-02-23T20:51:12Z")

</div>

Nope, that’s how it acts by default. The code comments were recently updated to reflect that but I guess the documentation is still wrong.

Check **APlayerController::EnableCheats** , **APlayerController::AddCheats** and **AGameModeBase::AllowCheats** , you’ll see that in **SHIPPING** builds cheats are only enabled on the server while in non-SHIPPING builds and in the editor they’re allowed for everyone.

To fix this, override **AGameModeBase::AllowCheats** in your game’s GameMode class:

**.h**

```
virtual bool AllowCheats(APlayerController* P) override;

```

**.cpp**

```
bool AYourGameGameMode::AllowCheats(APlayerController* P)
{
#if UE_BUILD_SHIPPING
	return false;
#else
	return Super::AllowCheats(P);
#endif
}
```

---

<div class="post-metadata">

**Author:** ![DomusLudus](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/domusludus/32/1215140_2.png) [@DomusLudus](https://forums.unrealengine.com/u/DomusLudus)\
**Post date:** [February 24, 2021, 12:45pm UTC](https://forums.unrealengine.com/t/cheat-manager-is-working-in-shipping-build/479255/3 "2021-02-24T12:45:08Z")

</div>

Thanks!!

---

<div class="post-metadata">

**Author:** ![Ari\_Epic](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/ari_epic/32/956630_2.png) [@Ari\_Epic](https://forums.unrealengine.com/u/Ari_Epic)\
**Post date:** [July 21, 2022, 9:49am UTC](https://forums.unrealengine.com/t/cheat-manager-is-working-in-shipping-build/479255/4 "2022-07-21T09:49:00Z")

</div>

This has been fixed in UE5 and that override is no longer necessary.
