コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】Transform からすべての子オブジェクトを取得する方法

概要

using System.Collections.Generic;
using UnityEngine;

public class Example : MonoBehaviour
{
    private void Awake()
    {
        var children = new List<Transform>();
        foreach ( Transform child in transform )
        {
            children.Add( child );
        }
    }
}

上記のようなスクリプトを記述することで
Transform からすべての子オブジェクトを取得できます

using System.Linq;
using UnityEngine;

public class Example : MonoBehaviour
{
    private void Awake()
    {
        var children = transform.Cast<Transform>().ToList();
    }
}

このように LINQ を使用すると一行で記述することもできます