В том то и дело, что логика верна) Чтобы в мультиплеере привязать что-либо к конкретному игроку, нужно при создании этого объекта указать владельцем, к примеру, player controller (я уже видел то видео, на которое вы давали ссылку. Там нет мультиплеера, но принцип присоединения интерфейса к конкретному игроку воспроизведён верно. Чтобы сделать тоже самое, например, с widget нужно к вкладке owner присоединить player controller и тогда каждый игрок получит свой независимый экземпляр widget). Но с джойстиками это не срабатывает. Более того, вот что странно: если вызвать функцию activate touch interface со значением none у каждого из игроков (да, ещё непонятный нюанс - нет специализированной функции убрать touch interface - только активировать пустой... Непонятно...) и убрать у всех игроков джойстики, а потом активировать touch interface у клиента 2, локально, то эти джойстики всё равно подключаться к клиенту 1! Даже если логику запустить чисто на клиенте (есть специальный разделитель switch has authority), а не на сервере всё равно произойдёт подключение по сети к первому игроку.
Судя по тому, что джойстики "ломают" все созданные epic games функции для мультиплеера (не работает стандартная привязка к игроку, не действует на них разделение логики на два пути - логику сервера и логику клиента) у меня закрадывается подозрение, что с джойстиками где-то напортачили сами создатели движка и использовать их в мультиплеере в принципе невозможно! Вопрос в том, как их тогда заменить...
Наверное стоит напомнить и про другие вопросы, заданные в этой теме, а то здесь уже началась вторая страница.
1) Posses в мультиплеере - своеобразным решением стало (хорошо, что проект позволяет это) не использовать эту функцию вовсе, так как в пределах одного уровня мне между персонажами переключатся не нужно. А для каждой карты в world settings можно установить в настройках свой game mode для нужного на этой карте персонажа, с которым можно общаться с ним через get player controller -> get controller pawn. Но всё же интересно, как можно воспользоваться данной функцией.
2) Как ни странно, но всё, кроме джойстиков работает и без репликации (ну, пару переменных пришлось реплецировать, чтобы избавиться от сообщений в message log).
3) Джойстики... Ну, с ним да, та ещё проблема.
4) Итак, я освоил create session (создать игровую сессию) и join session (присоединится к игре) и после того, как встретил второго персонажа я понял, что ни один из элементов добавляемый add static mesh component не виден у других игроков, хотя галочка у репликации стоит! А на этом построена большая часть игры. Причём с репликацией данной функции, как я заметил создав отдельный проект для экспериментов, ситуация доходит до абсурда. Например: я на одном из клиентов могу другим игроком буквально играть в пинг-понг кидая его по всей карте, создав вокруг своего игрока платформу (проверял в Thir Person), а с летающим по карте игроком с его точки зрения ничего не происходить. Причём если он сделает любое движение (например пробел у него нажму), то с точки зрения кидавшегося им игрока произойдёт мгновенная телепортация персонажа. Даже не поймёшь, смотря на всё это, что с этой ситуации делать - смеяться или ругать всех и вся.