- Home /
I Can't disable gameObject using .SetActive (or anything else)
I've tried many different options but cannot get my game object to turn off. Here is my code:
if(GUI.Button(Rect(Screen.width - 160, fire_y, 40, buttonHeight), "LR")) {
toggleFireLR();
}
function toggleFireLR() {
leftHand.gameObject.SetActive (false);
}
Any ideas where to go from here? Cheers guys.
leftHand is set to something? $$anonymous$$essages in the console when you click the button?
I should add that the script is attached to the parent of the game object i'm trying to switch off.
leftHand is introduced as var leftHand : GameObject; at the top of the script. There's no console messages when I run it. Unless I'm missing something, I'm a bit of a noob at unity. Thanks for the response.
And you've set it using the inspector and all of these things are scene objects?
yep. all good, I've solved the problem, see my answer below.
Answer by Glacier Games · Feb 18, 2014 at 04:09 AM
With my 4 years of experience with Unity, I can think of only a couple options. Maybe some people with more experience could add to my list.
1: try "leftHand.gameObject.active = false" because why not. technically, it is currently obsolete. So either way, continue through the list.
2: look in the editor and activate/deactivate it manually to see if it does what you want. If it does, continue through the list. If not, then reconsider what you're trying to activate/deactivate
3: if things have the same name(maybe the right and left hands are both named "hand") it may confuse you. so make sure you have the correct gameObject selected for the leftHand.
4: the if statement you provided should be in OnGUI(), not Update()
5: maybe the button isn't working. so to debug that, run toggleFireLR() in the Start() function.
6: save the script again. you might not have saved the script
That's all I can think of right now! :)
Answer by lukewilliams · Feb 18, 2014 at 06:08 AM
Thanks for the help guys, I ended up solving it by putting the enable/disable functions in another script attached directly to the game object I was turning on and off, and then referencing that script from my main script. So far I haven't had any issues, and I can still re-enable the objects despite the script being on them (even while they're disabled). It made my program more complicated, but it works :)