IEnumerator FadeCamera(int newLocation) { Material mat = fader.GetComponent <Renderer>().material; // Blackout the screen to avoid motion sickness Debug.Log("Fade In"); for (float alpha = 0.0f; alpha < 1.0f; alpha += 0.1f) { mat.color = new Color(mat.color.r, mat.color.g, mat.color.b, alpha); yield return(new WaitForSeconds(0.05f)); } Debug.Log("Changing Video"); tourManager.currentVideo.Stop(); tourManager.ChangeVideo(newLocation); tourManager.currentVideo.Play(); this.transform.position = locations[newLocation]; Debug.Log("Fade Out"); for (float alpha = 1.0f; alpha > 0.0f; alpha -= 0.1f) { mat.color = new Color(mat.color.r, mat.color.g, mat.color.b, alpha); yield return(new WaitForSeconds(0.05f)); } }