Написать анализатор, который будет действовать как человек. Что там у нас первое - скобки. Значит ищем блоки те что в скобка и натравливаем на них анализатор снова. Далее выявляем блоки деления/умножения, считаем их, результат засовываем обратно. Затем делаем сложение/вычитание, ну и так далее.
П.С. кстати интересное задание.
Интересно, почему C# принципиально не позволяет расширять базовый экземпляр, как в этом коде?
Потому, что объект создан и занимает в памяти 20 байт. И о не как не может кастнуться в объект который должен занимать 20 Мб.
Поэтому вам как не крути придётся создавать новый экземпляр.
Где вы взяли этот скрипт, там просто букет классических ошибок
1) Какое отношение имеет сетевой стек в физическим тикам, чтобы его запускать в FixedUpdate
2) Зачем каждый update создавать буфер и StringBuilder
Такова механика. Instantiate - это не загрузка, а создании копии, поэтому оригинал должен быть загружен к этому моменту. Если нужно грузить именно в нужный момент, используйте Resource.Load(path)