Is there a specific technique you have to use to .SetActive() a child GameObject of a GameObject you created using Resources.Load?

I am experiencing a problem in making a child GameObject of another GameObject become visible by using .SetActive(true) on the child GameObject. As it is stored in a Resources directory the child object is not active. I then use Resources.Load to create the object. Visually that result is just fine. I see the newly instantiated object but I don’t see the inactive child object (which is text). But when I try to SetActive that child (which I can find by FindWithTag on the parent then after that finding the child by parent.transform.Find() ) it will not become visible. I have created a GameObject by manually instantiating that GameObject and used the same technique at same point in code to try to turn on the presently-inactive child object. It becomes visible. To me, it looks like this problem occurs because I just instantiated that object using Resources.Load. Is there some special technique that is needed in some circumstances to cause a child to go active? If I keep running the program then later it becomes possible to make that child go active. I can’t as of yet pin down exactly what happens to make that possible. That child is NOT set to be static. I am executing my instantiate and .SetActive calls within a MonoBehavior class but not within the script/class associated with the parent gameobject. This problem ring a mental bell with anyone? The only possible workaround I can think of at the moment is to detect that I need to have that child active and double the number of Resource entries I have with one entry being for that child being not active and the other being for that child being active and Resources.Load the right one.

hi;
u can make a refrence when u are creating an object like this ;

GameObject Temp = Instantiate(object,pos,rotaition) as GameObject;

then u have the refrence to that object u created and u dont need to find it u can active any of its child like this :

Temp.transform.GetChild(0).gameObject.SetActive(True);

the above code active the first child of the instantiated object;

Ok, I’m getting the results I need. The excellent suggestion from Cuttlas-U was critical to getting a working solution. When you instantiate(Resources.Load()) and discover that gameobject.FindWithTag and/or gameobject.transform.Find() and/or .SetActive() suddenly don’t work then what you should do is store what instantiate spits out on the left side immediately after you create your clone and use THAT when you try to do anything with it. Also, in my situation it helped to create the child object that I want to be visible sometimes and invisible sometimes as active in the Resource when you create the Resource directory entry and then when you want it to vanish to not use .SetActive(false) but instead localScale it to 0.0f,0.0f,0.0f (make it infinitely small). That way you don’t care that .SetActive(false) isn’t working anymore. I saw that trick mentioned by someone(don’t remember who) in the questions/answers of the last few days. Good trick. IMHO, instantiate(Resources.Load()) can create a GameObject which at least in some contexts cannot be accessed successfully by FindWithTag or Find on the transform or be set active or inactive and child objects also cannot be found or be set to active or set to inactive.