Legacy Documentation: Version 4.5.0

Script language:

  • JS
  • C#
  • Boo
Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

GameObject.FindGameObjectsWithTag

static function FindGameObjectsWithTag(tag: string): GameObject[];

Parameters

tagThe name of the tag to search GameObjects for.

Description

Returns a list of active GameObjects tagged tag. Returns empty array if no GameObject was found.

Tags must be declared in the tag manager before using them. A UnityException will be thrown if the tag does not exist or an empty string or null is passed as the tag.

	// Instantiates respawnPrefab at the location 
	// of all game objects tagged "Respawn".

var respawnPrefab : GameObject; var respawns; function Start() { if (respawns == null) respawns = GameObject.FindGameObjectsWithTag ("Respawn"); for (var respawn in respawns) Instantiate (respawnPrefab, respawn.transform.position, respawn.transform.rotation); }

Another example:

	// Print the name of the closest enemy
	print(FindClosestEnemy().name); 
	
	// Find the name of the closest enemy
	function FindClosestEnemy () : GameObject {
		// Find all game objects with tag Enemy
		var gos : GameObject[];
		gos = GameObject.FindGameObjectsWithTag("Enemy"); 
		var closest : GameObject; 
		var distance = Mathf.Infinity; 
		var position = transform.position; 
		// Iterate through them and find the closest one
		for (var go : GameObject in gos)  { 
			var diff = (go.transform.position - position);
			var curDistance = diff.sqrMagnitude; 
			if (curDistance < distance) { 
				closest = go; 
				distance = curDistance; 
			} 
		} 
		return closest;	
	}

Another example, testing for empty array:

    // Search for game objects with a tag that is not used

function Start () { var gos : GameObject[]; gos = GameObject.FindGameObjectsWithTag("fred"); if (gos.length == 0) { Debug.Log("No game objects are tagged with fred"); } }