How do I spawn an AActor from c++?

I followed the instructions on the wiki, but I cannot get my code to compile. I am trying to spawn an AActor from a ACharacter derived class. Here is my code

void APlayerCharacter::DropFlag(bool Destroy)
{
	IsHoldingFlag = false;
	FlagComponent->SetVisibility(false);
	if (!Destroy)
	{
		static ConstructorHelpers::FObjectFinder<UBlueprint> FlagClass(TEXT("Blueprint'/Game/BP/Entities/BP_Flag.BP_Flag'"));
		if (FlagClass.Object)
		{
			FlagClassBP = (UClass*)FlagClass.Object->GeneratedClass;
		}
		FVector FlagLocation = GetActorLocation();

		GetWorld()->SpawnActor
			(
				FlagClassBP,
				FName("BP_Flag"),
				FlagLocation,
				FRotator(0, 0, 0),
				FlagTemplate,
				true,
				false,
				GetLevel(),
				this,
				true,
				GetLevel(),
				true);
	}
	
}

Here is the error:
Error C2661 ‘UWorld::SpawnActor’: no overloaded function takes 12 arguments CaptureTheFlag

But the wiki says it does have 12 arguments.

Just in case you didn’t: You need to state what actor type your spawner is
Look at my example:
** You need to include the Flagclass header in the cpp or header fileto the character class in order for this current class to know what flag is

//what do you need the flag spawned from? a socket? the actor? componet?

UWorld* const World = GetWorld();


FVector loc = GetActorLocation(MyActorComponent); 

FRotator rot = GetActorRotation(MyActorComponent);


AFlagActor *SpawnFlag = World->SpawnActor(FlagClassBP, loc, rot);

it’s a lot more simple :slight_smile:

You can also make the flag a part of the character as a component if you needed but there’s a little more to that