| tag | The name of the tag to search GameObjects for. |
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.
#pragma strict // Instantiates respawnPrefab at the location // of all game objects tagged "Respawn". public var respawnPrefab: GameObject; public var respawns: GameObject[]; function Start() { if (respawns == null) respawns = GameObject.FindGameObjectsWithTag("Respawn"); for (var respawn: GameObject in respawns) { Instantiate(respawnPrefab, respawn.transform.position, respawn.transform.rotation); } }
// Instantiates respawnPrefab at the location // of all game objects tagged "Respawn".
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public GameObject respawnPrefab; public GameObject[] respawns; void Start() { if (respawns == null) respawns = GameObject.FindGameObjectsWithTag("Respawn"); foreach (GameObject respawn in respawns) { Instantiate(respawnPrefab, respawn.transform.position, respawn.transform.rotation); } } }
Another example:
// 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;
}
// Find the name of the closest enemy
GameObject FindClosestEnemy() {
GameObject[] gos;
gos = GameObject.FindGameObjectsWithTag("Enemy");
GameObject closest = null;
float distance = Mathf.Infinity;
Vector3 position = transform.position;
foreach (GameObject go in gos) {
Vector3 diff = go.transform.position - position;
float 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"); } }