Getting script from GameObject going wrong.

...
GameObject instanciaPersonagemComum = Instantiate(this.personagemComum, new Vector3(0, 0, 0), Quaternion.identity) as GameObject;
PersonagemComumScript personagemComumScript=instanciaPersonagemComum.transform.GetComponent<PersonagemComumScript>();
personagemComumScript.setId(numeroDoPersonagem);
...

Gives me the error:

Object reference not set to an instance of an object.

All the rest of the code is okay, instanciaPersonagemComum is istantiating personagem Comum, etc. The only thing is goindg wrong is to get PersonagemComumScript from it. Some ideas?

From my earlier experience I’d say you need a cast, try this:

PersonagemComumScript personagemComumScript = (PersonagemComumScript)instanciaPersonagemComum.transform.GetComponent<PersonagemComumScript>();

You don’t cast Generics.

To the OP, maybe do some checks to ensure the GameObject is not null or the script is not null, to check put this

GameObject instanciaPersonagemComum = Instantiate(this.personagemComum, new Vector3(0, 0, 0), Quaternion.identity) as GameObject;
Debug.Log("instanciaPersonagemComum  found? " + instanciaPersonagemComum == null ? "No!" : "Yes");
PersonagemComumScript personagemComumScript=instanciaPersonagemComum.transform.GetComponent<PersonagemComumScript>();
Debug.Log("personagemComumScript found? " + personagemComumScript == null ? "No!" : "Yes");
personagemComumScript.setId(numeroDoPersonagem);

Everything I got is a ‘Yes’.

Yes
UnityEngine.Debug:Log(Object)
InstanciadorDePersonagens:Update() (at Assets/Outros Scripts/InstanciadorDePersonagens.cs:54)

NullReferenceException: Object reference not set to an instance of an object
InstanciadorDePersonagens.Update () (at Assets/Outros Scripts/InstanciadorDePersonagens.cs:56)