MonoBehaviour { public Transform player; private Renderer wallRenderer; private Color originalColor; void Start() { wallRenderer = GetComponent(); originalColor = wallRenderer.material.color; } void Update() { Vector3 direction = player.position - transform.position; RaycastHit hit; if (Physics.Raycast(transform.position, direction, out hit)) { if (hit.transform == player) { Color transparentColor = originalColor; transparentColor.a = 0.3f; // Make it see-through wallRenderer.material.color = transparentColor; } else { wallRenderer.material.color = originalColor; } } } }