Make a script destroy itself even if there are multiple scripts with the same name on one GameObject.

Let’s say we have a gameObject GO. GO has multiple scripts with the same name. Each script is identical, but each has different variables making all the scripts on GO to do completely different things. Here’s the issue: if a script needs to remove itself, then it can’t simply use GetComponent(); and Destroy because all the scripts on GO have identical names and GetComponent would most likely return the incorrect script.

How about

Destroy(this);

My bad, I just realized that you can identify the scripts by their variables.