Blueprint to Spawn Blueprints?


I have got a nice working Blueprint which changes Stages when you are near it and Press a button. All working perfectly.
But I thought of using one Blueprint to add a Specific Amount (editable) of that Blueprint into the World at Random locations and random rotation etc.
I have seen a few tutorials and the Solus Presentation but they are always working only with Static Meshes and the “Add StaticMeshCompinent” function.
But I don’t want to randomly place static Meshes, I want to randomly place copys of my Blueprint in the World where every Blueprint does what It should do.
But there are all kinds of Add functions. Add lights, static meshes etc etc but not one function called Add Blueprint or add BlueprintComponent. Or Just anything where I could see ah, here I can add it. For me at the moment it seems impossible to add Multiple Copies of an Blueprint with the Help of a Blueprint with random loctions for each copy.

So I wonder if it is even possible to do or do I really have to add Blueprints all manually and can only make such “Procedural Content” with just StaticMeshes?


In the level script type in ‘spawn actor’ you can then pick a blueprint from that drop down.

That does work but I would prefere to just have an Blueprint who does that so I can move it around and havem multiple areas in the world where the Blueprints Spawn, because they would only spawn in an specific radius from the Blueprint I wanted to create. It could be done complicated over the Level Script, But I really would prefer having a blueprint for it which I can easily transfer to other Levels without having to to a lot of Level Blueprint work.

I don’t know if it will work, but try to add a function to your level blueprint to spawn those actors and then call it from the blueprint from which you want to spawn them.

This is an incredibly important feature so if anyone gets it working I’m sure there are many people who would benefit from your shared wisdom.

You have 2 options:

  • Use the ‘Spawn Actor From Class’ node in your EventGraph, probably triggered from a Begin Play event. You are not allowed to use this node in the ConstructionScript
  • Add a ChildActorComponent instead of StaticMeshComponent. This is a special type of component that spawns and owns another Actor of a specified class. You are allowed to spawn these in the CS.

Thanks for that Answer.

First I tried the second Option. It seem to work very well at first but I tried to create a Line Trace so the Blueprint would automaticly only appear on the surface but they went flying everywhere wich really seems quit odd to me.

After that I tried the first option and without changing anything from my previous atempt (only difference SpawnActor instead of ChildActorComponent) and then all Blueprints were allinged perfectly to the Surface underneath them. Although I would have prefered the construction Script Option because I always kinda want to see while editing how they will be spawnd, but I guess this has to do.

The behavior of things flying all over the place sounds quite odd. Maybe you could add a PrintString node to see what the Line Trace is hitting? Or use the Blueprint debugger?