Check for Multiple ActorBeginOverlap gracefully?

I have a project where the player character will check if they’ve collided with other Actors in the scene to tell what gameplay opportunities they can access. The way the check works is using a sequence and then casting to every possible type I want them to be able to interact with.
I’ve created and while this all works fine, I’m sure this isn’t the best practices for tracking multiple overlap events at once and I’m wondering how I can make my Blueprint cleaner, more efficient and easier to maintain.

Basically, the player needs to know if they’ve overlapped a water Volume or a body Actor or a sewer Actor as these will check different flags in the code, but the code is messy and I’m not sure how I should be handling this better. Any suggestions?

Something tells me I should be looking into interfaces, but because this is communicating across several objects to set the flags of the player Blueprint, I’m just not really sure if that’s appropriate, and I’ve not yet really used interfaces enough to know their strengths in general, really.

Thanks in advance!

Well, you could create an interface (e.g. ReactingItem) and each of them (Wallet, Projectile, Body, Sewer) could implement the interface.
The interface could have a method called “overlapped” or whatever, and then each one of them could implement this method and do whatever is necessary.

This way, after “Event ActorBeginOverlap” you could cast to the interface “ReactingItem” and call the “overlapped” method.

Again, as always in programming, you have to weigh the pros and cons of an approach like this versus e.g. your approach and see if this makes sense for you.

Thank you!
That sounds like a good solution, and I can see how it would allow me to break up my collisions checks so the blueprint is cleaner. I guess I’m unclear on how to implement the interfaces across all the actors so as to call the appropriate function in my player actor, but I see the advantages. I’ll see if I can follow your logic, have a go and figure it out. Thank you! <3