Поделиться через


Открытие проектов Unreal Engine в Visual Studio

Visual Studio 2022 версии 17.12 обеспечивает прямую поддержку проектов Unreal Engine.

Ранее необходимо было создать проект Microsoft Visual Studio, прежде чем можно было работать с проектом Unreal Engine в Visual Studio. Этот процесс был громоздким. И всякий раз, когда новый ресурс был добавлен из редактора Unreal Engine или другим участником команды, проект Visual Studio должен быть повторно создан, чтобы оставаться в синхронизации с проектом Unreal Engine.

Теперь с прямой поддержкой файлов Unreal Engine (.uproject) можно работать непосредственно с проектами Unreal Engine из Visual Studio. Эта интеграция позволяет бесшовное редактирование, отладку и управление файлами проекта без трудоемкого процесса создания и повторного создания файла проекта Visual Studio.

Необходимые условия

Для работы с проектами Unreal Engine в Visual Studio необходимо установить следующее:

  • Visual Studio версии 17.12( предварительная версия 2 или более поздняя версия).
  • Unreal Engine версии 4.27 или Unreal Engine версии 5 и более поздних версий.
  • Инструменты Visual Studio для Unreal Engine. См. инструкции по установке в разделе Установка средств Visual Studio для Unreal Engine.
  • Скачайте пример игры Lyra. См. раздел Загрузка стартовой игры Lyra в Lyra Sample Game для получения инструкций по загрузке. Если вы приобрели его с помощью установки исходного кода Unreal Engine, эта версия не содержит ресурсов, необходимых для сборки и запуска игры. Используйте инструкции по скачиванию, чтобы получить все необходимые сведения с помощью установщика Epic.

Настройка для Unreal Engine 5.3 или более ранней версии

Для версий Unreal Engine до версии 5.4 выполните следующие действия, чтобы включить интеграцию Unreal Engine .uproject с Visual Studio. Эти действия работают независимо от того, установили ли вы Unreal Engine из средства запуска Epic Games или создали его из исходного кода.

  1. Скачайте исправление, относящееся к вашей версии Unreal Engine, из репозитория GitHub Unreal Engine. Например, UnrealBuildTool-5.2.patch патчи исправляют Unreal Engine версии 5.2.
  2. Откройте окно PowerShell или командной строки и перейдите в корневой каталог, где установлен Unreal Engine. Чтобы применить исправление, необходимо повышение прав администратора, если Unreal Engine установлен в защищенном каталоге, например C:\Program Files\Epic Games\UE_5.3.
  3. Примените исправление с помощью команды git apply <path to the downloaded patch file>. Например, git apply C:\Users\someuser\Downloads\UnrealBuiltTool-5.3.patch. Если это не удается, попробуйте git apply -v --ignore-whitespace --ignore-space-change <path to the downloaded patch file>.

Открытие собственного проекта Unreal Engine в Visual Studio

Существует два способа открытия собственного проекта Unreal Engine в Visual Studio:

  • файл>Открыть>папку, которая используется, когда в папке находится только один проект (.uproject).
  • Файл>Открыть>проект Unreal Engine, чтобы выбрать конкретный файл .uproject для открытия, если в папке несколько файлов проекта Unreal Engine.

В этом примере мы используем проект игры Lyra для демонстрации открытия собственного проекта Unreal Engine в Visual Studio.

  1. В Visual Studio откройте меню Файл и выберите Открыть>Открыть папку.

  2. Перейдите в каталог, где установлен проект игры Lyra (LyraStarterGame.uproject) и выберите Выбрать папку.

  3. После выбора папки файлы проекта отображаются в обозревателе решений, а в окне выходных данных появляются сообщения о настройке рабочей области.

    Снимок экрана Visual Studio после открытия папки для примера игры Lyra.

Появится сообщение о поддержке проекта Unreal Engine и отключены другие системы сборки, такие как CMake и MSBUILD. Это сообщение можно закрыть, щелкнув X в углу сообщения.

Просмотр проекта в обозревателе решений

В окне обозревателя решений отображаются многие файлы и папки, которые входят в проект Unreal Engine, такие как Platforms, Pluginsи Source папки. Вы также можете увидеть файл Unreal Engine .uproject. Папка для движка содержит каталог исходных кодов для Unreal Engine.

обозревателе решений фильтруется, чтобы сосредоточиться на исходном коде. По умолчанию папки Content отфильтровываются, которые содержат двоичные ресурсы, такие как текстуры, модели и т. д. Эти ресурсы можно открыть в редакторе Unreal Engine. Как правило, двоичные файлы не отображаются в обозревателе решений Visual Studio .

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

Страница конфигурации Unreal Engine

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

Чтобы получить доступ к этой странице в главном меню Visual Studio, выберите Project>Настроить средства для Unreal Engine:

Снимок экрана страницы конфигурации проекта Unreal Engine.

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

Состояние инструмента "Unreal Build"

Чтобы убедиться, что у вас есть последняя версия средства сборки Unreal (UBT), щелкните значок обновления для Состояние средства сборки Unreal.

В этом примере появляется сообщение о том, что средство сборки Unreal не использует последнюю доступную версию для генератора рабочих областей. Выберите Обновить, чтобы обновить средство сборки Unreal до последней версии:

Снимок экрана: параметр состояния средства сборки Unreal Engine на странице конфигурации.

В окне вывода отображаются сообщения во время подготовки инструмента сборки Unreal Engine. Появится сообщение о готовности рабочей области, после чего можно приступить к добавлению и редактированию файлов.

Целевые объекты Unreal Engine

При сборке проекта Unreal Engine существуют различные конфигурации сборки, называемые целями , которые можно выбрать.

Опция Unreal Engine для генерации целей — это место, в котором создаются эти цели. Выберите значок обновления, чтобы обновить список целевых объектов Unreal Engine и открыть окно, в котором можно выбрать целевые конфигурации, которые вы хотите создать:

Снимок экрана окна

Дополнительные сведения о сочетаниях целевых значений см. в документации Unreal Engine описания конфигурации сборки.

В этом примере LyraClient, DebugGameи Win64 выбраны в раскрывающемся списке.

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

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

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

Изменение целевых свойств

Чтобы изменить целевые свойства Unreal Engine, щелкните правой кнопкой мыши целевой файл, выделенный полужирным шрифтом, в обозревателе решений и выберите Изменить целевые свойства Unreal Engine.

Например, если LyraEditor.Target.cs — это целевой объект запуска (и это отображается полужирным шрифтом в обозревателе решений ), щелкните по нему правой кнопкой мыши и выберите Изменить свойства целевого объекта Unreal Engine. Откроется файл UETargetProperties.json в редакторе.

Снимок экрана с результатом щелчка правой кнопкой мыши на элементе обозревателя решений LyraEditor.Target.cs.

Откроется меню, а в нижней части будет опция для редактирования целевого объекта в Unreal Engine. При выборе этого параметра в редакторе откроется UETargetProperties.json.

Затем можно изменить целевые свойства, такие как аргументы командной строки.

Изменение параметров проекта

Чтобы изменить параметры проекта Unreal Engine, щелкните правой кнопкой мыши файл .uproject в обозревателе решений и выберите Изменить параметры проекта Unreal Engine.

Файл ProjectSettings.json откроется в редакторе. Затем можно изменить параметры проекта, такие как файлы проекта и файлы ядра, чтобы исключить из представления обозревателя решений, которые совместно включают пути для исключения из IntelliSense и т. д. Эти параметры можно использовать для исключения файлов, которые не требуются для ускорения работы IntelliSense.

Снимок экрана, на котором щелкните правой кнопкой мыши элемент обозревателя решений LyraStarterGame.uproject.

Откроется меню, а в нижней части находится опция для изменения настроек проекта Unreal Engine. При выборе этого параметра откроется файл ''UPROJECT' в редакторе.

Выбор конфигурации сборки

Чтобы выбрать конфигурацию сборки, выберите целевой объект, который требуется в раскрывающемся списке "Конфигурация":

Снимок экрана раскрывающегося списка конфигурации.

Раскрывающееся меню конфигурации содержит элементы: DebugGame — Win64 и разработка — Win64.

Если целевой объект, который вы хотите создать, отсутствует в списке, добавьте его, как описано в разделе Целевые объекты Unreal Engine.

Редактирование и отладка в Visual Studio

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

Вы можете задать точки останова в коде, а затем запустить игру в редакторе Unreal Engine. При достижении точки останова можно отлаживать код в Visual Studio.

По умолчанию Visual Studio создает только один целевой проект: Development - Win64. Этот целевой объект создает и запускает Редактор Unreal с загруженным проектом игры.

Если вы открыли папку для примера проекта игры Lyra в Visual Studio, попробуйте выполнить отладку, выполнив следующие действия:

  1. В Visual Studio откройте LyraGameplayAbility_RangedWeapon.cpp. Найдите этот файл в области поиска обозревателя решений или найдите его в разделе Игры>LyraStarterGame>Source>LyraGame>Оружие>LyraGameplayAbility_RangedWeapon.cpp.
  2. В LyraGameplayAbility_RangedWeapon.cppперейдите к строке 477. Найдите функцию: void ULyraGameplayAbility_RangedWeapon::OnTargetDataReadyCallback.
  3. Установите точку останова на функцию, нажав клавиши F9.
  4. Запустите пример игры в Visual Studio, выбрав Отладка>Начать отладку. Присвойте редактору Unreal Engine некоторое время для загрузки игры.
  5. В редакторе Unreal Engine нажмите кнопку "Воспроизвести" на панели инструментов (или нажмите Alt+p), чтобы начать игру.
  6. В игре Лира используйте клавиши w, a, s, d для перемещения игрока влево к порталу ликвидации . Разместите игрока на портале входа, чтобы загрузить игру.
  7. После запуска игры нажмите кнопку мыши, чтобы выстрелить, и вы увидите точку останова в Visual Studio: Снимок экрана процесса отладки в Visual Studio. Точка останова срабатывает в функции OnTargetDataReadyCallback.

Распространенные проблемы и решения

  • Ваш двигатель и игровой код должны находиться на одном диске. Если они нет, см. источник игры и источник двигателя находятся на разных дисках.
  • Несколько .uproject файлов в одной папке не поддерживаются. Чтобы открыть определенный файл .uproject, когда в одной папке находятся несколько файлов проекта, используйте файл>Открыть>проект Unreal Engine.
  • Если открыть проект Unreal Engine с помощью file>Open>Unreal Engine project, проект не отображается в списке файла Visual Studio>последних проектов и решений. Если открыть проект Unreal Engine с помощью file>Open Folder, то открытый проект Unreal Engine появится в списке недавно открытых проектов.
  • Некоторые расширения могут не работать с проектом, открытым как проект Unreal Engine.
  • Окно свойств пусто для исходных файлов. В настоящее время это предусмотрено.
  • В представлении папок есть файл решения Visual Studio. Unreal Engine создает этот файл, но он не используется Visual Studio, и его можно игнорировать.

Источник игры и источник двигателя находятся на разных дисках

Если исходный код Unreal Engine и исходный код игры находятся на разных дисках, при открытии проекта кода игры возникает ошибка. Например, если ваша игра находится в C:\Users\MyUser\MyGame, то На диске C:\ должен находиться Unreal Engine. В противном случае поддержка проекта Unreal Engine в Visual Studio недоступна:

Снимок экрана: окно ошибки с несколькими дисками.

Мы рекомендуем одно из следующих решений:

Решение #1: переместите файлы игры и движка на тот же диск

Самым простым решением является перемещение проекта игры на тот же логический диск, где находится Unreal Engine с помощью Windows File Explorer.

Если вы перемещаете исходный код Unreal Engine, установленный через Epic Games Launcher, удалите движок и затем переустановите его на тот диск, где находится игра. Таким образом файлы конфигурации ядра отражают новое расположение.

После того как у вас есть источник игры и источник обработчика на том же диске, вы можете открыть .uproject в Visual Studio.

Если перемещение источника двигателя и источника игры на тот же диск невозможно, можно создать символьную ссылку на источник Unreal Engine и изменить свойство EngineAssociation в файле .uproject на соответствие.

В этом примере предположим, что Unreal Engine находится в C:\Program Files\Epic Games\UE_5.4, а игра находится в Q:\src\game.

  1. Откройте окно командной строки (а не PowerShell).
  2. Перейдите к диску, на который находится источник игры. Например, cd /d Q:\.
  3. Создайте символьную связь, указывающую на Unreal Engine. Команда mklink принимает параметр ссылки, указывающий имя символьной ссылки, в котором отображается расположение каталога в файловой системе. Целевой параметр — это то, к чему вы привязываетесь. Например, mklink /d "Q:\UE-Link" "C:\Program Files\Epic Games\UE_5.4" создает символьную ссылку с именем Q:\UE-Link, которая указывает на каталог Unreal Engine на диске C:.
  4. Откройте файл .uproject вашей игры и измените свойство EngineAssociation, чтобы оно указывало на папку symlink, которую вы создали. Например, "EngineAssociation": "Q:\\UE-Link".

Теперь вы можете открыть .uproject в Visual Studio, так как исходный код игры и исходный код движка находятся на том же диске. Симлинк будет обрабатывать перенаправление ссылок на файл в движок.

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

В этом примере предположим, что Unreal Engine находится в C:\Program Files\Epic Games\UE_5.4, и ваша игра находится в Q:\src\Game

  1. Откройте окно командной строки (а не PowerShell).
  2. Перейдите к диску, на который находится источник игры. Например, cd /d Q:\.
  3. Создайте символьную связь, указывающую на Unreal Engine. Команда mklink принимает параметр ссылки, указывающий имя символьной ссылки, в котором отображается расположение каталога в файловой системе. Целевой параметр — это то, на который вы ссылаетесь. Например, mklink /d "Q:\UE-Link" "C:\Program Files\Epic Games\UE_5.4" создает символьную ссылку с именем Q:\UE-Link, которая указывает на каталог Unreal Engine на диске C:.
  4. Откройте C:\ProgramData\Epic\UnrealEngineLauncher\LauncherInstalled.dat в редакторе.
  5. Замените значение для InstallLocation на путь символической ссылки, которую вы создали. Этот пример предназначен для версии UE 5.4, установленной на диске C:, а ссылка находится на диске Q:.

Перед:

{
    "InstallationList": [
        {
            "InstallLocation": "C:\\Program Files\\Epic Games\\UE_5.3",
            ...
            "AppName": "UE_5.4"
        },
}

После:

{
    "InstallationList": [
        {
            "InstallLocation": "Q:\\UE-Link",
            ...
            "AppName": "UE_5.4"
        },
}

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

средства Visual Studio для Unreal Engine
Добавление классов, модулей и плагинов Unreal Engine в Visual Studio
Быстрый старт: инструменты Visual Studio для Unreal Engine
просмотр схем Unreal Engine в Visual Studio
просматривать вывод логов Unreal Engine в Visual Studio
Просмотр макросов Unreal Engine в Visual Studio