static public List <TrackAsset> GetTrackList(GroupTrack groupTrack) { var bf = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.GetField; var type = groupTrack.GetType().BaseType; var fieldInfo = type.GetField("m_Children", bf); var clips = fieldInfo.GetValue(groupTrack); var trackAssetList = clips as List <TrackAsset>; if (trackAssetList != null) { return(trackAssetList); // 2017.1 tracks } // later version. var scriptableObjectList = clips as List <ScriptableObject>; var ret = new List <TrackAsset>(); foreach (var asset in scriptableObjectList) { ret.Add(asset as TrackAsset); } return(ret); }