There was an error I found but even after fixing it I still get the same problem. Here's the whole function: Code (csharp): function CheckView() { var hit : RaycastHit; if(Vector3.Distance(transform.position, HexinHex2.transform.position) > SpotDistance + 5) { ViewBlocked = true; CanSee = false; return; } if(Physics.Linecast(transform.position, HexinHex2.transform.position, hit)) { if(hit.collider.gameObject.tag != "Hex") { ViewBlocked = true; if((hit.collider.gameObject.renderer.material.shader == Shader.Find("Transparent/Diffuse"))|| (hit.collider.gameObject.renderer.material.shader == Shader.Find("Transparent/Bumped Specular"))) { CanSee = true; } if((hit.collider.gameObject.renderer.material.shader != Shader.Find("Transparent/Diffuse"))|| (hit.collider.gameObject.renderer.material.shader != Shader.Find("Transparent/Bumped Specular"))) { CanSee = false; } } if(hit.collider.gameObject.tag == "Hex") ViewBlocked = false; } }