Projectile collision not working until Root removed from Components


I just tried to add a simple sphere collision+sphere object+projectile movement projectile in the Top Down project template.

  1. Create New Blueprint Class based on Actor
  2. Add Sphere collision component. Set Collision Preset to “Ignore Only Pawn”.
  3. Add Sphere object component. Set Collision Presets to “No Collision”.
  4. Add Projectile Movement. Set Initial Speed, Max Speed, Checked “Should Bounce” attribute.
  5. Wire Event Hit in Event Graph to just a Print String “Hit!” (I need it to add an explosion on hit, so this is just to make sure this event gets generated).
  6. Spawn projectile when shooting.
    (I actually try to replicate the settings from the FPS Template).

Projectile is spawned and all but it just goes through every mesh like a ghost.
I had the “Default Root” component in my projectile. As soon as I made the Collision component root, it all started to work (bounces, hit event triggered, hurray!).

Now I spent an hour figuring it out (I know, I’m slow) only cause I remember there was something “fishy” with which component is root.
Can someone please explain why in this case it didn’t work as is (i.e. with this “Default Root” component I got when creating a new BP class)? In which case would I keep that “Default Root” in a BP?
Any references to some Unreal documentation would be great too!


You are actually wiring a hit event from the sphere collision right? just making sure

I had the same problem with my projectile blueprints, everyone who is having this problem, be sure your root component isn’t a Default Scene Root, otherwise your hit detection won’t work properly, For me, they’d only fire when I hit other actors, but not on static meshes.

year 2019. november. Its still dont working correct! I spent a day with this bug!