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. =)

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.