Udostępnij za pośrednictwem


Otwieranie projektów Unreal Engine w programie Visual Studio

Program Visual Studio 2022 w wersji 17.12 zapewnia bezpośrednią obsługę projektów Unreal Engine.

Wcześniej trzeba było wygenerować projekt programu Microsoft Visual Studio, zanim będzie można pracować z projektem Unreal Engine w programie Visual Studio. Ten proces był kłopotliwy. I za każdym razem, gdy nowy zasób został dodany z poziomu Edytora Unreal Engine lub przez innego członka zespołu, projekt w Visual Studio musiał być ponownie wygenerowany, aby zachować synchronizację z projektem Unreal Engine.

Teraz dzięki bezpośredniej obsłudze plików projektu Unreal Engine (.uproject) można pracować bezpośrednio z projektami Unreal Engine z poziomu programu Visual Studio. Ta integracja umożliwia bezproblemowe edytowanie, debugowanie i zarządzanie plikami projektu bez czasochłonnego procesu generowania i ponownego generowania pliku projektu programu Visual Studio.

Warunki wstępne

Aby pracować z projektami Unreal Engine w programie Visual Studio, należy zainstalować następujące elementy:

  • Visual Studio w wersji 17.12 (wersja zapoznawcza 2 lub nowsza).
  • Unreal Engine w wersji 4.27 lub Unreal Engine w wersji 5 lub nowszej.
  • Visual Studio Tools for Unreal Engine. Aby uzyskać instrukcje instalacji, zobacz Install Visual Studio Tools for Unreal Engine (Instalowanie narzędzi Visual Studio Tools for Unreal Engine).
  • Pobierz przykładową grę Lyra. Aby uzyskać instrukcje pobierania, zobacz sekcję Pobieranie gry początkowej Lyra w przykładowej grze Lyra. Jeśli nabyłeś go za pośrednictwem instalacji kodu źródłowego unreal Engine, ta wersja nie zawiera zasobów wymaganych do skompilowania i uruchomienia gry. Skorzystaj z instrukcji pobierania, aby uzyskać wszystko, czego potrzebujesz za pośrednictwem instalatora Epic.

Konfiguracja dla Unreal Engine 5.3 lub wcześniejszego

W przypadku wersji silnika Unreal Engine przed wersją 5.4 wykonaj następujące kroki, aby włączyć integrację Unreal Engine .uproject z programem Visual Studio. Te kroki działają niezależnie od tego, czy zainstalowano aparat Unreal Engine z poziomu narzędzia Epic Games Launcher, czy utworzono go z kodu źródłowego.

  1. Pobierz poprawkę odpowiednią dla wersji silnika Unreal Engine, której używasz, z repozytorium GitHub Unreal Engine. Na przykład UnrealBuildTool-5.2.patch aktualizuje Unreal Engine do wersji 5.2.
  2. Otwórz okno programu PowerShell lub okno poleceń i przejdź do katalogu głównego, w którym zainstalowano Unreal Engine. Aby zastosować poprawkę, potrzebujesz uprawnień administratora, jeśli Unreal Engine jest zainstalowany w chronionym katalogu, takiego jak C:\Program Files\Epic Games\UE_5.3.
  3. Zastosuj poprawkę za pomocą polecenia git apply <path to the downloaded patch file>. Na przykład: git apply C:\Users\someuser\Downloads\UnrealBuiltTool-5.3.patch. Jeśli to się nie powiedzie, spróbuj git apply -v --ignore-whitespace --ignore-space-change <path to the downloaded patch file>.

Otwieranie natywnego projektu Unreal Engine w programie Visual Studio

Istnieją dwa sposoby otwierania natywnego projektu Unreal Engine w programie Visual Studio:

  • Plik>Otwórz folder>, który jest używany, gdy w folderze znajduje się tylko jeden projekt (.uproject).
  • Plik>Otwórz>Unreal Engine Project, aby wybrać określony plik .uproject do otwarcia, gdy w folderze znajduje się wiele plików projektu Unreal Engine.

W tym przykładzie użyjemy projektu gry Lyra, aby zademonstrować otwarcie natywnego projektu Unreal Engine w programie Visual Studio.

  1. W programie Visual Studio otwórz menu Plik, a następnie wybierz Otwórz>Otwórz folder.

  2. Przejdź do katalogu, w którym jest zainstalowany projekt gry Lyra (LyraStarterGame.uproject), a następnie wybierz pozycję Wybierz folder.

  3. Po wybraniu folderu pliki projektu są wyświetlane w eksploratorze rozwiązań , a komunikaty są wyświetlane w oknie Dane wyjściowe dotyczące konfigurowania obszaru roboczego.

    Zrzut ekranu programu Visual Studio po otwarciu folderu przykładu gry Lyra.

Zostanie wyświetlony komunikat Obsługa projektu Unreal Engine jest aktywowana i że inne systemy kompilacji, takie jak CMake i MSBUILD, są wyłączone. Tę wiadomość można odrzucić, klikając X w rogu wiadomości.

Wyświetlanie projektu w Eksploratorze rozwiązań

Okno Eksplorator rozwiązań zawiera wiele plików i folderów będących częścią projektu Unreal Engine, takich jak foldery Platforms, Pluginsi Source. Można również wyświetlić plik .uproject Unreal Engine. Folder silnika zawiera katalog źródeł dla silnika Unreal Engine.

Eksplorator rozwiązań jest filtrowany w celu skoncentrowania się na kodzie źródłowym. Domyślnie foldery Content są filtrowane, które zawierają zasoby binarne, takie jak tekstury, modele itd. Możesz otworzyć te zasoby w Edytorze Silnika Unreal. Ogólnie rzecz biorąc, pliki binarne nie są wyświetlane w Eksploratorze rozwiązań programu Visual Studio .

Nie musisz ponownie wygenerować projektu, aby wyświetlić ani edytować nowe zasoby dodane poza programem Visual Studio.

Strona konfiguracji silnika Unreal Engine

Program Visual Studio udostępnia stronę konfiguracji projektu Unreal Engine. Na tej stronie przedstawiono stan funkcji Unreal Engine i umożliwia dostęp do większej liczby funkcji.

Aby uzyskać dostęp do tej strony z menu głównego programu Visual Studio, wybierz pozycję Project>Configure Tools for Unreal Engine:

Zrzut ekranu przedstawiający stronę konfiguracji projektu Unreal Engine.

Strona konfiguracji ma czerwony/zielony wskaźnik stanu i przycisk odświeżania dla opcji, takich jak Ogólny stan konfiguracji, Stan narzędzia kompilacji Unreal, Unreal Engine Targets, Obsługa strategii, Stan narzędzia integracji programu Visual Studio itd.

Stan narzędzia budowania Unreal

Aby upewnić się, że masz najnowsze narzędzie Unreal Build Tool (UBT), wybierz ikonę odświeżania dla Unreal Build Tool Status.

W tym przykładzie zostanie wyświetlony komunikat, że narzędzie Unreal Build Tool nie korzysta z najnowszej dostępnej wersji generatora obszarów roboczych. Wybierz pozycję Update, aby zaktualizować narzędzie Unreal Build Tool do najnowszej wersji:

Zrzut ekranu przedstawiający opcję Stan narzędzia kompilacji Unreal Engine na stronie konfiguracji.

W oknie danych wyjściowych komunikaty pojawiają się podczas przygotowywania narzędzia kompilacji aparatu Unreal Engine. Zostanie wyświetlony komunikat Gotowy obszar roboczy, po którym można rozpocząć dodawanie i edytowanie plików.

Cele Unreal Engine

Podczas tworzenia projektu Unreal Engine istnieją różne konfiguracje kompilacji o nazwie obiektów docelowych, które można wybrać.

Opcja Unreal Engine Targets to miejsce generowania tych obiektów docelowych. Wybierz ikonę odświeżania, aby odświeżyć listę obiektów docelowych Unreal Engine i otworzyć okno, w którym można wybrać konfiguracje docelowe, które chcesz utworzyć:

Zrzut ekranu przedstawiający okno kombinacji celów kompilacji silnika Unreal Engine.

Aby uzyskać więcej informacji na temat kombinacji docelowych, zobacz dokumentację silnika Unreal Engine Build Configuration Descriptions.

W tym przykładzie LyraClient, DebugGamei Win64 są wybrane w listach rozwijanych.

  1. Wybierz pozycję Dodaj, aby dodać je do listy konfiguracji do wygenerowania.
  2. Wybierz pozycję Generuj Cele, aby utworzyć wybrane konfiguracje dla konfiguracji, które mają zaznaczone pola wyboru.

Po wygenerowaniu elementów docelowych możesz wybrać je zgodnie z opisem w Wybierz konfigurację kompilacji. Zwróć uwagę na błędy w oknie danych wyjściowych podczas generowania elementów docelowych, ponieważ niektóre kombinacje mogą nie być obsługiwane.

Możesz usunąć obiekty docelowe, usuwając zaznaczenie tych, których nie chcesz, a następnie wybierając przycisk Generuj elementy docelowe. Po wybraniu pozycji Wygeneruj celezostaną usunięte obiekty docelowe, które nie są zaznaczone, ale nie znikną z tej listy do momentu ponownego załadowania projektu.

Edytowanie właściwości obiektu docelowego

Aby edytować właściwości docelowe aparatu Unreal Engine, kliknij prawym przyciskiem myszy pogrubiony plik docelowy w Eksploratorze rozwiązań i wybierz Edytuj właściwości docelowe aparatu Unreal Engine.

Jeśli na przykład LyraEditor.Target.cs jest elementem docelowym uruchamiania (w takim przypadku jest pogrubiony w eksploratorze rozwiązań ), kliknij go prawym przyciskiem myszy i wybierz polecenie Edytuj właściwości tego elementu docelowego Unreal Engine. Spowoduje to otwarcie pliku UETargetProperties.json w edytorze.

Zrzut ekranu przedstawiający kliknięcie prawym przyciskiem myszy na elemencie eksploratora rozwiązań LyraEditor.Target.cs.

Zostanie wyświetlone menu, a u dołu znajduje się opcja edytowania tego obiektu docelowego Unreal Engine. Wybranie tej opcji spowoduje otwarcie UETargetProperties.json w edytorze.

Następnie można zmienić właściwości docelowe, takie jak argumenty wiersza polecenia.

Edytowanie ustawień projektu

Aby edytować ustawienia projektu Unreal Engine, kliknij prawym przyciskiem myszy plik .uproject w Eksploratorze rozwiązań i wybierz Edytuj ustawienia projektu Unreal Engine.

Plik ProjectSettings.json zostanie otwarty w edytorze. Następnie można zmienić ustawienia projektu, takie jak pliki projektu i pliki silnika, które mają zostać wykluczone z widoku Eksploratora rozwiązań, oraz współdzielone ścieżki dołączania do wykluczenia z IntelliSense, itd. Możesz użyć tych ustawień, aby wykluczyć pliki, które nie są potrzebne do przyspieszenia działania funkcji IntelliSense.

Zrzut ekranu przedstawiający kliknięcie prawym przyciskiem myszy elementu eksploratora rozwiązań LyraStarterGame.uproject.

Zostanie wyświetlone menu, a u dołu znajduje się opcja edytowania ustawień projektu Unreal Engine. Wybranie tej opcji spowoduje otwarcie pliku ".uproject" w edytorze.

Wybieranie konfiguracji kompilacji

Aby wybrać konfigurację kompilacji, wybierz cel z rozwijanej listy Konfiguracja.

Zrzut ekranu przedstawiający listę rozwijaną konfiguracji.

Menu rozwijane konfiguracji zawiera elementy: DebugGame — Win64 i Development — Win64.

Jeśli cel, który chcesz zbudować, nie znajduje się na liście, dodaj go zgodnie z opisem w Unreal Engine Targets.

Edytowanie i debugowanie w programie Visual Studio

Projekt Unreal Engine można edytować, kompilować i debugować w programie Visual Studio. Aby dowiedzieć się, jak dodawać moduły, klasy i wtyczki Unreal Engine w programie Visual Studio, zobacz Dodawanie klas, modułów i wtyczek Unreal Engine w programie Visual Studio.

Możesz ustawić punkty przerwania w swoim kodzie, a następnie uruchomić grę w Edytorze Unreal Engine. Po osiągnięciu punktu przerwania można debugować kod w programie Visual Studio.

Domyślnie program Visual Studio generuje tylko jeden element docelowy: Development — Win64. Ten cel kompiluje i uruchamia Edytor Unreal z załadowanym projektem gry.

Jeśli folder został otwarty dla przykładowego projektu gry Lyra w programie Visual Studio, wypróbuj debugowanie, wykonując następujące kroki:

  1. W programie Visual Studio otwórz LyraGameplayAbility_RangedWeapon.cpp. Wyszukaj ten plik w okienku Wyszukiwania w eksploratorze rozwiązań lub znajdź go w obszarze Games>LyraStarterGame>Source>LyraGame>Weapons>LyraGameplayAbility_RangedWeapon.cpp.
  2. W LyraGameplayAbility_RangedWeapon.cppprzejdź do około wiersza 477. Wyszukaj funkcję: void ULyraGameplayAbility_RangedWeapon::OnTargetDataReadyCallback.
  3. Umieść punkt przerwania w funkcji, naciskając F9.
  4. Uruchom przykładową grę w programie Visual Studio, wybierając pozycję Debugowanie>Rozpocznij debugowanie. Nadaj edytorowi unreal engine trochę czasu, aby załadować grę.
  5. W Edytorze Unreal Engine wybierz przycisk Odtwórz na pasku narzędzi (lub naciśnij Alt+p), aby rozpocząć grę.
  6. W grze Lyra użyj przycisków w, a, s, d, aby przemieszczać gracza w lewo do portalu Eliminacji . Umieść gracza nad portalem wejścia, aby załadować grę.
  7. Po uruchomieniu gry kliknij przycisk myszy, aby strzelić i powinieneś zobaczyć przerwanie w programie Visual Studio: Zrzut ekranu przedstawiający debugowanie w programie Visual Studio. Przerwanie zostanie osiągnięte w funkcji OnTargetDataReadyCallback.

Typowe problemy i rozwiązania

  • Twój silnik i kod gry muszą znajdować się na tym samym dysku. Jeśli tak nie jest, zobacz Źródło gry i źródło silnika znajdują się na różnych dyskach.
  • Wiele plików .uproject w tym samym folderze nie jest obsługiwanych. Aby otworzyć określony plik .uproject, gdy w tym samym folderze znajduje się wiele plików projektu, użyj Plik>Otwórz projekt Unreal Engine>.
  • Jeśli otworzysz projekt Unreal Engine za pomocą Plik>Otwórz>Projekt Unreal Engine, projekt nie będzie wyświetlany na liście Plik>Niedawne projekty i rozwiązania programu Visual Studio. Jeśli otworzysz projekt Unreal Engine za pośrednictwem Plik>Otwórz folder, otwarty projekt Unreal Engine pojawi się na liście ostatnio otwartych projektów.
  • Niektóre rozszerzenia mogą nie działać z projektem otwartym jako projekt Unreal Engine.
  • Okno właściwości jest puste dla plików źródłowych. Jest to obecnie zamierzone.
  • W widoku folderu znajduje się plik rozwiązania programu Visual Studio. Unreal Engine generuje ten plik, ale nie jest on używany przez Visual Studio i można go zignorować.

Źródło gry i źródło silnika znajdują się na różnych dyskach

Jeśli kod źródłowy aparatu Unreal Engine i kod źródłowy gry znajdują się na różnych dyskach, podczas otwierania projektu kodu gry pojawia się błąd. Przykładowo, jeśli twoja gra znajduje się na dysku C:\Users\MyUser\MyGame, silnik Unreal musi być zlokalizowany gdzieś na dysku C:\; w przeciwnym razie obsługa projektów Unreal Engine w Visual Studio nie będzie dostępna.

Zrzut ekranu przedstawiający okno błędu z wieloma dyskami.

Zalecamy jedno z następujących rozwiązań:

Rozwiązanie nr 1: przenieś grę i źródło silnika do tego samego dysku

Najprostszym rozwiązaniem jest przeniesienie projektu gry na ten sam dysk logiczny, na którym znajduje się silnik Unreal Engine, przy użyciu Windows File Explorer.

Jeśli przenosisz źródło Unreal Engine zainstalowane za pośrednictwem Epic Games Launcher, odinstaluj silnik, a następnie zainstaluj go ponownie na tym samym dysku, co gra. Dzięki temu pliki konfiguracji aparatu odzwierciedlają nową lokalizację.

Po umieszczeniu źródła gry i silnika gry na tym samym dysku możesz otworzyć .uproject w programie Visual Studio.

Jeśli przeniesienie źródła silnika i źródła gry na ten sam dysk nie jest możliwe, możesz utworzyć symboliczny link do źródła Unreal Engine i zmienić właściwość EngineAssociation w pliku .uproject, aby dopasować.

W tym przykładzie załóżmy, że unreal engine znajduje się w C:\Program Files\Epic Games\UE_5.4, a twoja gra znajduje się w Q:\src\game.

  1. Otwórz wiersz polecenia (a nie okno programu PowerShell).
  2. Przejdź do dysku, na którym znajduje się źródło gry. Na przykład cd /d Q:\.
  3. Utwórz dowiązanie symboliczne prowadzące do silnika Unreal Engine. Polecenie mklink przyjmuje parametr linku, który określa nazwę łącza symbolicznego, która jest sposobem wyświetlania lokalizacji katalogu w systemie plików. Parametr docelowy jest tym, do którego się odwołujesz. Na przykład mklink /d "Q:\UE-Link" "C:\Program Files\Epic Games\UE_5.4" tworzy link symboliczny o nazwie Q:\UE-Link wskazujący katalog Unreal Engine na dysku C:.
  4. Otwórz plik .uproject gry i zmień właściwość EngineAssociation na utworzony folder symlinku. Na przykład "EngineAssociation": "Q:\\UE-Link".

Teraz możesz otworzyć .uproject w programie Visual Studio, ponieważ źródło gry i źródło silnika wydają się znajdować na tym samym dysku. Symlink zajmie się przekierowywaniem odwołań do plików do silnika.

To rozwiązanie jest nietrwałe, ponieważ zmienia plik konfiguracji, a zmiana może zostać cofnięta przy następnym aktualizowaniu Unreal Engine.

W tym przykładzie załóżmy, że silnik Unreal znajduje się w C:\Program Files\Epic Games\UE_5.4, a twoja gra znajduje się w Q:\src\Game

  1. Otwórz wiersz polecenia (a nie okno programu PowerShell).
  2. Przejdź do dysku, na którym znajduje się źródło gry. Na przykład cd /d Q:\.
  3. Utwórz łącze symboliczne prowadzące do silnika Unreal Engine. Polecenie mklink przyjmuje parametr linku, który określa nazwę łącza symbolicznego, która jest sposobem wyświetlania lokalizacji katalogu w systemie plików. Parametr docelowy jest tym, z którym łączysz się. Na przykład mklink /d "Q:\UE-Link" "C:\Program Files\Epic Games\UE_5.4" tworzy link symboliczny o nazwie Q:\UE-Link wskazujący katalog Unreal Engine na dysku C:.
  4. Otwórz C:\ProgramData\Epic\UnrealEngineLauncher\LauncherInstalled.dat w edytorze.
  5. Zastąp wartość InstallLocation utworzoną ścieżką symetrii. Ten przykład pokazuje, że UE 5.4 jest zainstalowane na dysku C:, a dowiązanie symboliczne znajduje się na dysku Q:.

Przed:

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

Po:

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

Teraz możesz otworzyć .uproject w programie Visual Studio, ponieważ źródło gry i źródło silnika wydają się być na tym samym dysku. Symlink zajmie się przekierowywaniem odwołań do pliku do silnika.

Visual Studio Tools for Unreal Engine
Dodawanie klas, modułów i wtyczek Unreal Engine w Visual Studio
Szybki start : narzędzia Visual Studio Tools for Unreal Engine
Wizualizuj Blueprinty Unreal Engine w programie Visual Studio
Wyświetlanie logów Unreal Engine w programie Visual Studio
Wyświetl makra Unreal Engine w programie Visual Studio