Instantiate spawns an empty game object called "New Game Object" as well as a non functional intended game object.

I’ve got an issue where a game object is spawned that doesn’t work as well as an empty game object called “New Game Object”.

I also have this error: UnityException: Transform child out of bounds
UnitStatistics.Awake () (at Assets/Scripts/UnitStatistics.cs:67)
UnityEngine.Object:Instantiate(GameObject, Vector3, Quaternion)
BattleController:Spawning() (at Assets/Scripts/BattleController.cs:124)
BattleController:Awake() (at Assets/Scripts/BattleController.cs:55)

The mentioned Functions: Unit Behaviour

public virtual void Awake ()
	{
		m_UnitStatistics = this.gameObject.GetComponent<UnitStatistics> ();
		BattleControllerHoldingObject = GameObject.FindGameObjectWithTag("ManagementScriptHolder");
		m_BattleController = BattleControllerHoldingObject.gameObject.GetComponent<BattleController> ();
		m_Animator = this.gameObject.GetComponent<Animator> ();
		PushBox = this.gameObject.GetComponent<Collider2D> ();
		MoveAcc = MoveMax / MoveSpeed;
		Attack1MoveAcc = Attack1MoveMax / Attack1MoveSpeed;
	}

Battle Controller

	void Awake ()
	{
	
		VictoryState = false;
		
		Spawning();
		
		m_OverallUnitList.AddRange(GameObject.FindGameObjectsWithTag("Unit"));
		m_ActiveUnitList.AddRange(m_OverallUnitList);
		TeamConditionStartup();
		SpawnTeamPointSliders();
	}
	
	void Spawning ()
	{
		for (int i=0;i<m_HowManyUnitsToSpawn;++i)
		{
			
			GameObject CurrentObjectToSpawn = new GameObject();
			switch (UnitToSpawn*)*
  •  	{*
    
  •  		case 0:*
    
  •  			CurrentObjectToSpawn = m_HumanSwordsmanOBJ;*
    
  •  		break;*
    
  •  		case 1:*
    
  •  			CurrentObjectToSpawn = m_HumanArcherOBJ;*
    
  •  		break;*
    
  •  		case 2:*
    
  •  			CurrentObjectToSpawn = m_MokoFighterOBJ;*
    
  •  		break;*
    
  •  		case 3:*
    
  •  			CurrentObjectToSpawn = m_MokoDartThrowOBJ;*
    
  •  		break;*
    
  •  		case 4:*
    
  •  			CurrentObjectToSpawn = m_DaveRushGoonOBJ;*
    
  •  		break;*
    
  •  		case 5:*
    
  •  			CurrentObjectToSpawn = m_BeaconBatterOBJ;*
    
  •  		break;*
    
  •  	}*
    

_ switch (SpawnpointSetToSpawnAt*)_
_
{_
_
case 0:*_

GameObject CurrentSpawnedObjectSP1 = Instantiate (CurrentObjectToSpawn, m_Spawnpoints1[SpawnpointIndexToSpawnAt].position, m_Spawnpoints1[SpawnpointIndexToSpawnAt*].rotation) as GameObject;
_ UnitStatistics CSOBJSP1STAT;
CSOBJSP1STAT = CurrentSpawnedObjectSP1.GetComponent();
CSOBJSP1STAT.Team = TeamToSpawnAs;_

CSOBJSP1STAT.m_Group = GroupToSpawnAs;
CSOBJSP1STAT.m_Faction = GroupToSpawnAs;
CSOBJSP1STAT.m_Authority = AuthorityToSpawnAs;
CSOBJSP1STAT.m_AugmentLevelList[0] = AugumentMAXHPLevel;
CSOBJSP1STAT.m_AugmentLevelList[1] = AugumentATTLevel;
CSOBJSP1STAT.m_AugmentLevelList[2] = AugumentHPREGENLevel;
CSOBJSP1STAT.m_AugmentLevelList[3] = AugumentSturdinessLevel;
_ break;
case 1:*_

GameObject CurrentSpawnedObjectSP2 = Instantiate (CurrentObjectToSpawn, m_Spawnpoints2[SpawnpointIndexToSpawnAt].position, m_Spawnpoints2[SpawnpointIndexToSpawnAt*].rotation) as GameObject;
_ UnitStatistics CSOBJSP2STAT;
CSOBJSP2STAT = CurrentSpawnedObjectSP2.GetComponent();
CSOBJSP2STAT.Team = TeamToSpawnAs;_

CSOBJSP2STAT.m_Group = GroupToSpawnAs;
CSOBJSP2STAT.m_Faction = GroupToSpawnAs;
CSOBJSP2STAT.m_Authority = AuthorityToSpawnAs;
CSOBJSP2STAT.m_AugmentLevelList[0] = AugumentMAXHPLevel;
CSOBJSP2STAT.m_AugmentLevelList[1] = AugumentATTLevel;
CSOBJSP2STAT.m_AugmentLevelList[2] = AugumentHPREGENLevel;
CSOBJSP2STAT.m_AugmentLevelList[3] = AugumentSturdinessLevel;*

* break;*
* case 2:*
GameObject CurrentSpawnedObjectSP3 = Instantiate (CurrentObjectToSpawn, m_Spawnpoints3[SpawnpointIndexToSpawnAt].position, m_Spawnpoints3[SpawnpointIndexToSpawnAt*].rotation) as GameObject;
_ UnitStatistics CSOBJSP3STAT;
CSOBJSP3STAT = CurrentSpawnedObjectSP3.GetComponent();
CSOBJSP3STAT.Team = TeamToSpawnAs;_

CSOBJSP3STAT.m_Group = GroupToSpawnAs;
CSOBJSP3STAT.m_Faction = GroupToSpawnAs;
CSOBJSP3STAT.m_Authority = AuthorityToSpawnAs;
CSOBJSP3STAT.m_AugmentLevelList[0] = AugumentMAXHPLevel;
CSOBJSP3STAT.m_AugmentLevelList[1] = AugumentATTLevel;
CSOBJSP3STAT.m_AugmentLevelList[2] = AugumentHPREGENLevel;
CSOBJSP3STAT.m_AugmentLevelList[3] = AugumentSturdinessLevel;
_ break;
case 3:_

GameObject CurrentSpawnedObjectSP4 = Instantiate (CurrentObjectToSpawn, m_Spawnpoints4[SpawnpointIndexToSpawnAt].position, m_Spawnpoints4[SpawnpointIndexToSpawnAt].rotation) as GameObject;
_ UnitStatistics CSOBJSP4STAT;
CSOBJSP4STAT = CurrentSpawnedObjectSP4.GetComponent();
CSOBJSP4STAT.Team = TeamToSpawnAs;_

CSOBJSP4STAT.m_Group = GroupToSpawnAs;
CSOBJSP4STAT.m_Faction = GroupToSpawnAs;
CSOBJSP4STAT.m_Authority = AuthorityToSpawnAs;
CSOBJSP4STAT.m_AugmentLevelList[0] = AugumentMAXHPLevel;
CSOBJSP4STAT.m_AugmentLevelList[1] = AugumentATTLevel;
CSOBJSP4STAT.m_AugmentLevelList[2] = AugumentHPREGENLevel;
CSOBJSP4STAT.m_AugmentLevelList[3] = AugumentSturdinessLevel;
_ break;
case 4:_

GameObject CurrentSpawnedObjectSP5 = Instantiate (CurrentObjectToSpawn, m_Spawnpoints5[SpawnpointIndexToSpawnAt].position, m_Spawnpoints5[SpawnpointIndexToSpawnAt].rotation) as GameObject;
_ UnitStatistics CSOBJSP5STAT;
CSOBJSP5STAT = CurrentSpawnedObjectSP5.GetComponent();
CSOBJSP5STAT.Team = TeamToSpawnAs;_

CSOBJSP5STAT.m_Group = GroupToSpawnAs;
CSOBJSP5STAT.m_Faction = GroupToSpawnAs;
CSOBJSP5STAT.m_Authority = AuthorityToSpawnAs;
CSOBJSP5STAT.m_AugmentLevelList[0] = AugumentMAXHPLevel;
CSOBJSP5STAT.m_AugmentLevelList[1] = AugumentATTLevel;
CSOBJSP5STAT.m_AugmentLevelList[2] = AugumentHPREGENLevel;
CSOBJSP5STAT.m_AugmentLevelList[3] = AugumentSturdinessLevel;
_ break;
case 5:_

GameObject CurrentSpawnedObjectSP6 = Instantiate (CurrentObjectToSpawn, m_Spawnpoints6[SpawnpointIndexToSpawnAt].position, m_Spawnpoints6[SpawnpointIndexToSpawnAt].rotation) as GameObject;
_ UnitStatistics CSOBJSP6STAT;
CSOBJSP6STAT = CurrentSpawnedObjectSP6.GetComponent();
CSOBJSP6STAT.Team = TeamToSpawnAs;_

CSOBJSP6STAT.m_Group = GroupToSpawnAs;
CSOBJSP6STAT.m_Faction = GroupToSpawnAs;
CSOBJSP6STAT.m_Authority = AuthorityToSpawnAs;
CSOBJSP6STAT.m_AugmentLevelList[0] = AugumentMAXHPLevel;
CSOBJSP6STAT.m_AugmentLevelList[1] = AugumentATTLevel;
CSOBJSP6STAT.m_AugmentLevelList[2] = AugumentHPREGENLevel;
CSOBJSP6STAT.m_AugmentLevelList[3] = AugumentSturdinessLevel;
_ break;
}
}*_

* }*
----------
I’ve been trying to figure out what to do about this to no avail. Ohh and I don’t know for sure but these scripts probably aren’t the most efficient.

Nevermind. I figured it out myself. I was checking the wrong script for the child out of bounds script. And lo and behold, a get child was addressing the wrong thing.