public bool CanGuestSeeConveyance(Conveyance conveyance) { Vector3 guestPosition = transform.position; //mouse position on the screen Vector3 startPosition = conveyance.StartPosition(guestPosition, this); RaycastHit hit; Debug.DrawLine(guestPosition, startPosition, Color.red); Debug.Break(); if (!Physics.Linecast(guestPosition, startPosition, out hit)) { return(true); } //if nothing is hit we can assume it is scene Debug.Log(conveyance.name + ": " + hit.transform.name + ": " + hit.transform.gameObject.tag); Debug.DrawLine(hit.point, guestPosition, Color.cyan); if (hit.transform.gameObject.tag != "Conveyance") { return(false); //if the thing hit was not a conveyance } return(true); //if nothing or conveyance was hit }