Access violution

Hello, I try assort Shooter Sample Source code. I try create own shooter from blank project, but I can not attach weapon to character. Whet I click play, i get Acces violution error (Access violation reading location 0x0000000000000000)

In Character class i made property with weapons:

UPROPERTY (EditDefaultsOnly, Category=Inventory) TArray<TSubclassOf<class AWeapon> > DefaultInventoryClasses;

And in PostInitializeComponents I spawn default weapons:

void AFPSCharacter::SpawnDefaultInventory() {
	int32 NumWeaponClasses = DefaultInventoryClasses.Num();	
	for (int32 i = 0; i < NumWeaponClasses; i++) {
		if (!DefaultInventoryClasses[i]) continue;
		
		FActorSpawnParameters SpawnInfo;
		SpawnInfo.bNoCollisionFail = true;
		AWeapon* NewWeapon = GetWorld()->SpawnActor<AWeapon>(DefaultInventoryClasses[i], SpawnInfo);
		AddWeapon(NewWeapon);
	}

	// equip first weapon in inventory
	if (Inventory.Num() > 0) {
		EquipWeapon(Inventory[0]);
	}
}

AddWeapon

void AFPSCharacter::AddWeapon (class AWeapon* Weapon) {
	Inventory.AddUnique (Weapon);
}

EquipWeapon

void AFPSCharacter::EquipWeapon (class AWeapon* Weapon) {
	Weapon->SetOwningPawn(this);
	Weapon->OnEquip();
}

SetOwningPawn

void AWeapon::SetOwningPawn (AFPSCharacter* NewOwner) {
	if (MyPawn != NewOwner) {
		MyPawn = NewOwner;
		SetOwner (NewOwner);
	}
}

OnEquip

void AWeapon::OnEquip() {
	AttachMeshToPawn();
}

AttachMeshToPawn

void AWeapon::AttachMeshToPawn() {
	if (!MyPawn) return;
	DetachMeshFromPawn();

	FName AttachPoint = MyPawn->GetWeaponAttachPoint();

	USkeletalMeshComponent* UseWeaponMesh = GetWeaponMesh();
	USkeletalMeshComponent* UsePawnMesh = MyPawn->GetSpecifcPawnMesh();

	Mesh1P->SetHiddenInGame (false);
	Mesh1P->AttachTo (UsePawnMesh, AttachPoint);
}

DetachMeshFromPawn

void AWeapon::DetachMeshFromPawn() {
	Mesh1P->DetachFromParent();
	Mesh1P->SetHiddenInGame(true);
}

hm… for some reason Mesh1P return 0! although I created it:

AWeapon::AWeapon (const class FPostConstructInitializeProperties& PCIP) : Super(PCIP) {
	Mesh1P = PCIP.CreateDefaultSubobject<USkeletalMeshComponent>(this, TEXT("WeaponMesh1P"));
	Mesh1P->CastShadow = false;
	Mesh1P->bCastDynamicShadow = false;
	RootComponent = Mesh1P;
}

Very strange, i just delete and then again create weapon blueprint, and all earned :confused: