Hello,
I’ve been losing my mind to this one so I’m hoping someone can help. Collisions on a particular actor in my game have stopped working and I can’t find out why.
I’m making a submarine game and the actor in question is a submarine NPC’s hull. Its class is a pawn, and it has the same parent as the Player’s Hull. The Player’s Hull works fine, it collides with projectiles, but the NPCs doesnt collide with the Player or the projectiles.
The only difference between the two that I can see is in the Collision Presets. Player Hull is of type “Player” and is set to Block the “Submarine” Object channel, while the NPC Hull is of type “Submarine” and set to Block the “Player” Object channel.
Other than that, both have Physics enabled, both Generate Hit and Overlap Events, both have Custom Collision Presets and Collision Enabled (Query and Physics). And they are using the same static mesh, which does have collisions. Collisions show up when I use the Show Collision console command.
Yet when I drive the player into the NPC, it just passes through it.
The “Player” and “Submarine” Object Channels are custom channels, but I checked the Project Settings and both are setup to Block by default. BUT I have noticed that when I change the NPC Hull’s object channel to anything that is not custom (vehicle, Physics Body, World Dynamic), the collision happens as expected. So perhaps there is something there but I don’t know what it is.
Sorry for the long post, and thanks in advance for the help.
EDIT: adding the screenshots here to make it more readable.
Player:
NPC:
Collisions debug:
Uploading this I’m noticing only the simple collisions show up but I’m not sure what difference it makes. The mesh definitely has both.