So I created a second blueprint, almost everything is the same, but with slight difference: Root Component is not a Static Mesh Component, but a DefaultSceneRoot
Everything else is exactly the same.
The expected results are never achieved:
New BP doesn’t register hits with not moving objects.
It doesn’t register hits with statically located geometry on level (flight through it)
It pushes a player and never triggers a hit event if player is standing still player.
The only case it register hits is the Player is moving towards a bullet.
The only good thing is that a bullet now properly oriented as I rotated a static mesh as it has transformation now.
Can someone tell me what is the root cause of such unexpected behavior?
Why it never registers hits when anything but a static mesh is root component?
Why it only register hits with moving objects and not statics?
I made a new version, from scratch.
Used SphereCollision as a root, and a StaticMesh on top of it, and it finally started working.
I don’t know why my old blueprints weren’t working this way, but now I’m happy.
Thank you.
P.S. I tried to use ProjectileMovementComponent.SetUpdatedComponent(StaticMeshComponent) but it didn’t worked for either, when it’s inside components hierarchy and is not a root component.