I can't set the Default Pawn Class

In Project Settings -> Project -> Maps and Modes, I can’t set the Default Pawn Class to anything other than DefaultPawn. It is greyed out. Is there an edit button I need to click on somewhere?

Change it in your GameMode BP instead.

It is greyed out because you have a C++ Gamemode selected.
With C++ Classes you have to define your default classes inside the code, it is not editable inside the Editor.
Because you posted it here I assume you’ll do the logic in code, therefore you have to define the default class inside the constructor of your C++ GameMode:

    PrimaryActorTick.bCanEverTick = false;
    PrimaryActorTick.bStartWithTickEnabled = false;
    PrimaryActorTick.bAllowTickOnDedicatedServer = false;

    DefaultPawnClass = AYourCustomPawn::StaticClass();


If you do your logic with BP, just create a GameMode Blueprint and set it to your GameMode, thats editable inside the Editor.