Download

Trouble with blueprints not running on Spawned Actors (via BP)

// Edit: SOLVED! //

Hello,

I am using spawn actor by class on about 100 objects on a grid @ runtime (begin play specifically), The objects themselves have BP’s that trace in Z, on terrain hit transform actor world offset to make sure they fit the terrain. pretty basic stuff.

Problem is, doesn’t matter if I put the code on the SPAWNED actor in the construction script, event graph via begin play, event tick, store the spawned actors on the SPAWNER in an array and run and run a custom event on the SPAWNED in a forEach - nothing will run the code on these objects.

Is this a known issue / bug?

Could be a lot of things, since I don’t know what kind of event you are trying to run inside the spawned actors.

  • Check if the array is not empty;
  • If it’s multiplayer, open the spawned actor BP class and check “Replicates”;
  • Use prints/debug to guarantee you’ve entered the function;
  • Try adding a delay node before triggering the event, maybe could be sync problem… Idk, what kind of action/event you want your actors to do?

Hey Gbr

Array is filling up just fine with all actor references
Not multiplayer
Print does not fire off begin play, none of the functions even begin
Delay node tried, didnt work. Put the delay up to 3 seconds no go.

The actor does a few things, mainly a couple of traces to define the area around the object to define whether or not it is fit for cover. This is part of my cover system that runs at the beginning of a new map, checking the terrain topology to define walls/ cover points etc.
Though I have unplugged all that and simply have a print ‘hello’ which is not firing. Whether it be from a custom event, event play - even event tick. Its as if the actor spawned but was not ‘initialised’, I have seen via google a EventActorSpawned (or something like that) which is not accessible via BP…

Well, that’s odd.

If you place that actor inside the level and Play in Editor, it does print?

I seem to have fixed it :slight_smile:

The spawned actor was running a ‘get all actors of class’ on each one - which screwed it up. So I cast to all actors of class, saved the result in a variable on the parent, and cast it to an array on the spawned. So it seems to work fine :slight_smile: Thanks for replying