Is there any way to make SpawnPoint object to properly spawn Actor with components defined in C++ with predefined Template?

Hello,

I’m trying to make spawn point object where I can declare class of object (used for spawning) and also assign new parameters for this object (to avoid making a lot of specific blueprints with actors). In my considerations it was the best to spawn such an object in editor after choosing specific class, and assign parameters on spawned object. Then this object would be a Template for spawning new Actors in game from specific place.

Unfortunately there is a problem with components. If they are declared as pointers in C++, they are initialized once again in SpawnActor function (as it should be) but their properties are copied from Default Object of a class. And this behavior made object not copied properly. Maybe the reason of that is that Template object is not an archetype object. But when I’m trying to spawn object with RF_ArchetypeObject flag in editor it’s impossible because spawning also make register operation for components who are not supposed to have “template” parent.

All operations are made in C++ code. Components which were declared in Blueprint using “Add new component” function are not problematic. They are copied properly with all parameters. Do anyone know what can I do from code to properly copy components which were declared in C++?

Thanks,
PiotrD