1. Программно создаю gameobject, создаю сетку (mesh) и присваиваю объекту: meshFilter.sharedMesh = mesh. Все работает нормально.
2. Создаю новую сетку, присваиваю её тому же объекту. Новую сетку видно видно, MeshCollider тоже меняется нормально, но видимость всего объекта считается Unity так, как-будто у объекта сетка осталась старой:
На этой картинке выделен один мой объект, с сеткой, состоящей из множества кубиков я-ля Minecraft. В первой сетке была только группа кубиков, которая справа; но в данный момент я уже присвоил объекту новую сетку, в которой к старым кубикам добавились новые вверху слева.
На этой картинке я повернул камеру так, чтобы группа старых кубиков вышла за экран. В результате весь объект пропал.
Проверял mesh.bounds и meshRenderer.bounds - они всегда правильные, соответствуют присвоенной сетке.