First, thanks @thelebaron for the time you take to go through this with me. I agree that using the translation place the bullet at the right spot on screen but except if there is something wrong in the logic of my ShotHitSystem I don't see why if I reactivate the destruction of the bullet on collision, the bullet gets destroyed instantly. Additionally the ShotHitSystem decrease the heal of the entity that was hit by 1. And you can in the sample you ran that the Floor has a start health of 1 which decrease for every bullet that is shot. The cast logic should cast a ray from the bullet's position backward based on velocity and time to cover the distance the bullet moved between frames. And in our case the bullet dose not move (speed = 0) so the ray basically is the bullet's position. Then why does my floor lose health ?? Edit1 : check and I'm missing a "-" and "speed" on my ray cast to make it as described but that does not affect the behavior I described. Edit 2 : github repo is up to the fix of edit 1 and the reactivation of the bullet destruction on hit.