Zefirot, Попробуй убрать лерп и делать то же самое, что ты выше делаешь. Определяй нормализованное направление и двигай в эту сторону, пока не достигнет нужной позиции.
Zefirot, Ну так ты отправляй позицию для коррекции. От клиента на сервер уходит инпут и координата для коррекции, от сервера все отправляется остальным клиентам, у них корректируется позиция, если нужно и выполняется команда (двигаться, прыгать, стрелять и т.д). Я не нетворк разработчик, так что могу где-то ошибаться, лучше спроси на каких-нибудь профильных ресурсах или гугли Client-side prediction
Zefirot, Абсолютно не важно, используешь ты дельту физики или отрисовки, в FixedUpdate твоя deltaTime превращается в fixedDeltaTime, твоя проблема здесь явно не в этом. Как тебе сказали в другом ответе, тебе нужно передавать не позицию, а команды управления и перемещать объект на клиентах.
yraiv, Пуля у тебя с какой скоростью летит, что проходит сквозь коллайдеры? Если у тебя мой код, то там в Awake у пули устанавливается isKinematic в true, строчку эту удали и все заработает. С аддфорс у тебя пуля будет разгоняться, она не будет иметь быструю начальную скорость, как должна и при каждом рефлекте скорость будет обнуляться и пуля снова начнет разгоняться.
yraiv, У тебя тайлмап коллайдер автоматически создает коллайдер размером с тайл. Я не понимаю в чем у тебя там проблема. Если нужно конкретному тайлу изменить генерируемый колайдер: выбираешь СПРАЙТ тайла, открываешь его в спрайт эдиторе, слева сверху выбираешь Custom Physics Shape, редактируешь как тебе нужно.
yraiv, Collision detection у Rigidbody пули ставь в Continuous. Тогда и велосити не нужно будет. Коллайдер пули длиннее сделай. При скорости 50 она не проходит обычный куб со скейлом 0.01, т.е. такой, что его почти не видно. Не знаю насколько тонким должен быть коллайдер, чтобы пуля сквозь него проходила.