Reparenting Projectile Blueprint breaks collision

Hi,

I have recently come across a possible bug which I have been able to replicate in a blank project.

First a create a custom collision channel “CollisionX” and set it to block all by default.

I then make a class which extends actor, called ProjectileY. I create a static mesh component and assign the custom collision channel and also create a projectile component.

When I spawn ProjectileY and it collides with something it prints a string on hit - it works.

I then make a new class called “ProjectileBase” which extends Actor, add an int variable to it. Then reparent ProjectileY from actor to ProjectileBase.

Collisions and on hit events no longer trigger.

Is this a bug or a design feature of the engine?

Thanks

Actually I am hitting the same problem. Wanted a more general projectile class to add variables to and now my old projectile(now re-parented) will no longer collide.

Figured out what this issue was. When you are reparenting the new ‘actor’ will have a default scene root. this screws up your collisions. I took my collision component on my original projectile and made that inherited so it could replace the default scene root. This fixed everything

!

212899-capture1.png

212900-capture.png

Haha wow this was a long time ago. My project still has the same issue, basically projectile components will only allow the ROOT collision to return valid hit information. Make sure that you have a collision as root component. I use a sphere collision and then edit its parameters for different projectiles.

Let me know if that helps!

Lol thanks man. Glad to know your still working on it. That was my solution too. Happy coding