Changing the opacity of a 2D sprite on trigger

Hi folks. I’m fairly new to coding, I’m still trying to develop that logic of thinking to help me create the solutions I’m wanting for games. Currently, I’m trying to create a 2D gameobject that’s a wall hiding a secret door. I want that gameobject to fade out (about 90%) when the player GO triggers it, revealing the space behind and the hidden door.
So far, I’ve managed to figure out how to render the GO inactive on the trigger, so it disappears, but this doesn’t produce the visual that I’m going for. As I said, I’m still working on developing that coder’s way of thinking, so while I’ve done a lot of research to solve this problem, many of the suggestions and ideas I don’t readily understand.

Here’s my code, if anyone has any useful tips or ideas, or has done this before, I’d love to hear from you! Thanks. :smiley:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SecretDoor1 : MonoBehaviour {

	public float alphaLevel;

	void OnTriggerEnter2D (Collider2D SecretDoorTrig) {
		if (SecretDoorTrig.gameObject.tag == "Player") {
			GetComponent<SpriteRenderer> ().enabled = false;
		}
		else {
			GetComponent<SpriteRenderer> ().enabled = true;
		}
	}

	void OnTriggerExit2D (Collider2D SecretDoorTrig) {
		
		if (SecretDoorTrig.gameObject.tag == "Player") {
			
			GetComponent<SpriteRenderer> ().enabled = true;
		}
		else {
			GetComponent<SpriteRenderer> ().enabled = false;
		}
	}
}

There’s two was you could do this. Either have an animation(of the opacity going down) or do it in script.

Pragma script:

float speed = .01f; //the speed that your alpha changes

Color color = renderer.material.color;

color.a -= speed;

renderer.material.color = color;