Ну начнем с того, что юнити просто не может нормально в многопоток, тут даже тесты и доказательства не нужны. Т.к. основные функции и переменные юнитовских компонентов работают только в мейн потоке. Даже экзепшн для этого есть особый. Так что единственный варик многопоточности - делать какие то вычисления, записывать результат в какую нибудь конкурент очередь и в мейн потоке в апдейте доставать результат и обрабатывать, но фейспанч клоуны и даже до этого не додумались(а я уверен, что есть способ даже лучше).
Теперь к теме. Чел, тебе незачем симулировать постоянно весь мир, если его никто не видит. Ты опиши, что ты хочешь сделать, потому что для разных штук есть разные способы обмана. Ты думаешь, что в играх по типу римворлда, в котором ты не видишь планеты обрабатывается каждый гекс отдельно чтоли? Например, если тебе нужно просто, чтобы животные фигачились друг с другом за кадром - ты можешь просто с шансом генерить мертвого оленя где нибудь в ренже 200 от игрока, например, чтобы он пришел, увидел труп и такой: "ого, тут волк убил оленя, крута"(на самом деле он просто подумает, что рядом недавно был другой игрок и начнет его искать или прятаться, очень крута, прям ваще). Если тебе нужно прям, чтобы нпц был в одном месте, а потом пришел игрок и он уже в другом, то ты просто записываешь в нпц, таймстемп, когда последний раз был рядом игрок и потом при следующем конткакте считываешь таймстемп и находишь разницу, сколько секунд не было рядом игрока и высчитывашь, что могло случиться с нпц за N секунд и куда он успел пройти.
И кстати очень сочувствую тем, кто не может думать во время того, как говорит.