private void SetCubeTransparency() { var spawnedCubes = CubeSpawner.GetSpawnedCubes(); var ray = new Ray(Player.GetComponent <Rigidbody>().transform.position, this.transform.position); var hit = Physics.RaycastAll(ray, 10); foreach (var cube in spawnedCubes) { var cubeRenderer = cube.transform.GetComponent <Renderer>(); cubeRenderer.material.shader = Shader.Find("Standard"); var opac = cubeRenderer.material.color; opac.a = 1f; cubeRenderer.material.color = opac; foreach (var h in hit) { var rend = h.transform.GetComponent <Renderer>(); if (cubeRenderer != rend) { continue; } cubeRenderer.material.shader = Shader.Find("Transparent/Diffuse"); var tempColor = cubeRenderer.material.color; tempColor.a = 0.3F; cubeRenderer.material.color = tempColor; break; } } }