Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This describes the procedure and tools required to enable development on the various IDE’s and platforms that Goofish supports, in particular Visual Studio Professional and Jetbrains Rider, for Unreal Engine source, and Project builds.

Unreal Engine 4.27 Source Project configuration


Since Visual Studio 2022+, the procedure to compile the Engine source is no longer viable using Visual Studio 2017 as Epic's GitHub page describes in the readme.md

This is because the msbuild that is used to generate the project files chosen by vswhere from the GenerateProjectFiles.bat is returning the current version of msbuild, and not version 15. ( Visual Studio 2017 )

Certain steps need to be taken as we can not uninstall Visual Studio 2022 as it is used for other projects.

The general steps to build the engine source ( 4.26+ ) is as follows, we are using Jetbrains Rider ( latest version ) for this with specific settings to build for msbuild version 16 ( Visual Studio 2019 ), as we have found using msbuild version 15 ( vs2017 ) no longer works when using Visual Studio.

Info

Ensure the custom Engine plugins have been removed first before running these steps, as it will cause duplicate plugins to exist and generally be a pain to debug as such, do this by running OptimizationPlugin\removeplugins.bat

from the OptimizationsPlugin project first, before doing these.

  • Ensure the correct branch of the Unreal Engine source and/or tag has been checked out from GitHub.

    • Either release 4.26, or 4.27 ( preferably 4.27 )

  • Ensure the following versions of Visual Studio is installed ( you can use build tools only, but don’t as we also use them for other projects )

    • Visual Studio 2015 Community Edition

    • Visual Studio 2017 Professional

    • Visual Studio 2019 Professional

    • Visual Studio 2022+ Professional

  • Ensure the latest version of Jetbrains Rider is installed.

Go to the Windows Start, and type ‘developer command’, choose Developer Command Prompt for VS2019

Enter this command prompt, and change directory to the engine source, then run the GenerateProjectFiles.bat from within the command prompt.

Open the solution in Rider, and let it do it's thing, it takes a few years but eventually the progress bar will stop progressing and the project will be open ( specially the first time, go have a starbucks or something )

Navigate to the msbuild version setting ( it may change or vary depending on rider version, just use settings search [CTL+ALT+S] and type 'msbuild' )

  • Ensure Rider MSBuild version is set to 16.0 ( VS2019 Professional )

  • Ensure the platform is set to Development Editor|Win64 then build ( CTL+SHIFT+F7 ) the UE4 project only, it will build any dependencies required.

    • About 9 years after this build is done ( specially the first time ) navigate to: UnrealEngine\Engine\Binaries\Win64\UnrealVersionSelector-Win64-Shipping.exe

    • Run that as administrator, and say yes to everything.

Table of Contents

Child pages (Children Display)

UE4.27 Project Configuration


If this is the GoofishOptimization project, ensure the custom Engine plugins have been removed first before running these steps, as it will cause duplicate plugins to exist and generally be a pain to debug as such, do this by running OptimizationPlugin\removeplugins.bat

  • Right click the .uproject file and choose Switch To Engine Version

    • If the above steps were followed the Engine Source build will be the default option.

    • This will also re generate the project files.

  • Open the solution in Rider, and set the MSBuild version to 16.0 ( vs2019 Pro )

  • Ensure the platform config is set to Development Editor|Win64

  • Build the game project only CTL+SHIFT+F7.

If this is the GoofishOptimization project, ensure the custom Engine plugins have been updated first after running these steps, as it will cause builds to fail due to missing changes/old code, do this by running OptimizationPlugin\deployplugins.bat

Info

This is mostly specific to Goofish’s workflow, but this may apply to third party/external projects as well.