It would be really nice, if we were able to choose any Pawn class as our spectator class. For example in my case I have a VRPawn class, that shares no similarity with ASpectatorPawn. I don't need a SphereComponent, I don't even need a PawnMovementComponent, but they are marked as required and thus I can't use DoNotCreateDefaultSubobject. And because the CollisionComponent pointer is a SphereComponent pointer, I can't even change the CollisionComponent to a BoxComponent.

So I would really like to see that any Pawn class can be set as SpectatorClass. Maybe I am overlooking something, that demands SpectatorClass to be a subclass of SpectatorPawn, but I don't really see how SpectatorPawn is required.

Sorry, that I am rambling a bit here, but I hope you get my point and have a nice day