- Home /
Null Reference Exception when Trying to get script of newly instantiated Gameobject
Hello!
Having some trouble getting the script attached to a newly instantiated gameobject. I've used similar code to set the attributes of instantiated bullets without experiencing the same problem.
There are awake and start instructions in the instantiated object's script (The script I am trying to get). The awake instruction is processed, then the debug informs me that the script is null (Line 18). Then the start functions are processed.
Is it possible that the script attached to this newly instantiated gameobject can't be retrieved because it hasn't fully initialised, or because I am trying to change some of the values (that may be in the process of being initialised?
I've attached part of the debug below.
Any ideas on fixing this? Thanks for your time.
This is the code I'm using to instantiate the gameObjects
// Place a turret for each element in TurretScriptList
for(int i = 0 ; i < turretScriptList.Count ; i++)
{
// Instantiate and get reference
GameObject turret = (GameObject)Instantiate(turretPrefab2, turretScriptList[i].GetTurretPosition(), Quaternion.identity);
if(turret == null)
{
Debug.Log("TurretSceneScript1.PlaceExistingTurrets: Turret is null");
}
// Get the type of the turret from turretScriptList
string turretType = turretScriptList[i].GetTurretType();
// Get the turret's script
TurretGunScript currentTurretScript = (TurretGunScript) turret.GetComponent("TurretGunScript");
if(currentTurretScript == null)
{
Debug.Log("TurretSceneScript1.PlaceExistingTurrets: currentTurretScript is null");
}
// Set the turret type on the newly instantiated Turret
currentTurretScript.turretType = turretType;
// Set the texture appropriate to that type
currentTurretScript.SetTurretTexture();
}
Answer by paulaceccon · Feb 18, 2013 at 05:04 PM
Are you sure that you set correctly the turretPrefab2? I can't see any problem. So I thought that maybe you could have forgotten to assign the prefab.
Hello. Thanks for helping. I remembered (while in the shower) that the script was attached to a child object of the gameobject I was getting a reference to. Sort of a low-grade Eureka moment. Sorry for wasting your time!
Your answer
Follow this Question
Related Questions
Instanciate Object Problem for Shooting 2 Answers
Code works in Editor but not in standalone 1 Answer
Can't find gameobjects being spawned getting a nullreferenceexception 1 Answer
Null variable 2 Answers