Modify actor before spawning

I am trying to Spawn an actor that has a satic mesh, I want to trasnfer a boolean before it the constructor is called to set the static mesh to a cube or a sphere. I do not know how to cope with this problem,

I have tried using SpawnActorDeferred and BeginDeferredActorSpawnFromClass, but they call the contructor before I can modify any value. I there something that I forgot?
I have tried these things:

Layers[i].neurons.Add(Cast<AC_Neuron>(UGameplayStatics::BeginDeferredActorSpawnFromClass(this,NeuronClass, FTransform::Identity)));
/Layers[i].neurons[k]->FinishSpawning(FTransform(FRotator::ZeroRotator, end));

Layers[i].neurons.Add(GetWorld()->SpawnActorDeferred<AC_Neuron>(NeuronClass, FTransform::Identity, nullptr, nullptr, ESpawnActorCollisionHandlingMethod::AlwaysSpawn));
UGameplayStatics::FinishSpawningActor(Layers[i].neurons[k], (FTransform(FRotator::ZeroRotator, end)));

Thank you

Constructor will always be called first, there isn’t a way to get around that. Instead you will want to add in some step between BeginDeferredActorSpawnFromClass and FinishSpawningActor that handles this logic for you. Perhaps some Init(bool) function that then handles adding the sphere or cube.

Ok, thank you. I just want to be sure of that because there are similar questions that were wrongly answered.