- Home /
Using FindGameObjectsWithTag to print text
I'm working on a small script which will print when an object with a specific tag is in the scene. I have it working as far as letting me know there aren't any in the scene, but unfortunately when an object with the correct tag is spawned, the debug text doesn't happen.
The script is as follows:
var gos : GameObject[];
gos = GameObject.FindGameObjectsWithTag("deadcorn");
if(gos.length == 1)
{
print("1 corn in scene");
}
if(gos.length == 0)
{
print("No corn in scene");
}
Effectively there's a cube in the scene that when destroyed by the player spawns a different cube with the tag "deadcorn". That all works in another script, and the object does indeed spawn in the scene. However it doesn't appear that the above script detects it. Any ideas?
$$anonymous$$aybe the Find
finds more than one GO, so your gos.length
is bigger than 1?
Double checked that now, nope definitely only one object with that tag. Thanks all the same though.
Why you type var gos: GameObject [ ]? I mean why put [ ]?
Without the [] I get the following error:
(2,40): BCE0022: Cannot convert 'UnityEngine.GameObject[]' to 'UnityEngine.GameObject'.
Answer by Inan-Evin · Dec 28, 2014 at 07:25 PM
Well there are different approaches that i can tell. First just to clarify, are you using this lines in update function ? I mean the array declaration should be at the top, not inside any function, and the gos = GameObject.Find...... part should be in update. Now, if we are okay would you try checking it with for loop.
for (var i : int; i < gos.Length; i++)
{
Debug.Log("Object count:" + i);
}
If still not working, you can try a different approach. Create a static int variable. Each time an object is destroyed, just before destroying decrease the int variable by 1. And each time it instantiates, increase the int variable by one. By this way, that int will be your object count, it will be a better way to do it instead of calling FindGameObjectsWithTag every frame. Just a thought.
Your answer
![](https://koobas.hobune.stream/wayback/20220613174953im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Setting Scroll View Width GUILayout 1 Answer
modifing enemies target inside a radius 1 Answer
How do you find the tag of the object that is a trigger? 1 Answer
Debug.draw rect 2 Answers
Character Controller is not interacting with colliders. 1 Answer