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.
// 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); }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public GameObject respawnPrefab; public Object respawns; void Start() { if (respawns == null) respawns = GameObject.FindGameObjectsWithTag("Respawn"); foreach (Object respawn in respawns) { Instantiate(respawnPrefab, respawn.transform.position, respawn.transform.rotation) as GameObject; } } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): public respawnPrefab as GameObject public respawns as Object def Start() as void: if respawns == null: respawns = GameObject.FindGameObjectsWithTag('Respawn') for respawn as Object in respawns: (Instantiate(respawnPrefab, respawn.transform.position, respawn.transform.rotation) as GameObject)
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; }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { GameObject FindClosestEnemy() { GameObject[] gos; gos = GameObject.FindGameObjectsWithTag("Enemy"); GameObject closest; 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; } void Example() { print(FindClosestEnemy().name); } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): def FindClosestEnemy() as GameObject: gos as (GameObject) gos = GameObject.FindGameObjectsWithTag('Enemy') closest as GameObject distance as float = Mathf.Infinity position as Vector3 = transform.position for go as GameObject in gos: diff as Vector3 = (go.transform.position - position) curDistance as float = diff.sqrMagnitude if curDistance < distance: closest = go distance = curDistance return closest def Example() as void: print(FindClosestEnemy().name)
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"); } }