Child BPs of same Parent BP cannot detect overlap of each other

I’m an amateur at UE4 and am pretty sure I’m just going about this all wrong, so bear with me, Ill explain the best I can.

So I’m working on a candle and torch lighting system for VR. Currently I can take an unlit torch and light it on a lit candle or vice versa. That all works fine. The problem occurs now when I’m trying make it so a lit torch can light another unlit torch or a candle can light another candle.

So I have 2 blueprints. BP_Torch_Master and BP_Candle_Master. Each simply have a static mesh, sphere collision, and a particle component. All the logic is mainly in the candle. In the scene I’m using child blueprints of each of those.
Now I’m using OnComponentBeginOverlap for the collision spheres to determine when the torch sphere overlaps the candle sphere. Simply checks to see if it is currently lit and if one is, it lights the other.

So in this pic you can see, the beginning logic all works correctly. Once I hit the cast failed (or False off the branch in front of it, if it matters) I cant figure out what to do.

The torch is much cleaner and easier to see what the issue is. Here when something overlaps the torch sphere i check to see if its another torch sphere and it will never return back true.

I forget what I did exactly to get it to return true, I had something incorrect going that made it return true but it returned true even if it was not a torch i was overlapping. Even then, when it did return true and I set it up, it would not light the torch.

Also I do realize I could probably super simplify it and make both the torch and candle based off the same parent blueprint, being they are going to have the same logic. But without being able to do what I’m trying to do now that is out of the question.

Just adding a video I had made for someone else who wanted to know the logic I had so far. This may help get a better understanding of the issue I’m having.
Thanks in advance! -Mayor

1 Like

Alright, after working on some other projects and coming back to this, I’ve managed to figure it out.

What I needed to do was on the ComponentBeginOverlap, GetAllActorsOfClass for my torch BP and then check to see if the overlapping actor was one from the GetAllActorsOfClass AND if the overlapped component was overlapping. The key here was to save that array element in a Variable of the bp torch ref, then I could pull all of the normal BP Torch variables from that specific variable reference so when asking the question of isTorchLit, I can now ask specifically about the “Other” torch and not just the one im holding. Sorry if thats confusing -_-

Pics to clear it up

and a quick in detail video