- Home /
Instantiating objects and adding navmeshAgent causes game to freeze.
I have a script which spawns enemies after a delay of time on a terrain that I have created. It works for the first three enemies created but when it adds the navmeshagent the fourth time it freezes the entire game. using UnityEngine; using System.Collections; using System.Collections.Generic; public class RandomSpawn : MonoBehaviour { public List<GameObject> Spawnables; public Terrain spawnLand; public float spawnWait = 1f; public int numPer = 1; public bool enableSpawning =true; float minx,maxx,minz,maxz,waiter = 1f; // Use this for initialization void Start () { minx = spawnLand.transform.position.x+2; maxx = spawnLand.terrainData.size.x + minx-4; minz = spawnLand.transform.position.z+2; maxz = spawnLand.terrainData.size.z + minz-4; } void Update(){ waiter -= Time.deltaTime; if (waiter<=0) { waiter = spawnWait; if (enableSpawning) { Spawn (); } } } void Spawn() { for (int i = 0; i < numPer; i++) { Vector3 loc = new Vector3 (Random.Range (minx, maxx), 0, Random.Range (minz, maxz)); GameObject go = (GameObject)Instantiate (Spawnables[Random.Range (0,Spawnables.Count)],new Vector3(0,0,0),new Quaternion(0,0,0,0)); NavMeshHit closestHit; if( NavMesh.SamplePosition( loc, out closestHit, 500, 1 ) ){ go.transform.position = closestHit.position; go.AddComponent<NavMeshAgent>(); //TODO } else{ Debug.Log("..."); } } } }
I put it on a time delay using waiter and spawnWait. It seems to always freeze and crash right after creating the fourth object and adding the navmeshagent to it. All help would be appreciated I am getting rather confused.
Answer by mindstormermage · Oct 23, 2017 at 12:55 AM
I Figured it out. The script I posted is correct and works well. My issue is on another script I wrote which accidentally is becoming infinite after the fourth enemy... oops
Your answer
Follow this Question
Related Questions
Is this the best way of using enums? 0 Answers
Monodevelop freezes opening js files after creating new project 1 Answer
NavMesh giving jerky like motion 0 Answers
Instantiated objects at beginning of runtime are messing with the pathing for my NavMesh. 0 Answers
NavMesh Agent glitches on navmesh edges 2 Answers