.active returns a boolean property (and is deprecated as well, btw). SetActive sets this property so basically they are 2 different things and should not be mixed.
To replace the active property in your code either use activeSelf or activeInHierarchy.
The difference between those two:
activeSelf is basically set via SetActive() and gives you information whether this exact gameObject’s state is active or not.
activeInHierarchy means if this gameObject is indeed active right now - note that activeSelf might return true (since the gameObject is set to active) but activeInHierarchy might return false at the same time (as the parent of the gameObject is not active and thus the gameObject itself neither).
Thx so basically where it used to be active without true or false at the end activeinhierchi is is correct and where active ends with true or false setactive is correct ?
so active inHierarchy means it is active and are going to stay active, and gameobject.setactive() can change from false or true. And if these two get mixed, i mean if u Place them wrong, any easy way too notice it. cause i did change my scripts, and so far it looks like everything is working, so i hope everything are okay With my Project.