Spawn actor without collision and enable collision after end overlap

Hello people! I am trying to create a Bomberman clone, for practice and learning purposes. Been able to port some nice mechanics from this classic game over to Unreal, however, the bomb placing is still kinda problematic.
The thing is, on original Bomberman games, the bomb is always placed underneath the player, which means he can be overlapping the bomb without being “pushed aside” by its collision. After moving out of the bomb, it blocks the player’s path, meaning that it now has collision enabled.

I am not being able to do this in Unreal as a whole. When I place the bomb, either I get it correctly placed clipping on the mannequin (but when I move out, it has no collision whatsoever) or it is “heavily” spawned, pushing the mannequin aside in order for them both to be able to exist without colliding.

I tried setting the End Overlap of the bomb to enable its collision, I tried working with the bomb mesh and a separate sphere collision volume, but none of it seem to work perfectly. Which takes me to the actual question:

What is the best blueprint approach to work with collision states of an Actor?

Hello, mcaetano15,

Instead of setting collision on and off, you can add or remove collision channels to your bomb, or update it’s characteristics (switch them between block, overlap or ignore).

The idea is that your bomb, for the channel where your pawn lives, should be overlapping first (collisions on but on overlap, not ignoring the pawn), and then update that channel to block. If you need, take advantage of the custom collision channels.

The node that you would be using for that end is the Set Collision Response to Channel, that will give you fine grained control on the collision response between bomb and pawn.

Also remember that in order for End Overlap to work you need to have a collision between your bomb and your pawn, but one that is set to overlap on that particular channel. After you end the overlap, you can then update that collision channel to block. But if you don’t have it set to overlap first, it won’t do anything (it’s not overlapping as far as the engine is concerned, so there is no event).

Hope it helps. All the best.