How do I detect actor collision with level

I have created a custom actor BP and I have a custom move function set up that changes its transform each tick. There is an event for actor collision, but it doesn’t fire when colliding with anything else…such as static meshes or walls or BSP brushes. Is there any way to achieve this?

I tried the On Hit event but it never fired either.

Have you specifically set the collision volume for each mesh asset you want to collide? Open the asset, make collision box visible, then select the collision type from the menu.

If you have the volumes setup then ensure all the check boxes are checked in the asset, in the node the spawns the mesh, etc, etc.

For static meshes I make sure the collisions are set up in the static mesh editor and for BSP I have tried converting it to a volume but it still doesn’t trigger on actor overlap event and I don’t know of another event to use. I have also tried all combinations of the collision settings to see if any of them help. To no avail.

The only thing that I have found to work is to create a new ACTOR blueprint and place the wall as a component in the blueprint and then put that new actor blueprint in the level.

To be clear, you aren’t just checking boxes in the mesh editor but also getting the green collision box to appear around your mesh in the viewer?

Are you actually colliding or just going through the walls? If you are colliding there may be a check box somewhere to call collision events in addition to actually colliding.

I get the green collision box to appear in the static mesh editor, but not in the actual editor viewport (this may just be a setting i’m missing though) AND THEN I messed with the check boxes.

My character pawn collides with the walls, but the actor I am spawning will not collide with it or generate on actor overlap events

Some functions that spawn actors have settings in their details panel that also set collision for whatever it is they are spawning. Have you set those?

I am using the blueprint spawn actor from class function and i am enabling collision as soon as its spawned. As I said earlier, it successfully collides with other actor blueprints. But not static mesh blueprints or BSPs like my player pawn does

Have you tried deleting the actor and creating a new one from scratch?

yes i have

Sorry for the late response, but I was having the same problem. It is a super simple fix, simply make sure everything has “Generate Overlap Events” checked (OnOverlap) or “Simulation Generates Hit Events” (OnHit). Just go in and select all the meshes you want selected, then go down to the Collision Section, and check which ever one you would like. Again Sorry I couldnt have helped earlier, but if you have fixed it, then maybe this will help others.

Actually I had these setting set, the solution to my issue which I figured out after hours of toiling with the program, is that when creating new custom BP with custom meshes you have to save the mesh and then go into the mesh properties and generate collision for the mesh. The engine doesn’t do this automatically.

Oh, haha, well, glad you figured it out

It may not have solved it for op, but this was the solution for me. Cheers, mate! Upvoted. :wink: