Как изменить List<> из другого скрипта?

В Script1 имеется список cubeList, который постоянно добавляет в себя объекты (например, по 1 кубу в секунду).

Как можно изменить список из другого скрипта Script2?

(Из того, что нашел - доступ к статичным переменным или просто копирование этого списка, без дальнейшего изменения. Так же есть способ изменения "простых" переменных, содержащих в себе лишь одно значение. Видимо, плохо искал, конечно.)

Вот пример используемого скрипта.

// Script1 подключен к объекту CubeSpawner 
public class Script1 : MonoBehaviour {

public List<GameObject> cubeList = new List <GameObject>();

//... идёт заполнение списка

}

public class Script2 : MonoBehaviour {

public CubeSpawn cLCopy;

void FixedUpdate () {

        cLCopy = GameObject.Find("CubeSpawner").GetComponent<Script1>(); 
        List<GameObject> cubeListCopy = cLCopy.cubeList; 

// далее используется, например:
// if (cubeListCopy.Count != 0) 
//     { Destroy(cubeListCopy[0]);}

}

Выводится ошибка:

NullReferenceException: Object reference not set to an instance of an object Script2.FixedUpdate () (at Assets/Script2.cs:48)

48   List<GameObject> cubeListCopy = cLCopy.cubeList;

Ответы (1 шт):

Автор решения: OXYGEN
  1. сделать список статичным

public static List cubeList;

  1. после этого доступ к элементам списка через точку

    Script1.cubeList

→ Ссылка