How can I access children object from Tracked Image Prefab in ARFoundation?

Hi, I’m developing an AR app, that show 3D model of House when you scan the marker, with ARFoundation .Image Tracking.
i already make a prefab that parent 3 models as part of house :1st floor, 2nd floor, and roof.
I already make buttons to view the house with 1stfloorview, 2ndfloorview, and fullview.
i want to be able activate/deactivate 2nd floor and roof with that buttons but my attempt is not working.

this is my code

using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.XR.ARSubsystems;
using UnityEngine.XR.ARFoundation;

public class TrackedImageInfoManager : MonoBehaviour
{
     [SerializeField]
    public Button 1stfloorview;
    
    [SerializeField]
    public Button 2ndfloorview;
    
    [SerializeField]
    public Button fullview;
    ARTrackedImageManager m_TrackedImageManager;

    void Awake()
    {
        1stfloorview.onClick.AddListener(()=>{m_TrackedImageManager.trackedImagePrefab.transform.Find("2nd floor").gameObject.SetActive(false);m_TrackedImageManager.trackedImagePrefab.transform.Find("roof").gameObject.SetActive(false);});
        2ndfloorview.onClick.AddListener(()=>{m_TrackedImageManager.trackedImagePrefab.transform.Find("2nd floor").gameObject.SetActive(true);m_TrackedImageManager.trackedImagePrefab.transform.Find("roof").gameObject.SetActive(false);});
        fullview.onClick.AddListener(()=>{m_TrackedImageManager.trackedImagePrefab.transform.Find("2nd floor").gameObject.SetActive(true);m_TrackedImageManager.trackedImagePrefab.transform.Find("roof").gameObject.SetActive(true);});
        m_TrackedImageManager = GetComponent<ARTrackedImageManager>();

    }

    void OnEnable()
    {
        m_TrackedImageManager.trackedImagesChanged += OnTrackedImagesChanged;
    }

    void OnDisable()
    {
        m_TrackedImageManager.trackedImagesChanged -= OnTrackedImagesChanged;
    }

    void UpdateInfo(ARTrackedImage trackedImage)
    {
       
        if (trackedImage.trackingState != TrackingState.None)
        {
        m_TrackedImageManager.trackedImagePrefab.transform.localPosition = new Vector3(trackedImage.transform.position.x,1f,trackedImage.transform.position.z);
            
        }else{
            m_TrackedImageManager.trackedImagePrefab.SetActive(false);
        }
    }

    void OnTrackedImagesChanged(ARTrackedImagesChangedEventArgs eventArgs)
    {
        foreach (var trackedImage in eventArgs.added)
        {
            // Give the initial image a reasonable default scale
            trackedImage.transform.localScale = new Vector3(0.01f, 0.01f, 0.01f);
            
            UpdateInfo(trackedImage);
        }

        foreach (var trackedImage in eventArgs.updated)
        {
            UpdateInfo(trackedImage);
        }

        foreach (var trackedImage in eventArgs.removed)
        {
            m_TrackedImageManager.trackedImagePrefab.SetActive(false);
        }          
    }
}

is there another way to achieve that scenario? please someone help me.

Thank You.

Hi ainurrokhim ,

Same question here. Any luck so far?