So I added a capsule collision to my throwable weapon bluprint, the throw works fine but I want my weapon to stop when hittin any surface, the bp code looks pretty simple to me but idk why this doesn’t work.
I’m new to unreal and this is my first time using collisions so sorry if the question is dumb.
These are the collisions for the capsule.
Hey there @BlueTitan99! You have the object set to Overlap all
but you’re looking for a hit
event. Hit events come from the physics portion of collisions so will only trigger on solid objects, overlaps are a bit different in that they can occur even overlapping something that isn’t solid/blocking.
You could instead use On Component Begin Overlap
in this case to alleviate your issue.
Alternatively if you want the collision to be physical and generate hit
events, you’ll want to make sure your collision has hit events on and is blocking at least the collision type you want it to hit.
Depending on your use case, both are valid.
I’m looking for a physical collision, I have hit events on and set to “BlockAllDynamic”, still passing through everything
One thing, unless your wanting the knife to only stop when hitting a certain character, you could remove the actor check, id start with removing that and see if it will stop when coming into contact with anything, the ground a wall, then investigate from there
Update: didn’t see the second post, if it is still not working, try moving the functionality over to actor hit, I’ve had issues with component hit before on projectiles before too. Never could figure it out so I just use actor hit
You may consider just running all of this on overlap anyway, on component hit will fire every tick when a moving object collided. Begin overlap just once, id think it to more optimal performance wise but I could be wrong. I use overlap for almost all my projectiles and the collision works great
Ok I moved to “On component Begin Overlap” and works great when hitting what is my enemy but still my blade go through the floor or any other static mesh
Set visibility to overlap, that should fix the floor, ensure that your environment/static meshes are on a channel that’s being overlapped
I’m working with a CubeGrig environment, also tried placing simple cube in the level, visibility set to overlap, still passing through things 
Can you show the collision settings of the cube? Or an element from your environment? Issues like this are often just some setting needs to be checked or unchecked. The more collision settings for objects and classes involve you can post the easier it will be to help. Also ensure collision primitive are setup appropriate for your environment models
Throwable Collision Capsule
The CubeGrid floor
The “enemy” (just a static mesh) (this stops my throwable)
Does the floor have a collision primitive setup? If you haven’t, in the top bar there where it says collision, add a simple box collision, and test with that. I noticed on the floor you have the collision set to “use complex a simple”, you can do that but it’s a little cpu heavy for just a floor, that’s going to track collision on everything polygon of the mesh. Id leave that as default, the current setting is best for convex/concave objects you want the player to have realistic collision with. Also, having the throwable on the dynamic channel, and set to overlapping dynamic, isn’t ideal in my opinion as it could overlap itself, but if it’s working with your enemy then I wouldn’t mess with it. I like to setup custom collision channels though for things like throwables, wouldn’t hurt to look into this for future use it can be really useful.
still not working, also tried with a landscape, my throwable still goes through.