ActorSpawn Optimization

Looking to optimize the following:

In code, we spawn multiple copies of an Actor, based on a value X. (10 Actors for example)
The actor is a Blueprint of the base Player and we’re using:

LoadObject(TEXT(“Path/to/Blueprint”)

Could we further optimize this by spawning the actor once, then create the remaining copies derived from that actor, like store the actor in a template, and use this without having to revisit the Blueprint path in order to create a copy each time?

For anyone interested in this:

First declare a Member variable of the Object to Load for Example:
UObject ObjectToSpawn = nullptr;

On a “Initialize function” (for example BeginPlay) create a SoftObjectPtr:

TSoftObjectPtr SoftObjectPtr(FSoftObjectPath(TEXT(“PathToTheObject”)))
ObjectToSpawn = SoftObjectPtr.LoadSynchronous();

Then “SpawnActor<>” based on your Logic, the Actor is already Initialized.
Also this Spawns Multiple instances without having to revisit the Blueprint on every iteration.