Socket World Location doesn’t (and does) match where the bone is

We have a bone location for the muzzle of a gun on a mesh. When we want to spawn a projectile from the location of that bone, it spawns the projectile offset to the side. We tried to troubleshoot by adding a sphere to the character that has it s location set to the bone location. This works correctly. Using this same location when we spawn the projectile, it spawns it offset to the side. It seems to be both correct and incorrect at the same time.

What are the chances that projectile actor’s collision handling wiggles a wee bit in order to find a valid location?

Assuming there is no accidental offset in the projectile itself.

I don’t think it’s anything, when we draw debug sphere on the location, it shows the wrong location.

Is the projectile setup correctly?

Does the projectile mesh maybe have a pivot point that is not in the center causing it to look off center? Maybe the mesh is moved?

Does the bone name line up exactly? Check if your bone name has a space on the beginning or end, same thing for the passed name in the get socket location node (you can copy the socket name inside of the skeleton)

Unreal should add a return bool that could warn if the bone / socket is missing.

1 Like