- Home /
if(Find.Child("thing");{
How would I do so that IF the script finds a CHILD object it would do something?
Item = Player.Find("RangeItem").gameObject;{
thats what I have for finding the child now how do I make it an if? I need this answer because my script wont work unless it finds that child..
Answer by Skeledurr · Jan 05, 2015 at 10:45 PM
Item = Player.Find("RangeItem").gameObject;
// If the item does not equal to null
if ( item != null )
{
// Add code here
}
Answer by asecretspot · Jan 05, 2015 at 10:45 PM
I think the answer you are looking for is:
if (item != null) {
}
That should make stuff happen if there is a "RangeItem" present and do nothing if there isn't.
Answer by misticone00 · Jan 05, 2015 at 11:29 PM
Hi!! How are u guys? Happy New Year :)
So, You both are completly right, your codes work perfectly but I think that it's better to make a function that checks if the GO exists or not.
I wrote this Example:
public bool CheckGO(string GOName){
if(GameObject.Find (GOName) == null){
return false;
}else{
return true;
}
}
That function will return a bool which can be true or false according to the existence or not of your GameObject.
By using this function you only have to write something like this to check if the GO exists or not:
void Start(){
if(CheckChild("MyGameObject") ==true ){
Debug.Log ("GO Exists");
}else{Debug.LogError ("GO is missing");}
But like I said the codes that the others posted are completly correct, I just think that this is a cleaner way to do it, but it's just my 2 cents.
I Hope that i could help
Hug,
,Misty,Your answer
Follow this Question
Related Questions
Check if object is Rigidbody .js 2 Answers
My if statements are not working [major noob] 2 Answers
How do I check if a game object exists? 1 Answer