How to ignore collisions for specific actor

Hi, I’ve got next problem, I’ve got actors of the same type (i.e. players), they can be in different teams. And I want to make blocking volume for players from different teams. Player actors has skeletal mesh and number of other components, they have the same object type in Collisions settings and in Physics they have “Simulate physics” checked.

I’ve been looking to MoveIgnoreActor method, but it doesn’t work for actors with physics simulation. Making two collision channels for different teams in not an option for me for some architecture reasons. So I’ll be glad to hear some ideas how can it be implemented.

By “Blocking volumes” I mean actor with skeletal or static mesh with blocking collisions for one team actors and ignores collisions for another team.

Hello mumreg,

If you’re planning on relying the collision of these blocking volumes but only want it to affect certain actors, you’re going to need to change whatever is stopping you from using separate collision channels as it’s the only way I can see of doing this, and it makes it very simple and efficient as well.

If you don’t want to rely on the collision, the only thing I could think of is literal frame-by-frame teleportation. This would involve storing the character’s position in the last frame, for every frame, and whenever they overlap one of these volumes that they’re supposed to be blocked by, have it teleport them back to the previous frame’s position. This would involve setting up booleans to track if it should be affecting them by their team affiliation as well and would overall be terribly unoptimized and would probably cause some disorienting gameplay if the person is running into the volume constantly.

I have a solution, it works fine with 4.21.1, but I don’t know if it works with other version.

Sulution