Настройка visual studio ue4

Обновлено: 04.07.2024

Здесь я запишу, чтобы не забыть и, может быть, кому-нибудь помочь, как я решал те или иные проблемы, когда работал с UE 4.8.3 и Visual Studio 2013, подключая OpenCV.
Пусть вещи и тривиальные для тех, кто знает зачем нужны заголовочные файлы и что такое .lib-файлы и как работает LINK, но описывать я буду в формате "Ошибка - Решение", так как так проще искать решение.
Осторожно! Советы могут быть вредными, так как я новичок в C++ и UE4.


Update: Native Camera работает на Android только на некоторых устройствах. В версии OpenCV 3.0 от native camera отказались совсем.

1. Как подключить opencv в проект UE4

На данный момент мне удалось подключить только OpenCV версии 2.4. Версия 3 не работала.
Подключить получилось только через DLL-файлы.


Допустим, вы написали код в вашем UE4 проекте, который использует opencv.
Например, определили переменную
cv::Mat frame;
и использовали вызов
cv::cvtColor(img, img, CV_BGR2Luv);
Первым делом, редактор будет подчеркивать эти строки и писать ошибку

Mat: identifier not found
cvtColor: identifier not found
Это означает, что определения этих структур и функций не найдено. Чтобы решить эту проблему, нужно подключить правильный заголовочный файл (.h, .hpp), где они описаны. В нашем случае это
но путь до opencv2 будет определен из путей, которые описаны в конфигурации проекта. Эти файлы должны находится в дистрибутиве opencv примерно по следующему пути:
Но есть два места, где этот путь стоит указать. Первое - это Properties у самого проекта в VS, там раздел VC++ Directories параметр Include Directories. Второе - это файл конфигурации сборки проекта, который имеет имя в таком формате:

Настройки из Properties использует редактор, чтобы помочь с синтаксическими ошибками и не подчеркивать красным пути до include-файлов, а настройки из файла build.cs используются, когда происходит сборка проекта. Поэтому в конструктор build.cs нужно добавить строку
PublicIncludePaths.Add("D:/. opencv. /build/include");


Если после этого попытаться собрать проект, то будет ошибка LINK:

Это означает, что не найдена реализация функций, которые описаны в заголовочных файлах. Их реализация находится в dll-файлах, но линковщику требуются еще и .lib-файлы, которые будут указывать, по какому адресу и в каком dll-файле находится реализация.
OpenCV содержит lib-файлы в директории build/Win64/vs12/lib, а dll в build/Win64/vs12/bin
В конфигурацию сборщика теперь нужно указать пути до конкретных lib-файлов, которые вы используете. Для этого добавьте в конструктор пути в следующем формате:
PublicAdditionalLibraries.Add("D:/. opencv. /build/Win64/vs12/lib/opencv_core2411.lib");
PublicAdditionalLibraries.Add("D:/. opencv. /build/Win64/vs12/lib/opencv_highgui2411.lib");
PublicAdditionalLibraries.Add("D:/. opencv. /build/Win64/vs12/lib/opencv_mgproc2411.lib");

Следует обратить внимание, что имя файлов может отличатся версией. Кроме того, следует разделять Win64 и Win32, а так же debug и release-версии. Удобный способ разделения в зависимости от таргет-платформы описан в гайде по ссылке выше. Я опишу только один случай, так как d-версии (debug) библиотек мне использовать не удалось.


Теперь можно попробовать собрать проект (Build). Одной из проблем может быть просто неудачная сборка без подробных объяснений и конкретных ошибок:

LNK1104: cannot open file
error: Failed to produce item
The command ". .uproject -rocket" exited with code 5. Please verify that you have sufficient rights to run this command.



В моём случае это означало, что я сделал ошибки в файле конфигурации сборки build.cs. Переписав его с самого начала, ошибка исчезла и проект стал собираться.


Если вы запускаете сборку из VS с запуском проекта, то после успешной сборки начнется запуск редактора. При этом может возникнуть краш при загрузке модулей. В моём случае это было на 73% запуска редактора. Это означало, что dll-файлы opencv не были найдены. Сами файлы лежат в D:/. opencv. /build/Win64/vs12/bin. Есть минимум два решения подключения файлов:
1. Добавить в переменную окружения PATH путь до dll файлов opencv
2. Скопировать содержимое bin в папку Binaries вашего проекта, откуда происходит запуск редактора после сборки.
Я выбрал второй.

2. Решение проблемы краша при нажатии кнопки Play в редакторе

Если вы в проекте используете cv::findContours или другие функции OpenCV, которые имеют аргументы вида std::vector<std::vector<cv::Point>>, то скорее всего после запуска проекта он у вас вылетит с Access violation, а в журнале дебага после [External code] будет строка

Unreal Engine 4 (UE4) предназначен для легкой интеграции с Visual Studio, он может быстро и легко изменять код проекта и сразу же получать отзывы о компиляции. Правильная настройка Visual Studio на основе UE4 может повысить производительность и улучшить работу.

В этом документе будут рассмотрены некоторые основные методы UE4 на VS2013.

Перед настройкой

Прежде всего, обратите внимание, что Visual Studio 2015 (VS2015) не включает инструменты C ++ при установке по умолчанию. При установке VS2015 необходимо выбратьизготовленный на заказУстановите и проверьте компоненты C ++, которые необходимы для дальнейшей работы. Если у вас установлена ​​Visual Studio 2015, вы можете выбратьFile > New > Project > C++Установите C ++.

В следующей таблице показано соответствие между версиями UE4 и предварительно интегрированными версиями Visual Studio.

4.15 or Later

4.10 to 4.14

4.2 to 4.9

Версия Unreal 4 с открытым исходным кодом (загруженная с GitHub или P4) была интегрирована с VS2013. Более старые версии UE4 и более ранняя Visual Studio здесь не описаны.

Рекомендуемые настройки

Ниже приведены рекомендуемые настройки для разработчиков, использующих Visual Studio с Unreal Engine 4.

Выполните следующие действия, чтобы увеличить ширину раскрывающегося списка конфигураций решения:

Щелкните правой кнопкой мыши на панели инструментов и выберитеCustomize。

SelectingCustomize.jpg

Нажмите наCommandsРазбивка.

ClickCommandsTab.jpg

выбратьToolbarПараметры.

SelectToolbarRadioButton.jpg

вToolbarВ раскрывающемся списке рядом с ним выберитеStandard,

SelectStandard.jpg

вControlsВ нижней части списка выберитеSolution Configurations。

SelectSolutionConfigControl.jpg

Нажмите справаModify Selection。

ClickModifySelection.jpg

волиWidthУстановите на «200».

SetWidth_200.jpg

Нажмите наCloseПанель инструментов обновится автоматически.

ClickClosetoUpdateToolbar.jpg

Выполните следующие действия, чтобы добавить раскрывающийся список Solution Platforms.

Найдите крайнюю правую кнопку на стандартной панели инструментов.После нажатия появляется раскрывающееся меню для добавления или удаления кнопок на панели инструментов.

SelectDropDownButton.jpg

SelectSolutionPlatforms.jpg

еслиError ListЕсли окно открыто, сначала закройте его.

отToolsВ меню откройтеOptionsДиалоговое окно

OpenOptionsDialog.jpg

выбратьProjects and SolutionsИ снимите этоAlways show Error List if build finishes with error。

UncheckErrorsListOption.jpg

Нажмите наOK。

Другие параметры конфигурации, которые могут быть полезны:

близкоПоказать неактивные блоки, Если вы не отключите это, многие блоки кода будут недоступны в текстовом редакторе. (Параметры> Текстовый редактор> C / C ++> Форматирование)

Включите IntelliSense и «загогулины», чтобы заставить их работать. (Пожалуйста, обратитесь кИнтеллисенс, Живые Ошибки и СквигглыСекция)

Если не нужноРедактировать и продолжитьОсобенности, пожалуйста, отключите их. (Параметры> Отладка> Изменить и продолжить)

Visual Assist X рекомендуемые пользователем настройки

Закрыть в Visual Assist X (VAX)Формат после вставкиФункция. Эта функция иногда может привести к путанице в формате. (Параметры VAX> Дополнительно> Исправления)

Отключить в браузере решенийВнешний (внешний)Папки, они нарушают вид. (ВПараметры> Текстовый редактор> C / C ++> ДополнительновОтключить папку внешних зависимостей )

Visual Studio 2017 Users

Если вы устанавливаете Visual Studio впервые, вам необходимо убедиться, что включены следующие параметры. [Галочка в правом нижнем углу (установщик Unreal Engine)]

Следующие параметры загрузят установщик UE4 как часть установки Visual Studio 2017.

VS2017_SettingsInstaller.jpg

Не включает установщик UE4
Следующие параметры не загружают установщик UE4 как часть установки Visual Studio 2017. [Unreal Engine установщик не отмечен]

VS2017_SettingsNoInstaller.jpg

Интеллект, живые ошибки и сквигглы

Проекты Unreal Engine 4 теперь поддерживают функциональные возможности IntelliSense, в том числе список ошибок в реальном времени и Squiggles. (Пожалуйста, обратитесь к следующему введению для получения информации о том, как включить его.)

Функция IntelliSense в VC10 перекомпилирует C ++ при написании кода. Это гораздо мощнее, чем просто проверка синтаксиса VAX: VC10 использует полноценный компилятор C ++ и может проверять каждую строку кода. Эта функция очень мощная и ускорит ваш рабочий процесс!

VC++ Intellisense Squiggles

При использовании вместе с функцией напоминания тильды, если в просматриваемом файле есть ошибки IntelliSense, его можно увидеть в списке ошибок. Вы можете включить или отключить эту функцию из контекстного меню списка ошибок.

VS 2010 Error List

Поскольку функция Squiggles не работает с проектами Unreal Engine 4, возможно, вы отключили их. Обязательно перейдите на вкладку C / C ++ Advanced и используйте следующие настройки.

VC++ Advanced Options

Когда вы открываете файл C ++, вы можете определить, работает ли компилятор IntelliSense, по этой иконке:

Intellisense Progress Indicator

Детали реализации

Иногда может потребоваться несколько секунд для отображения волнистых подсказок при написании кода.

Это потому, что у нас много включаемых файлов, и IntelliSense в настоящее время не использует предварительно скомпилированные заголовочные файлы.

Иногда вы видите «ложноположительные» ошибки IntelliSense. Вот несколько возможных причин.

Компилятор IntelliSense (EDG) более строг, чем компилятор MSVC.

Компилированный IntelliSense C ++ всегда рассматривается как 32-битный.

Неправильное выражение IntelliSense немного отличается от неправильного выражения компилятора VC ++. Они просто выражают по-разному.

Функция Squiggles в заголовочном файле компилирует известные .cpp Соответствующие заголовочные файлы для работы.

Иногда IntelliSense портит эту функцию, заставляя вас видеть волнистые подсказки в заголовочных файлах.

При необходимости вы можете увеличитьМакс Кэшированные переводческие единицыНастройки.

Он будет использовать больше памяти, но может немного улучшить скорость отклика.

Несколько файлов C ++ еще не совместимы с IntelliSense.

Unreal Build Tool имеет новый -IntelliSense Параметры.

Это создаст листы свойств IntelliSense для всех файлов нашего проекта.

Когда вы добавляете новый модуль или проект содержит изменения, просто перезапустите его.

Плагин UnrealVS

Расширение Visual Studio UnrealVS обеспечивает легкий доступ к общим операциям при разработке с Unreal Engine.

unrealvs_toolbar_cmd.jpg

Особенности включают в себя:

Установите запуск проекта.

Скомпилируйте привязываемые команды для запуска проекта.

Установите параметры командной строки.

Скомпилируйте проект партиями.

Быстро скомпилируйте меню проекта.

Расширение UnrealVSнеспособныйиVisual Studio ExpressВерсии работают вместе. Он совместим только с Visual Studio Professional.

Плагин UnrealVS не работает с Visual Studio 2012 Lite. Он совместим только с Visual Studio 2012 Professional.

Пожалуйста, обратитесь кРасширение UnrealVSЭта страница содержит информацию о настройке и использовании плагина.

Отладка

Visual Studio поддерживает расширение отладчика с помощью «визуального средства просмотра» для простого просмотра распространенных нереальных типов данных, таких как объекты FNames и динамические массивы.

Настройки визуального просмотра для Visual Studio 2013

Вы заметите, что ваш установочный файл содержит файлы с логикой визуального просмотра:

Скопируйте файл в следующую папку:

Копирование этого файла в каталог установки Visual Studio может потребовать прав администратора.

Unreal Engine предназначен для плавной интеграции с Visual Studio, что позволяет вам быстро и легко вносить изменения в свои проекты, чтобы сразу увидеть результаты после компиляции. Настройка Visual Studio для работы с Unreal Engine может помочь повысить эффективность и общее взаимодействие с пользователем для разработчиков, использующих Unreal Engine.

В этом документе мы также рассмотрим основные настройки рабочего процесса Unreal Engine>Visual Studio.

Перед настройкой рабочего процесса Unreal Engine>Visual Studio

В следующей таблице указано, какие версии Visual Studio интегрированы с соответствующими версиями Unreal Engine 4.

Начиная с версии 4.22, Unreal Engine не поддерживает VS 2015. Unreal Engine по-прежнему использует VS 2017 по умолчанию, но также поддерживает VS 2019.

Чтобы настроить Unreal Engine 4.20 для создания решения и файлов проекта VS 2015, вы можете выполнить одно из следующих действий:

Выберите версию Visual Studio, которую вы хотите использовать в качестве предпочтительной IDE исходного кода в редакторе (из окна настроек редактора)

Измените соответствующий раздел файла BuildConfiguration.xml

Версии Unreal Engine с открытым исходным кодом (доступны через GitHub и Perforce) интегрированы с VS 2013. Кроме того, более ранние версии Unreal Engine, интегрированные с более старыми версиями Visual Studio, не рассматриваются в этом документе.

Запустите установщик предварительной установки Unreal Engine

Когда вы устанавливаете Unreal Engine из Epic Launcher или клонируете его из GitHub, обязательный установщик Unreal Engine запускается автоматически. Однако, если вы устанавливаете или синхронизируете Unreal Engine из Perforce, вам нужно будет вручную запустить обязательный установщик. Это необходимо сделать до запуска любых инструментов Unreal Engine, которые вы создали локально.

Параметры для новой установки Visual Studio

Если вы устанавливаете Visual Studio в первый раз, вам нужно убедиться, что у вас включены следующие параметры.

Инструменты C ++

VS2017_SettingsNoInstaller.jpg

Включите Unreal Engine Installer

VS2017_SettingsInstaller.jpg

Рекомендуемые настройки

Ниже приведены рекомендуемые настройки для разработчиков, использующих Visual Studio вместе с Unreal Engine 4.

Увеличьте ширину выпадающего меню конфигураций решения

SetUpVisualStudio-RecommendSettings-SolutionConfigStep02.jpg

Нажмите на вкладку Команды .

SetUpVisualStudio-RecommendSettings-SolutionConfigStep03.jpg

Выберите переключатель на панели инструментов .

SetUpVisualStudio-RecommendSettings-SolutionConfigStep06.jpg

Нажмите Изменить выделение справа.

SetUpVisualStudio-RecommendSettings-SolutionConfigStep07.jpg

Установите ширину до 200 . Затем нажмите ОК .

SetUpVisualStudio-RecommendSettings-SolutionConfigStep08.jpg

Нажмите Закрыть . Ваша панель инструментов должна обновиться немедленно.

Добавьте раскрывающийся список платформ решений

SetUpVisualStudio-RecommendSettings-SolutionPlatformsStep02.jpg

Отключить окно списка ошибок

Как правило, окно списка ошибок появляется автоматически, когда в вашем коде есть ошибка. Однако при работе с Unreal Engine в окне Список ошибок может отображаться информация о ложных ошибках. Лучше всего отключить окно Error List и использовать окно Output, чтобы увидеть реальные ошибки кода при работе с Unreal Engine. Следующие шаги показывают, как отключить окно списка ошибок .

Закройте окно Список ошибок, если оно открыто.

Вот некоторые другие параметры конфигурации, которые могут оказаться полезными:

Отключите Показать неактивные блоки . Если вы этого не сделаете, многие фрагменты кода могут отображаться серым цветом в текстовом редакторе. Выберите Сервис> Параметры> Текстовый редактор> C / C ++> Вид, чтобы отключить этот параметр.

Включите IntelliSense. Смотрите раздел Intellisense, Live Errors и Squiggles на этой странице.

Пользователи Visual Assist X

Отключить формат после вставки. Перейдите в VAssistX> Параметры Visual Assist X> Дополнительно> Исправления, чтобы изменить этот параметр.

Если вы не отключите эту опцию, Visual Assist X автоматически отформатирует ваш исходный код. Это может привести к плохо отформатированным документам.

Intellisense, ошибки в реальном времени и Squiggles

Проекты UE4 теперь имеют надлежащую поддержку IntelliSense, в том числе живой список ошибок и кривые. Смотрите ниже, как включить его.

IntelliSense перекомпилирует C ++ при вводе. Это намного мощнее, чем проверка синтаксиса VAX, поскольку он использует полный компилятор C ++, который проверяет каждую строку кода. Это значительно ускорит ваш рабочий процесс.

VC ++ Intellisense Squiggles

Наряду с загогулами, вы также увидите ошибки IntelliSense в списке ошибок для любого файла, который вы просматриваете. Вы можете включить или выключить это в контекстном меню в Списке ошибок.

Список ошибок

Возможно, вы уже отключили загогулины, потому что они не работали с проектами UE4. Обязательно нажмите C / C ++> Advanced и используйте настройки, аналогичные приведенным ниже.

VC ++ Дополнительные параметры

При открытии файла C ++ значок, показанный ниже, указывает, что компилятор IntelliSense работает.

Индикатор прогресса IntelliSense

Детали реализации

Иногда при редактировании кода появляются загогулины в течение нескольких секунд. Это потому, что у нас много включаемых файлов, и IntelliSense в настоящее время не использует PCH.

Компилятор IntelliSense (EDG) является более строгим, чем компилятор MSVC.

С ++, скомпилированный IntelliSense, всегда рассматривается как 32-битный.

Ошибки IntelliSense формулируются немного иначе, чем ошибки компилятора VC ++.

Squiggles в заголовочных файлах работают путем компиляции заголовка с известным .cpp включающим его. Иногда IntelliSense запутывает это, и вы увидите загогулины в заголовках.

Существует параметр Max Cached Translation Units, который вы можете увеличить, если хотите повысить скорость отклика. Однако он использует больше памяти.

Несколько файлов C ++ еще не совместимы с IntelliSense.

В Unreal Build Tool появилась новая -IntelliSense опция.

Эта опция генерирует листы свойств IntelliSense для всех наших файлов проекта.

Эту опцию необходимо перезапускать только при добавлении новых модулей или изменении включений проекта.

Расширение UnrealVS

Расширение UnrealVS для Visual Studio обеспечивает легкий доступ к общим действиям при разработке с Unreal Engine 4. В этом документе объясняется, как установить расширение, а также как использовать его в вашем проекте.

Привязываемая команда для создания проекта запуска.

Расширение UnrealVS не работает с выпусками Visual Studio Express. Он совместим только с выпусками Visual Studio Community и Professional.

отладка

Visual Studio поддерживает расширение отладчика с помощью визуализаторов, которые позволяют легко проверять распространенные типы Unreal, такие как FNames и динамические массивы.

Установка визуализатора UE4 для Visual Studio 2013

[VisualStudioInstallPath] /Common7/Packages/Debugger/Visualizers/UE4.natvis

[UserProfile] / Мои документы / Visual Studio 2013 / Визуализаторы / UE4.natvis

Для копирования файла в установочный каталог Visual Studio могут потребоваться разрешения администратора.

О чем хочу поговорить? О том, как настроить свое окружение для UE4 так, чтобы потом не было мучительно больно работать. Какой у меня опыт? Никакого - инди из ассетов и та еще в разработке. Поэтому правки, замечания и дополнения максимально приветствуются!

Я, наверняка, опоздал с помощью к текущему гейм-джему… Значит, оставим сей труд для будущих поколений. 😁 Еще хочу отметить, что буду говорить о настройке UE4 именно для программирования. Скорее всего, у художников или звуковиков свои требования.

Да, анрил требователен к железу. Если у вас совсем древняя пишущая машинка и нет возможности апгрейда, то стоит посмотреть на другие движки: Unity или Godot. Если же у вас геймерский ПеКа, то он наверняка подойдет для комфортной работы с UE4.

  • Видеокарта. Советовать тут сложно. Она должна быть. Она должна быть дискретной. А дальше все зависит от тяжести игры. Я не замечал, чтобы анрил что-то усиленно считал на видюхе. Думаю, любая современная (год-два) дискретная видеокарта потянет большинство задач.
  • Процессор. Сборка С++ и шейдеров проходит именно на CPU. Больше потоков – больше одновременных задач – быстрее выполняется работа. Частота процессора по приоритету ниже.
  • Память. Ее должно быть очень много. 😊 Минимальный минимум 8 гигабайт. И очень важна скорость взаимодействия процессора с памятью, память должна успевать обслуживать все ядра. Вот тут может быть ощутимый профит от «разгона».
  • Самое главное – винчестер. С HDD будут боль и страдания. Только SSD и по возможности NVMe. Обращать внимание на случайную скорость записи и чтения. 120 гигабайт будет впритык. Поставить 2 версии движка уже не получится, так как 4.22 с отладочной инфой весит около 35 гигабайт.

На 3dnews есть великолепный раздел «Компьютер месяца», конкретные комплектующие можно посмотреть в нем. Например:

На недавно прошедшей выставке Computex 2019 было представлено множество интересных новинок…

Еще я не замечал на официальных стримах, чтобы кто-то из эпиков пользовался компьютерами от Apple. Если у кого-нибудь есть такой опыт, интересно будет его обсудить в комментариях.

Напоминаю, весь софт должен лежать на SSD, не только движок.

  • Винда. Эпики кругом и по всякому используют семерку и десятку. Я не видел macOS или Linux. Поэтому у меня большие сомнения, что они хорошо оптимизируют и тестируют работу с движком под другие платформы.
  • Студия. Две версии на выбор: 2017 и 2019. 2017-я хороша и надежна, но без Visual Assist X работать с UE4 тяжело. IntelliSense не справляется совсем: подсветку не дождешься, автозаполнение не работает, кругом фантомные ошибки. А VAX стоит от $50 до $250, что, мягко говоря, ощутимо. С 2019 таких проблем нет, IntelliSense «из коробки» отлично переваривает UE4. Правда, сейчас есть небольшие проблемы со стабильностью, у меня пару раз студия падала на поиске.
  • Если не устраивает студия, то можно попробовать CLion или Visual Studio Code. Но, в любом случае, придется ставить студию со всеми SDK.
  • Epic Games Launcher (в этот момент раздается зловещий хохот Галенкина за кадром) и Unreal Engine 4. Я крайне рекомендую ставить самую последнюю версию движка и всегда его обновлять. Например, полная пересборка нашей игры на 4.21 занимала около 120 секунд, сейчас, на 4.22, эта операция занимает меньше 90 секунд.
  • GIT или любая другая система контроля версий, поддерживаемая UE4. Даже если работа идет в одиночку. Дело в том, что через нее UE4 узнает об измененных файлах, и может группировать неизмененные С++ файлы в один, что существенно повышает скорость сборки. Поработали, видим, что студия начинает компилировать тонну файлов, коммит+пуш и снова все собирается быстро.
  • Периодически желательно чистить папку с игрой. BAT-ничек прилагаю ниже, его кладем рядышком с *.uproject. Запускать перед коммитом, естественно закрыв студию и движок.
echo off rem Visual Studio del /Q .vs rd /S /Q .vs del *.sln rem Visual Studio Code del /Q .vscode rd /S /Q .vscode del *.code-workspace rem Unreal Engine del /Q Binaries rd /S /Q Binaries rem Build - build settings del /Q "Build\WindowsNoEditor" rd /S /Q "Build\WindowsNoEditor" rem Intermediate - temporary files generated when you compile your code del /Q Intermediate rd /S /Q Intermediate rem Saved - local log & configuration files, screenshots, auto-saves etc. del /Q Saved rd /S /Q Saved

Антивирус. Этот друг реально бесит, но без него страхово. Поэтому в исключения добавим только критичные для разработки папки:


Вам понадобятся исходники движка, поскольку они потребуются для компиляции серверного решения в Visual Studio.

Для этого посетите официальный репозиторий Unreal Engine 4 на GitHub:

2. Выбор версии движка

Последние приготовления. Настройте Windows так, чтобы вы могли взаимодействовать с .uproject-файлами. Для этого найдите «UnrealVersionSelector-Win64-Shippping.exe» в папке UnrealEngine/Engine/Binaries/Win64/ и запустите. Теперь проект будет запускаться двойным щелчком по .uproject-файлам, а нажатие ПКМ по ним позволит быстро обновить файлы Visual Studio.

Причем, при загрузке проекта вы сможете выбрать версию движка, в которой необходимо открыть проект.

3. Использование проекта с Visual Studio и движком, скомпилированным из исходников.

Нажмите ПКМ по вашему .uproject-файлу и измените версию движка на «source-built engine». Лучше всего, чтобы в вашем проекте был код. Достаточно пустого класса (вы сможете удалить его позже).

После этого перейдите в корневую папку проекта и щелкните ПКМ по .uproject-файлу, чтобы сгенерировать файлы для Visual Studio.

4.Создание <МойПроект>Server.Target.cs

Выделенному серверу необходим контент. Зайдите в File -> Package Project -> Packaging settings. Здесь вы найдете несколько опций:

  • Use Pak File (Использовать Pak-файл): запаковать все ассеты в один .pak-файл – отключите, если вам требуется сохранить обычную структуру контента (например, для дополнительных загрузок контента)
  • Full Rebuild (Полная компиляция): Возможно, вы захотите отключить эту функцию, дабы уменьшить время запаковки.

После этого перейдите в File -> Package Project -> Package Windows/Linux и выберите папку. Теперь запаковывайте контент и компилируйте клиент.

Следующим шагом будет компиляция серверного кода с помощью Visual Studio. Первым дело нужно настроить серверный target для UnrealBuildTool.

Можно использовать следующий пример:

public class GameServerTarget : TargetRules

public GameServerTarget(TargetInfo Target)

public override void SetupBinaries(

ref List OutBuildBinaryConfigurations,

ref List OutExtraModuleNames

base.SetupBinaries(Target, ref OutBuildBinaryConfigurations, ref OutExtraModuleNames);

public override void SetupGlobalEnvironment(

ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,

ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration

// Don't need editor or editor only data

// no exports, so no need to verify that a .lib and .exp file was emitted by the linker.

// Tag it as a UE4Game build

public override bool GetSupportedPlatforms(ref List OutPlatforms)

// It is valid for only server platforms

return UnrealBuildTool.UnrealBuildTool.GetAllServerPlatforms(ref OutPlatforms, false);

public override List GUBP_GetPlatforms_MonolithicOnly(UnrealTargetPlatform HostPlatform)

if (HostPlatform == UnrealTargetPlatform.Mac)

return new List ();

public override List GUBP_GetConfigs_MonolithicOnly(UnrealTargetPlatform HostPlatform, UnrealTargetPlatform Platform)

Просто замените везде «Game» на название вашего проекта. Сохраните файл как <МойПроект>Server.Target.cs и сгенерируйте заново файлы проекта. Откройте Visual Studio, установите конфигурацию на сервер и выберите целевую платформу. Теперь скомпилируйте ваш проект.

Сейчас можно пропустить упаковку контента, но будьте готовы к вылетам из-за отсутствия необходимого контента.

5. Подготовка к упаковке контента

В этот момент могут появиться разные ошибки (“The game module could not be found” и подобные). Стоит перекомпилировать проект в Visual Studio.

6. Подготовка к упаковке контента в Unreal Frontend для сервера

Откройте в Visual Studio исходники движка и скомпилируйте UnrealFronted (шелкните ПКМ по решению «UnrealFrontend» и постройте его), запустите. Файл, скорее всего, находится в папке /Engine/Binaries/Win64.

Как только откроется Unreal Frontend, перейдите во вкладку «Project Launcher» и нажмите на кнопку «Advanced». Создайте пользовательский профиль, назвав его, скажем, «<МойПроект> Dedicated Server». Выберите конфигурацию под Windows и любые карты, которые хотите. Запустите процесс. После окончания работы можно приступить к компилированию выделенного сервера из исходников в Visual Studio.

7. Компиляция выделенного сервера из исходников

Вернитесь в Visual Studio, выберите серверное решение (к примеру, «Development Server / Win64») и постройте его. В папке /MyProject/Binaries/ должен находится файл «<МойПроект>Server.exe»

8. Создание клиента

Достаточно просто открыть редактор и скомпилировать клиент.

9. Запуск выделенного сервера

Двойной щелчок по <МойПроект>Server.exe приведет к тому, что сервер запустится в фоне. Мы же запустим его с помощью командной строки: откройте её и перейдите в директорию с исходниками проекта. Для активации логов добавьте параметр «-log»:

“<МойПроект >Server.exe –log”

Если у вас запущены другие копии сервера, то их стоит закрыть.

Заметьте, что сервер по умолчанию слушает порт 7777.

10. Присоединение к серверу

Откройте клиент, который вы создали на 8 шаге. Войдите в консоль, нажав «

Если у вас откроется черный экран, проверьте, что вы установили стандартную серверную карту в настройках проекта в редакторе.

Читайте также: