Поскольку ваши объекты MonoBehaviours вы можете использовать
ObjectController[] cs = FindComponentsOfType<ObjectController>();
Редактировать: вы также должны вызывать это из MonoBehaviour!
Я не знаю точно, что вы имеете в виду под "перезапустить их позже", если вы хотите сохранить его на жестком диске:
Вы можете использовать Json! для этого у вас должны быть все сохраняемые данные в таких структурах, как:
struct DataStruct { Vector3[] positions }
DataStruct data = (insert your data here);
string dataString = JsonUtility.ToJson<DataStruct>();
// this saves the struct on the hdd
System.IO.File.WriteAllText(your data path);
// this reads the file
string datareconstructed = System.IO.File.ReadAllText(path);
// this struct will contain all the previously saved data
// you just need to set the positions from it to you objects again
DataStruct dataReco = JsonUtility.FromJson<DataStruct>(datareconstructed)
это не будет компилироваться, вам нужно подогнать это под ваши данные и так, но я надеюсь, что дал вам хорошую отправную точку!