Make character cause overlap event with a noncollision actor

I wish to have my character be able to go through this actor and still cause interaction.
Any events are fine but I mostly need this character be able to firstly, go through this actor and secondly, start an event as in these “On component begin overlap”

Heres my character collision checks
image

Heres the actors collision checks

whats the problem?

should work fine, just set the collision trigger actor to Overlap the pawn channel

image
Are you referring to this?

yeah. if that is checked and collision is enabled and you are generating overlaps (looks liek you clicked that), it should generate and overlap event. You didn’t say exactly what the problem is though

I took a short clip of what im currently doing, I still have the thing checked but it doesnt work, whats supposed is: when overlapped, print hello, and for obvious preference; remove the balls on the floor but it doesnt do that

We should see the code and also expand the collision presets for the actor as well.


image

heres for the apple

I dont see anything jumping out, so next step I’d take is try to whittle down to locate the problem.

It could either be a problem with the cube, or with the sphere. To figure out which one, try putting in just a default shape and make sure its set to overlap pawn.

If cube can overlap with that then you know there is a problem with the sphere. If no overlap, then we know there is a problem with the cube so can focus on that.

You can also press ~ while in PIE and type “show collision” and that will show wireframe of all collision objects. Just to double check.

In the image you wont get the print string from On Hit because Hit happens when two actors block eachother, but you don’t have any blocks enabled.

Okay so, I tried what you told me. As I was testing, I decided to try the “event actorbeginoverlap” event and it sure did work, I can see who is overlapping with the cube and so on,
Unsure why this is the reason but it did work so thats all it matters, if you have answers on that then that would be nice but thanks either way!

well that means that some other component of the actor is triggering overlap, but not this specific component (whichever component is named “cube”)

I’m guessing the “cube” component is the static mesh, but you might also have some collider as well?

Yes, I think youre talking about this “Capsule component (CollisionCylinder)” as all characters have -I assume- since I cannot remove nor “play” with it

that makes sense, if the cube is derived from Character it will have the capsule, which is usually larger than the static mesh. It will overlap and cause the actor overlap event to fire.

The cube should still fire it’s own overlap if its setup correctly though

actually if the static mesh doesn’t have any collision setup that would explain why it never fires.

you can double click that static mesh to go to its file details and check if it has collision there. You could set it to “Use complex as simple” for a quick test.

I just mention this for completeness if you have similar issues in future.

Where can i find this option to put it as “Use complex as simple”

From a youtube video I saw, it should be on “collision complexity” but could be that UE5 changed it to somewhere else, might know where I can find it?
image

In the static mesh details panel:

You can set that per instance in the level, or as the default for the static mesh asset.

Alrighty, How do i… open the static mesh details panel? ive been looking all over it and cant find it

a few ways:

if you have a static mesh in the level, select it and press CTRL+E to open it’s asset details window.

Press CTRL+B to open it in the content browser then double click to open

Search for it by name with Open Asset (I think default hotkey for it is CTRL + P)

Should open a window that looks like this:

If the Details panel is missing, go to Window → Details.

This is the closest thing I can see when following your steps, i dont know if this is correct but I still dont see a collision complexity

You are looking at the static mesh component instance there, but to get to the static mesh asset you have to double click the cube icon that has been set in the Static Mesh input. That’s where you can set the collision for the asset globally.

When you drag a blueprint actor into the level, you create an instance of that class. The blueprint defines what the class is and does, and any instance editable parameters you setup in the class can be changed for each instance in the level.

For instance if you make a string in your character class, make it instance editable, then each character you drag into the level can have its own value in that string. Could be Bob, Sarah, Mike, etc.

Same thing is the case with the static mesh component. It’s a type of class and you have attached an instance of that class to your actor. The main parameter for static mesh component is reference to a static mesh asset - in this case the cube.

The static mesh component will define if collision is enabled, what sort of channels the collision can interact with, etc. But what the actual shape the collision is - whether it is simplified shape, or the actual mesh (complex), is defined in the static mesh asset.

If no collision has been created for the asset then it doesn’t matter what the static mesh component is saying collision should do - there just isn’t any collision to have the settings applied to.