Unreal Engine 4 создает плагин для настраиваемого устройства ввода

Я хочу создать собственный плагин для Unreal Engine 4.

Я загрузил исходный код Unreal Engine 4.13 и успешно выполнил это руководство: https://wiki.unrealengine.com/Custom_input_device_plugin_guide

Я скомпилировал редактор UE4 и, запустив его, вижу, что мой плагин работает нормально.

Теперь я хочу поделиться своим плагином с другими людьми, поэтому я скопировал свою папку плагина (со всеми двоичными файлами) в папку плагина (Engine \ Plugins \ Developer) на другом ПК, где Unreal Engine 4.13 был установлен с помощью программы запуска Epics Game (так что в этом ПК У меня нет исходного кода Unreal Engine, но последняя версия установлена ​​на C: \ Program Files x86 ..... "

Проблема в том, что когда я запускаю какой-то проект, я вижу сообщение об ошибке:

«MyPlugin.dll отсутствует или создается с другой версией движка» и предлагаю мне построить. Я выбираю ОК и нажимаю «показать журнал», я могу прочитать «Цель обновлена». Затем это окно закрывается, и я получаю сообщение об ошибке, в котором меня просят пересобрать мой плагин вручную.

Что случилось?

Заранее благодарим за любое предложение!


person DaxDeveloper    schedule 08.09.2016    source источник


Ответы (1)


Можете ли вы попробовать поместить плагин в свой игровой проект и дать ему возможность скомпилироваться? Я загрузил плагин без двоичных файлов и столкнулся с той же проблемой, если поместил его в Engine/Plugins, но он отлично компилируется в MyGameProject/Plugins.

person Marson Mao    schedule 08.09.2016
comment
Да, я пробовал и отлично работает, если это базовый плагин. В моем случае плагину InputDevice требуются некоторые дополнительные включения, которые не загружаются из проекта. Я решил свою проблему, добавил все необходимые дополнительные функции, но это довольно скучная работа. - person DaxDeveloper; 09.09.2016
comment
@DaxDeveloper Замечательно, что это сработало. Но я хотел бы убедиться, вы в конечном итоге поместили плагины в Engine/Plugins или MyPorject/Plugins? - person Marson Mao; 10.09.2016
comment
Работает с MyProject / Plugin. В конкретном случае необходимо добавить в проект следующую команду для решения любых проблем компиляции, связанных с IInputDevice: YourEngineDir \ Source \ Runtime \ Core \ Public \ GenericPlatform; C: \ Program Files (x86) \ Epic Games \ 4.13 \ Двигатель \ Source \ Runtime \ InputDevice \ Private - person DaxDeveloper; 12.09.2016
comment
Ах, если вам нужны какие-либо заголовки в приватном разделе, тогда это головная боль. Я не уверен, как правильно использовать частные заголовки, но, читая исходный код движка, я думаю, что лучше использовать относительный путь вместо абсолютного. Как и ../../../Engine/Source/Runtime/InputDevice/Private, он используется во многих местах исходных кодов движка, вы можете искать / Private. - person Marson Mao; 12.09.2016