Bug? Trigger volume causes trace hit with no collision flags

I’ve added a trigger volume to the scene. I set its collision to “custom” and turned every check box to ignore. I also unchecked “generate overlap events” and yet when I use a capsule sweep for objects check, the capsule collides against the trigger volume.

So my question is, is this a bug, or is there a way to actually get a trigger volume that allows overlap with a character capsule, but without blocking capsule traces? None of the preset settings seem to work.

I’ve read the documentation on collisions, but it seems the “ignore” setting isn’t actually being used somehow in this case.

Interestingly enough I just changed the collision to “pawn” from “custom” and it worked as intended (player got overlaps and the capsule sweep was ignored). So I had a quick look over some settings and it seems like having “world static” in the object type was causing issues. I switched that to pawn and the same settings worked.

But surely the docs say that object type is the type of the object itself, which I’d have thought in a triggervolume would be world static?

Curious.

Just occurred to me that the reason it works is that setting “pawn” on the preset basically makes the trace ignore it because its not “world static” or “world dynamic” anymore. But pawn is completely wrong for a trigger volume. Hmm.

Hey zoombapup,

I have been unable to reproduce the issue you’re describing. I created a trigger volume and set up a Multi Capsule Trace by Channel off my character, and set a print string to return when a collision was detected. With the collision on the Trigger Volume set to the default Trigger settings, my trace did not return a hit. Would you mind showing me a picture of your blueprint for your capsule sweep? I’m wondering if there’s something in there that is causing a hit detection. Thanks!

Ben Halliday

Hey Ben,

Try the “single capsule trace by object” instead. Thats the one I’m using.

The problem is in the collision properties trigger volumes have an object type set to world dynamic by default. Which doesn’t really make a lot of sense. For gameplay purposes we might want to check for collision with objects that are set to world dynamic and this will hit the trigger volume. Of course we can avoid this problem by using the custom collision channels, but a different default might make more sense as I don’t see many beginners starting out by defining their own collision channels. :slight_smile:

I should note that my “single capsule trace by object” has the “world static” and “world dynamic” types in its array. So it makes sense that the trigger volume is returned. Perhaps a “trigger” type would make more sense, as I see it as a static volume, but don’t want it returned by “world static” as thats what I use for world geometry.

Yeah, as I mentioned, I use worldstatic and world dynamic. Which is why its being returned by the trigger. But there’s no particular reason I was using trace by object other than I didn’t see there’d be a problem with that. As it is, I guess its not really a bug in terms of functionality, but it does seem a bit unclear. Especially since I’d switched all the checkboxes to “ignore”, so I had kind of expected that ignore setting to work, when in fact its a object match check thats causing the test to pass.

Thanks Ben! :slight_smile:

I would need to see what you’re putting in your array of Object Types. As Didek mentions below, you may just need to exclude the Object Type the Trigger Volume uses from that array. Using Trace by Channel can be set to only Trace by Visibility, which would explain why it works for my setup. Is there a particular reason you’re using Trace by Object?

In that case, creating a custom Object Channel (Project Settings > Collision) and assigning it to your Trigger Volumes is probably your best option.

There’s certainly nothing wrong with using Trace by Object, I was just curious. Trace by Channel is generally simpler because you don’t need to mess with arrays, but that’s just my personal preference.

I will follow up with the developers and see if there’s any particular reason Trigger Volumes are set as World Dynamic by default, and if not then I will enter a feature request to change that. Thanks for the feedback!

For what its worth, Didek, I’m a beginner, and I wanted to make a trigger to open the sliding door for the youtube tutorial. However, I noticed that, even though the trigger was invisible, and I could walk through it, physics objects, like the ball gun, would still collide with the trigger. After fiddling with the collision settings, to no avail, and even trying the pawn trick that I saw in this thread, I still couldn’t get the trigger to stop colliding with the bouncy bullets.

my solution: I just made the trigger 2 inches tall, and as wide and long as it needed to be, for my door to open. If I cant fix the program, I can just minimize the problem now, and get back to it later, haha. That custom object channel stuff was a bit too advanced for what I was trying to do.