- Home /
Weird Inability to Find Script Component
Hello everybody.
I'm having a monumentally strange issue. I have a game object the isn't destroyed on load that contains the code for saving and loading game data. For some reason (and without any apparent stimulus) it decided it didn't know how to find a script component on another game object anymore. It'll even find the correct game object (i.e. the player), and I see the player's script component in the inspector, but it /still/ can't find the 'Combatant' script.
The code it uses to locate the script is very simple:
GameObject pc = GameObject.FindGameObjectWithTag("Player");
Combatant pCombatClass = pc.GetComponent<Combatant>();
That's literally all there is to it. I don't know if it has something to do with the fact that the object with this code isn't destroyed on load; I haven't a clue what's going on, since I've used similar code in a dozen other places.
If anyone has any ideas, I'd be happy to hear. =)
Answer by Eric5h5 · Jan 03, 2014 at 05:17 PM
It's just finding the first object with the Player tag; it could be there's more than one, and the one it's finding doesn't have the component.
That's just the thing though. There's only one object with the Player tag, and when I ask it to print out "pc", it has actually found the player character. But when I ask it to print out a component of "pc", it returns null. Yet the script is clearly there in the inspector. Furthermore, the problem comes and goes. It won't happen for days, and then won't go away for days.