Condition doesn't work!

Okay, so create a new actor blueprint, name it Respawner. It doesn’t contain any mesh, so it’s invisible in the level. Create two arrays in it, float and vector — name them Times and Locations respectively — and a float variable called Delay. Here’s the Respawner blueprint:

Box Destroyed is a custom event you create yourself — right click anywhere in the graph and type “custom event”, you’ll find it right there. In its details add one input by clicking a small +. Name it Location.

265469-respawner.png

Everything else in this BP should be quite clear.

Going to the Box BP. On Begin Play find your Respawner (don’t forget to place it into the level!) and promote it to a variable. Everything else should be clear to you.

It’s a bit better because it doesn’t use a delay node that can be called only once at a time and won’t work for multiple boxes at the same time, and you can create any number of boxes and it will work for all. Note that if you have a large number of boxes it may adversely impact your performance, because using ForEach with tick is not always a good idea. By the way, you can set the Respawner Tick Interval to something like 0.1, I think that will be more than enough.

Don’t hesitate to ask further questions if you need.