public static void ScaleBug(BranchScript branch, GameObject bugObject) { Bug bug = bugObject.GetComponent <Bug>(); bugObject.transform.localScale = new Vector3(1.15f, 1.15f, 1.15f); RectTransform rectT = bugObject.AddComponent(typeof(RectTransform)) as RectTransform; // = bugObject.GetComponent<RectTransform>(); RectTransform rect = bug.GetComponent <RectTransform>(); GameObject branchObject = GameObject.Find("Branch"); RectTransform branchRect = branch.GetComponent <RectTransform>(); bug.lengthInMM = RandomBugLength(bug); float bugLength = bug.lengthInMM; float scaleRatio = (bugLength / branch.branchWidthInMM) * 5; Vector3 scaleFactor = new Vector3(scaleRatio / bugObject.transform.localScale.x, scaleRatio / bugObject.transform.localScale.y, bugObject.transform.localScale.z); Debug.Log(scaleRatio); Transform branchTransform = branch.gameObject.transform; bugObject.transform.localScale = scaleFactor;//branchTransform.localScale.x * scaleRatio; }