Has anyone used the asset Rewinder to implement lag compensation before? If so you might be able to me out. Currently I am having problems getting hit detection to work correctly. Player A can shoot any where and score a hit on Player B but Player B can never hit Player A even when aiming directly at him. Here is the code I am using for lag comp/hit detection. Code (CSharp): Ray r = Camera.main.ScreenPointToRay(CenterofScreen); Transform HitBoxThatWasHit; RewinderHitboxHit hit; float time = (float)uLink.Network.time; List<RewinderHitboxHit> hits; RewinderSnapshot.Raycast(time, r.origin, r.direction, out hits); if (hits.Count > 0) { hit = hits.FirstOrDefault(); RewinderSnapshot.Recycle(hits); Debug.Log ("We Hit Something " + hit.Hitbox.Type); if (hit.Hitbox.Type == RewinderHitboxType.Proximity) return; } HitBoxThatWasHit = hit.Transform; float damagetoSend = 0f; uLink.NetworkPlayer PlayerHit = HitBoxThatWasHit.root.gameObject.GetComponent<uLinkNetworkView> ().owner; if (!RPCSender.Equals(PlayerHit)) { //We Cant Hit Our Selves. if (hit.Hitbox.Type == RewinderHitboxType.Head) { //HeadShotd damagetoSend = 50; } else if (hit.Hitbox.Type == RewinderHitboxType.Calf || hit.Hitbox.Type == RewinderHitboxType.Thigh ) { //Lower Body damagetoSend = 25; } else { damagetoSend = 25; } Debug.Log ("Damage Given " + damagetoSend); //Send Message To Damage Player HitBoxThatWasHit.root.gameObject.GetComponent<PlayerDamage> ().ApplyDamage (damagetoSend); } else { Debug.LogError ("We Are Not Allowed To Shoot Our Seleves"); } } else { Debug.Log ("We Didnt Hit Anything"); } I have tried a couple of debugging things to see if I could figure out the problem. First, I set the "time" varible in the rewinder raycast to 0. I believe this would effectively make it just like a normal raycast, unfortunately this just produced the same result as before. The second thing I did was to check whether the ray created was always pointing towards the player for some reason thus always resulting in a hit. I created a small cube at the origin and "centerofScreen" vector3. Thees vector3s are set correctly. The only thing I could thing of that might be wrong is how I am using rewinder itself. Any thoughts/tips would be greatly appreciated.