Actor Tag returns false

I am trying to create a fire propagation system where fire spreads when sphere collision touchs another. To do this I am using Get Overlapping Actors to check and see if Actor Has Flammable tag. If it does, we set cast to that blueprint and set it on fire. I already added Flammable tag to the actor (not component) but it is still showing up that the actor does not have any tag.

This was working in 4.23 but seems that it to stopped working when upgraded to 4.25. Is there something that I am doing wrong?

Appreciate any help here

I -think- you put the tag in the wrong place. If you scroll down a bit further there is a specific ‘actor tag’ section…

This is an actor that has been placed in the Persistent Level, right? Are you sure all of of them have this tag?

The entities in the level have a life of their own, so to speak. Even if you go to the Content Browser, open the blueprint for this actor, give it a tag and compile, the actors in the Level will not reflect that. They will keep their tags or no tags if they had none when they were dragged into the scene. You will need to instance them again for the updated tags to appear.


Another thing that would produce false results is the actual collision. Perhaps the overlaps are being ignored. Print the length of that array and compare visually what you’re supposed to be overlapping with. Does it add up?

@SpaceCat86: Consider turning the comment into an answer. Did not know this setting existed. I’ve been solving similar issues by brute-force checking for overlaps.

For folks who are into walls of text:

Thank you for replying. I checked and confirmed that the tag was set to actor not component. It turns out that the way I was using the overlap events isn’t the right way of using it. The overlap event is generally sent when an actor intrudes another actor’s space but in my case. The actors are already there. So to ‘force’ this way to use, I have to change the Update Overlaps Method from Use config default to always update.

309422-2020-08-06-12-40-50-draven-daveyouk-discord.png

Oh, that’s where it is!

It was changed, I believe, in 4.24. Before that, the begin overlap event would fire by default whenever an actor was already within the trigger volume on begin play.

Thanks for the heads-up!

A friend recommended using another method that is more efficient. see the link

Not sure if that’s really efficient. I’ve been using just an overlap for something this - it has always worked like a charm. In a scenario where a ball is already overlapping the tiles when the game starts:

309425-annotation-2020-08-06-222147.jpg

You check for overlaps when the game starts.

This way you do not need GetAll or check distances. A simple component (that can be spawned dynamically and discarded) is all that’s needed.

As per usual, many solutions exist. Good luck with the rest!

1 Like