If a persistence update happens two frames in a row, it can attempt to write the persistence file twice at the same time, throwing a file lock error. SaveToFile needs to store an isWriting state, and LateUpdate should short circuit if a write is already in progress (it'll just get picked up again on the next frame).