/// <summary> /// This method called for each data item during databinding operation /// You have to bind data item properties to ui elements in order to display them. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnItemDataBinding(object sender, VirtualizingTreeViewItemDataBindingArgs e) { GameObject dataItem = e.Item as GameObject; if (dataItem != null) { //We display dataItem.name using UI.Text Text text = e.ItemPresenter.GetComponentInChildren <Text>(true); text.text = dataItem.name; //Load icon from resources Image icon = e.ItemPresenter.GetComponentsInChildren <Image>()[4]; icon.sprite = Resources.Load <Sprite>("cube"); //And specify whether data item has children (to display expander arrow if needed) e.HasChildren = dataItem.transform.childCount > 0; } }