Condividi tramite


Aprire i progetti Unreal Engine in Visual Studio

Visual Studio 2022 versione 17.12 fornisce supporto diretto per i progetti Unreal Engine.

In precedenza era necessario generare un progetto di Microsoft Visual Studio prima di poter usare un progetto unreal Engine in Visual Studio. Questo processo era complesso. E ogni volta che viene aggiunto un nuovo asset dall'interno dell'Editor del motore Unreal o da un altro membro del team, il progetto di Visual Studio deve essere rigenerato per rimanere sincronizzato con il progetto Unreal Engine.

Ora, con il supporto diretto per i file del progetto Unreal Engine (.uproject), è possibile lavorare direttamente con i progetti unreal Engine da Visual Studio. Questa integrazione consente la modifica, il debug e la gestione dei file di progetto senza che il processo di generazione e rigenerazione di un file di progetto di Visual Studio richiede molto tempo.

Prerequisiti

Per usare i progetti unreal Engine in Visual Studio, è necessario installare quanto segue:

  • Visual Studio versione 17.12 Preview 2 o successiva.
  • Unreal Engine versione 4.27 o Unreal Engine versione 5 e successive.
  • Visual Studio Tools per unreal Engine. Per istruzioni sull'installazione, vedere Installare Visual Studio Tools for Unreal Engine.
  • Scarica il gioco di esempio Lyra. Vedi la sezione Download del Lyra Starter Game nella sezione Lyra Sample Game per le istruzioni di download. Se l'hai acquisita tramite l'installazione del codice sorgente di Unreal Engine, tale versione non contiene gli asset necessari per compilare ed eseguire il gioco. Usare le istruzioni di download per ottenere tutto ciò di cui hai bisogno tramite il programma di installazione epico.

Configurazione per Unreal Engine 5.3 o versioni precedenti

Per le versioni di Unreal Engine precedenti alla 5.4, seguire questa procedura per abilitare l'integrazione di Unreal Engine .uproject con Visual Studio. Questi passaggi funzionano se è stato installato Unreal Engine da Epic Games Launcher o se è stato compilato dal codice sorgente.

  1. Scaricare la patch specifica per la versione di Unreal Engine da repository GitHub del motore Unreal. Ad esempio, UnrealBuildTool-5.2.patch aggiorna Unreal Engine alla versione 5.2.
  2. Aprire una finestra di PowerShell o del prompt dei comandi e passare alla directory principale in cui è installato Unreal Engine. È necessaria l'elevazione dei privilegi di amministratore per applicare la patch se Unreal Engine è installato in una directory protetta come C:\Program Files\Epic Games\UE_5.3.
  3. Applicare la patch con il comando git apply <path to the downloaded patch file>. Ad esempio: git apply C:\Users\someuser\Downloads\UnrealBuiltTool-5.3.patch. Se ciò non funziona, prova con git apply -v --ignore-whitespace --ignore-space-change <path to the downloaded patch file>.

Aprire un progetto unreal Engine nativo in Visual Studio

Esistono due modi per aprire un progetto unreal Engine nativo in Visual Studio:

  • File>Apri>cartella che viene usata quando è presente un solo progetto (.uproject) nella cartella .
  • File>Open>Unreal Engine Project per selezionare un file di .uproject specifico da aprire quando sono presenti più file di progetto Unreal Engine in una cartella.

In questo esempio viene usato il progetto di gioco Lyra per illustrare l'apertura di un progetto unreal Engine nativo in Visual Studio.

  1. In Visual Studio aprire il menu file di e quindi selezionare Apri>Apri cartella.

  2. Passare alla directory in cui è installato il progetto di gioco Lyra (LyraStarterGame.uproject) e scegliere Seleziona cartella.

  3. Dopo aver selezionato la cartella, i file di progetto vengono visualizzati nella esplora soluzioni e i messaggi vengono visualizzati nella finestra output relativa alla configurazione dell'area di lavoro.

    Screenshot di Visual Studio che segue l'apertura della cartella per l'esempio di gioco Lyra.

Viene visualizzato un messaggio che indica che il supporto del progetto Unreal Engine è attivato e che altri sistemi di compilazione come CMake e MSBUILD sono disabilitati. È possibile ignorare questo messaggio facendo clic sul X nell'angolo del messaggio.

Visualizzare il progetto in Esplora soluzioni

Nella finestra esplora soluzioni sono visualizzati molti file e cartelle che fanno parte del progetto Unreal Engine, ad esempio le cartelle Platforms, Pluginse Source. È anche possibile visualizzare il file di .uproject del motore Unreal. La cartella Engine contiene il direttorio 'sources' per Unreal Engine.

Il Esplora Soluzioni viene filtrato per concentrarsi sul codice sorgente. Per impostazione predefinita, le cartelle Content vengono filtrate, che contengono asset binari come trame, modelli e così via. È possibile aprire questi asset nell'editor del motore Unreal. In generale, i file binari non vengono visualizzati in Visual Studio Esplora soluzioni.

Non è necessario rigenerare il progetto per visualizzare o modificare nuovi asset aggiunti all'esterno di Visual Studio.

Pagina di configurazione del motore unreal

Visual Studio fornisce una pagina di configurazione del progetto Unreal Engine. Questa pagina mostra lo stato delle funzionalità di Unreal Engine e consente di accedere a più funzionalità.

Per accedere a questa pagina dal menu principale di Visual Studio, scegliere Progetto>Configura strumenti per unreal Engine:

Screenshot della pagina di configurazione del progetto Unreal Engine.

La pagina di configurazione include un indicatore di stato rosso/verde e un pulsante di aggiornamento per le opzioni, ad esempio Stato configurazione generale, Stato dello strumento di compilazione Unreal, Destinazioni del motore Unreal, Supporto progetti, Stato dello strumento di integrazione di Visual Studio e così via.

Stato di Unreal Build Tool

Per assicurarsi di avere la versione più recente di Unreal Build Tool (UBT), selezionare l'icona di aggiornamento per Stato dello strumento di compilazione unreal.

In questo esempio viene visualizzato un messaggio che indica che Lo strumento di compilazione Unreal non usa la versione più recente disponibile per il generatore di aree di lavoro. Scegliere Aggiorna per aggiornare lo strumento di compilazione Unreal alla versione più recente:

Una schermata dell'opzione Stato dello strumento di compilazione di Unreal Engine nella pagina di configurazione.

Nella finestra Output vengono visualizzati messaggi durante l'esecuzione dello strumento di compilazione unreal Engine. Verrà visualizzato un messaggio che indica che l'area di lavoro è pronta, dopo la quale è possibile iniziare ad aggiungere e modificare i file.

Destinazioni di Unreal Engine

Quando costruisci un progetto Unreal Engine, sono disponibili diverse configurazioni di costruzione, denominate target, che puoi scegliere.

L'opzione Obiettivi motore Unreal è dove generi questi obiettivi. Scegliere l'icona di aggiornamento per aggiornare l'elenco delle destinazioni di Unreal Engine e aprire la finestra in cui è possibile selezionare le configurazioni di destinazione da creare:

Uno screenshot della finestra delle combinazioni di destinazioni di compilazione nell'Unreal Engine.

Per altre informazioni sulle combinazioni di destinazione, vedere la documentazione di Unreal Engine Build Configuration Description.

In questo esempio, LyraClient, DebugGamee Win64 vengono selezionati nell'elenco a discesa.

  1. Scegliere Aggiungi per aggiungerli all'elenco delle configurazioni da generare.
  2. Scegliere Genera Obiettivi per creare le configurazioni selezionate per ogni configurazione con la casella di controllo selezionata.

Dopo aver generato le destinazioni, è possibile selezionarle come descritto in Scegliere la configurazione di compilazione. Controllare gli errori nella finestra di output quando si generano destinazioni perché alcune combinazioni potrebbero non essere supportate.

È possibile rimuovere le destinazioni deselezionando quelle non desiderate e quindi selezionando il pulsante Genera destinazioni. Quando si seleziona Genera destinazioni, le destinazioni non selezionate vengono rimosse, anche se non scompaiono da questo elenco finché non si ricarica il progetto.

Modificare le proprietà di destinazione

Per modificare le proprietà di destinazione di Unreal Engine, fare clic con il pulsante destro del mouse sul file di destinazione in grassetto nell'Esplora soluzioni e scegliere Modifica proprietà di destinazione di Unreal Engine.

Ad esempio, se LyraEditor.Target.cs è la destinazione di avvio (nel qual caso è in grassetto nel Esplora soluzioni), fare clic con il pulsante destro del mouse su LyraEditor.Target.cs e scegliere Modifica le proprietà di questo target Unreal Engine. Verrà aperto il file UETargetProperties.json nell'editor.

Screenshot di un clic con il pulsante destro del mouse sull'elemento LyraEditor.Target.cs nell'Esplora Soluzioni.

Viene visualizzato un menu e nella parte inferiore è possibile modificare questa destinazione di Unreal Engine. Se si seleziona questa opzione, si apre UETargetProperties.json nell'editor.

È quindi possibile modificare le proprietà di destinazione, ad esempio argomenti della riga di comando.

Modificare le impostazioni del progetto

Per modificare le impostazioni del progetto Unreal Engine, fare clic con il pulsante destro del mouse sul file di .uproject in l'Esplora soluzioni e scegliere Modifica le impostazioni del progetto Unreal Engine.

Il file ProjectSettings.json viene aperto nell'editor. È quindi possibile modificare le impostazioni del progetto, ad esempio i file di progetto e i file del motore da escludere dalla visualizzazione Esplora soluzioni, i percorsi di inclusione condivisi da escludere da IntelliSense e così via. È possibile usare queste impostazioni per escludere i file che non è necessario velocizzare IntelliSense.

Uno screenshot di un clic con il pulsante destro del mouse sull'elemento Esplora Soluzioni di LyraStarterGame.uproject.

Viene visualizzato un menu e nella parte inferiore è possibile modificare le impostazioni del progetto Unreal Engine. Se si seleziona questa opzione, viene aperto il file '.uproject' nell'editor.

Scegliere la configurazione di compilazione

Per scegliere una configurazione di build, selezionare la destinazione desiderata dal menu a scorrimento Configurazione:

Screenshot dell'elenco a discesa della configurazione.

Il menu a discesa della configurazione contiene gli elementi DebugGame - Win64 e Sviluppo - Win64.

Se la destinazione che vuoi costruire non è nell'elenco, aggiungila come descritta in Unreal Engine Targets.

Modifica e correzione di errori in Visual Studio

È possibile modificare, compilare ed eseguire il debug del progetto Unreal Engine in Visual Studio. Per informazioni su come aggiungere moduli, classi e plug-in di Unreal Engine in Visual Studio, vedere Aggiungere classi, moduli e plug-in di Unreal Engine in Visual Studio.

È possibile impostare punti di interruzione nel codice e quindi eseguire il gioco nell'editor del motore Unreal. Quando viene raggiunto un punto di interruzione, è possibile eseguire il debug del codice in Visual Studio.

Per impostazione predefinita, Visual Studio genera una sola destinazione: Development - Win64. Questa target compila e avvia l'Editor Unreal con il progetto di gioco caricato.

Se è stata aperta la cartella per il progetto di esempio di gioco Lyra in Visual Studio, provare a eseguire il debug seguendo questa procedura:

  1. In Visual Studio, aprire LyraGameplayAbility_RangedWeapon.cpp. Cerca il file nel riquadro Cerca del Esplora soluzioni oppure trovalo in Games>LyraStarterGame>Source>LyraGame>Armi>LyraGameplayAbility_RangedWeapon.cpp.
  2. In LyraGameplayAbility_RangedWeapon.cpppassare alla riga 477 circa. Cerca la funzione: void ULyraGameplayAbility_RangedWeapon::OnTargetDataReadyCallback.
  3. Posizionare un punto di interruzione sulla funzione premendo F9.
  4. Eseguire il gioco di esempio in Visual Studio scegliendo Debug>Avvia debug. Dare un po' di tempo all'editor di Unreal Engine per caricare il gioco.
  5. Nell'Editor di Unreal Engine, scegliere il pulsante Play sulla barra degli strumenti (o premere Alt+p) per avviare il gioco.
  6. Nel gioco Lyra, usa i tasti w, a, s, d per navigare il giocatore a sinistra al portale di Eliminazione . Posizionare il giocatore sul portale di ingresso per caricare il gioco.
  7. Quando il gioco è in esecuzione, fare clic sul pulsante del mouse per attivarlo e verrà visualizzato il punto di interruzione in Visual Studio: Screenshot del debug in Visual Studio. Viene raggiunto un punto di interruzione nella funzione OnTargetDataReadyCallback.

Problemi e soluzioni comuni

  • Il motore e il codice del gioco devono trovarsi nello stesso disco. In caso contrario, consultare : l'origine del gioco e l'origine del motore si trovano su unità diverse.
  • Più file .uproject nella stessa cartella non sono supportati. Per aprire un file di .uproject specifico quando sono presenti più file di progetto nella stessa cartella, usare File>Apri>progetto Unreal Engine.
  • Se si apre un progetto unreal Engine tramite File>Open>Unreal Engine project, il progetto non viene visualizzato nell'elenco File di Visual Studio>Progetti e soluzioni recenti. Se si apre il progetto Unreal Engine tramite File>Apri cartella, il progetto unreal Engine aperto viene visualizzato nell'elenco dei progetti aperti di recente.
  • Alcune estensioni potrebbero non funzionare con un progetto aperto come progetto unreal Engine.
  • La finestra delle proprietà è vuota per i file di origine. Questo è attualmente in fase di progettazione.
  • Nella visualizzazione cartella è presente un file di soluzione di Visual Studio. Unreal Engine genera questo file, ma non viene usato da Visual Studio ed è possibile ignorarlo.

Il sorgente del gioco e il sorgente del motore si trovano su unità diverse

Se il codice sorgente di Unreal Engine e il codice sorgente del gioco si trovano su unità diverse, viene visualizzato un errore quando si apre il progetto di codice del gioco. Ad esempio: se il gioco si trova in C:\Users\MyUser\MyGame, il motore Unreal deve trovarsi da qualche parte sull'unità C:\; in caso contrario, il supporto del progetto unreal Engine in Visual Studio non è disponibile:

Screenshot della finestra di errore su più unità.

È consigliabile usare una delle soluzioni seguenti:

Soluzione n. 1: spostare il codice sorgente del gioco e del motore sulla stessa unità

La soluzione più semplice consiste nello spostare il progetto di gioco nella stessa unità logica in cui risiede il motore Unreal usando il Windows File Explorer.

Se stai spostando il codice sorgente di Unreal Engine installato tramite il Epic Games Launcher, dovresti disinstallare l'engine e quindi reinstallarlo nella stessa unità del gioco. In questo modo i file di configurazione del motore riflettono il nuovo percorso.

Dopo avere il codice sorgente del gioco e del motore sullo stesso disco, è possibile aprire il .uproject in Visual Studio.

Se lo spostamento dell'origine del motore e dell'origine del gioco nella stessa unità non è fattibile, è possibile creare un collegamento simbolico all'origine del motore Unreal e modificare la proprietà EngineAssociation nel file .uproject in modo che corrisponda.

Per questo esempio, si supponga che il motore Unreal si trovi in C:\Program Files\Epic Games\UE_5.4 e che il gioco si trovi in Q:\src\game.

  1. Aprire una finestra del prompt dei comandi (non una finestra di PowerShell).
  2. Vai all'unità su cui si trova la sorgente del gioco. Ad esempio, cd /d Q:\.
  3. Crea un collegamento simbolico che punti a Unreal Engine. Il comando mklink accetta un parametro di collegamento che specifica il nome del collegamento simbolico, ovvero il modo in cui il percorso della directory viene visualizzato nel file system. Il parametro di destinazione è quello a cui si esegue il collegamento. Ad esempio, mklink /d "Q:\UE-Link" "C:\Program Files\Epic Games\UE_5.4" crea un collegamento simbolico denominato Q:\UE-Link che punta alla directory Unreal Engine nell'unità C:.
  4. Aprire il file di .uproject del gioco e modificare la proprietà EngineAssociation in modo che sia la cartella symlink creata. Ad esempio, "EngineAssociation": "Q:\\UE-Link".

È ora possibile aprire il .uproject in Visual Studio perché l'origine del gioco e l'origine del motore sembrano trovarsi nella stessa unità. Il collegamento simbolico gestirà il reindirizzamento dei riferimenti ai file verso il motore.

Questa soluzione è fragile perché modifica un file di configurazione e la modifica potrebbe essere ripristinata al successivo aggiornamento di Unreal Engine.

Per questo esempio, si supponga che il motore Unreal si trovi in C:\Program Files\Epic Games\UE_5.4 e che il gioco si trovi in Q:\src\Game

  1. Aprire una finestra del prompt dei comandi (non una finestra di PowerShell).
  2. Naviga all'unità su cui si trova il file sorgente del gioco. Ad esempio, cd /d Q:\.
  3. Creare un collegamento simbolico che punti a Unreal Engine. Il comando mklink accetta un parametro di collegamento che specifica il nome del collegamento simbolico, ovvero il modo in cui il percorso della directory viene visualizzato nel file system. Il parametro di destinazione è quello a cui si esegue il collegamento. Ad esempio, mklink /d "Q:\UE-Link" "C:\Program Files\Epic Games\UE_5.4" crea un collegamento simbolico denominato Q:\UE-Link che punta alla directory di Unreal Engine nell'unità C:.
  4. Apri C:\ProgramData\Epic\UnrealEngineLauncher\LauncherInstalled.dat in un editor.
  5. Sostituire il valore per InstallLocation con il percorso del collegamento simbolico che hai creato. Questo esempio è per UE 5.4 installato nell'unità C: e il collegamento simbolico si trova nell'unità Q:.

Prima:

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

Dopo:

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

È ora possibile aprire il .uproject in Visual Studio perché l'origine del gioco e l'origine del motore sembrano trovarsi nella stessa unità. Il collegamento simbolico si occuperà del reindirizzamento dei riferimenti di file al motore.

Strumenti di Visual Studio per Unreal Engine
Aggiungere classi, moduli e plug-in nel motore Unreal in Visual Studio
Avvio Rapido : Visual Studio Tools per Unreal Engine
Visualizzare i Blueprints di Unreal Engine in Visual Studio
Visualizzare i log del Motore Unreal in Visual Studio
Visualizzare le macro di Unreal Engine in Visual Studio