Давайте начнем с этого.Избегайте обновления переменной в UpDate (), это приведет к обновлению этих переменных один раз за кадр, что означает несколько раз в секунду.Что не очень эффективно.
Кроме того, как я понимаю из вашего кода, вы прочитаете эту переменную pos, только один раз в GetPos, во время запуска ().
Поскольку вы пытаетесь сохранить эту возможность из transform.position, я предполагаю, что этот класс подключен к GameObject.
В этом случае набор GameObjects из двухразличные типы: Го и Средиземноморье, вы можете получить их варианты, как это:
GameObject.FindGameObjectWithTag("go").transform.position;
или
GameObject.FindGameObjectWithTag("mediterranean").transform.position;
И вам не нужно будет хранить эту позицию в любой переменной вашего класса,так как сам gameobject содержит элемент transform с позицией.
Подробнее о тегах GameObjects вы можете узнать здесь
А о вашей конкретной проблеме вы получите значение 0Это может быть связано с тем, что вам необходимо получить доступ к каждому компоненту вектора 3 независимо
Pos[0] = new Vector3(GoPos.pos.x,GoPos.pos.y,GoPos.pos.z);
Я не могу проверить это прямо сейчас, но это должно быть что-то похожее на это
Подробнее о vector3 вы можете прочитать здесь