Pawn 'None' still spawns


Default Pawn set to ‘none’ spawns an object.


Project defaults are all set to None as well. It’s not a big issue for me, I will just override it with an empty custom pawn. Still it’s something that probably shouldn’t happen.

Its probably still running off the defaults in your project settings
Check that first

Hi Taisaku,

This is by design. What you are seeing is the default visualization mesh that is set in code. If you look in the DefaultPawn.cpp you will see where it is set and you change it there if you like.

MeshComponent = CreateOptionalDefaultSubobject<UStaticMeshComponent>(ADefaultPawn::MeshComponentName);
if (MeshComponent)
	MeshComponent->AlwaysLoadOnClient = true;
	MeshComponent->AlwaysLoadOnServer = true;
	MeshComponent->bOwnerNoSee = true;
	MeshComponent->bCastDynamicShadow = true;
	MeshComponent->bAffectDynamicIndirectLighting = false;
	MeshComponent->PrimaryComponentTick.TickGroup = TG_PrePhysics;
	MeshComponent->AttachParent = RootComponent;
	const float Scale = CollisionComponent->GetUnscaledSphereRadius() / 160.f; // @TODO: hardcoding known size of EngineMeshes.Sphere. Should use a unit sphere instead.
	MeshComponent->bGenerateOverlapEvents = false;
	MeshComponent->bCanEverAffectNavigation = false;

If you aren’t using the Source version of the engine, the best way around this is to do exactly what you mentioned above. Just override it with an empty custom pawn.



That’s fine if you want to spawn the default pawn, but if the setting is set to ‘none’ it shouldn’t even spawn the default pawn. I guess if that breaks some engine stuff then it can stay, just seems odd to spawn anything if you set it to none.