Getting Started with Schola
Install Prerequisites
-
Ubuntu 22.04. (22.04.4 Desktop x86 64-bit is recommended for reproducibility)
-
Unreal Engine 5.5. (5.5.2 is recommended for reproducibility)
While other Integrated Development Environments (IDEs) can be used, Visual Studio Code is recommended along with the C/C++ Extension Pack. Please see the Unreal Engine documentation for more information.
-
Unreal Engine 5.5. (5.5.2 is recommended for reproducibility)
While other Integrated Development Environments (IDEs) can be used, Visual Studio is recommended. (Visual Studio Professional 2022 (64-bit) - LTSC 17.8 is recommended for reproducibility)
Follow the Visual Studio setup guide from Epic Games to setup your Visual Studio environment for working with Unreal.
Install Schola
- Add Schola to a project as an Unreal Engine Plugin, either by downloading the source, or via git.
- Create a folder named
Schola
in thePlugins
folder of your Unreal Engine project. - Download the zipped source code from the Schola Repository
- Unzip the repository. Copy the contents of the
Schola
folder to theSchola
folder you created in your project.
git submodule add https://github.com/GPUOpen-LibrariesAndSDKs/Schola.git ./Plugins/Schola
git clone https://github.com/GPUOpen-LibrariesAndSDKs/Schola.git ./Plugins
If you experience an error installing the repository with git due to a large file sizes, run the following command to increase the git buffer size:
git config –global http.postBuffer 524288000
- Make sure pip is updated before installing the schola python package from Plugins/Schola/Resources/python.
python -m pip install --upgrade pippip install ./Plugins/Schola/Resources/python[all]
Schola installs the cpu version of pytorch by default, to install other versions of pytorch follow the instructions at Pytorch Get Started.
To install Pytorch with ROCm on Linux, we recommend following the guide at Install Pytorch for Radeon GPUs.
- Using an editor of your choice, such as Visual Studio or Visual Studio Code compile the project source. The Schola plugin will not appear in the editor, or be useable until the project has been compiled.
- Launch your project as normal in Unreal Engine. You should see the Schola plugin in the Plugins section of the project settings.
Building 3rd-Party Dependencies for Schola (Optional)
Schola comes bundled with all of its c++ dependencies already. However, if you want to use a different version of a dependency, or unreal engine you may build them from source.
Building gRPC from source for Schola
- Install Prerequisites
-
Ubuntu 22.04. (22.04.4 Desktop x86 64-bit is recommended for reproducibility)
-
Unreal Engine 5.5. (5.5.2 is recommended for reproducibility)
While other Integrated Development Environments (IDEs) can be used, Visual Studio Code is recommended along with the C/C++ Extension Pack. Please see the Unreal Engine documentation for more information.
-
Visual Studio (2017 with VC++ tools v141 installed, or Visual Studio 2022 with VC++ tools)
-
CMake (used to generate a Visual Studio solution from the
CMakeLists.txt
provided with gRPC)
Some install steps may require adding the above prerequisites to your PATH.
- Build gRPC using the scripts in /Resources/Build, by running the following from the Plugin Root Dir
# Install Required Packages for Running the Build Scriptsudo apt updatesudo apt-get -y install cmake git automake autoconf libtool-bin pkg-config build-essential
# Change this to your Unreal Engine pathUE_ROOT="~/UnrealEngine/UE_5.5"export UE_ROOTbash ./Resources/Build/linux_dependencies.sh
# Change this to your Unreal Engine path if it is different than the default.set UE_ROOT="C:\Program Files\Epic Games\UE_5.5"./Resources/Build/windows_dependencies.bat
Regenerated Protobuf and gRPC Code
- Follow the steps in the Building Schola from source section to build gRPC from source, and get an up to date version of protoc.exe.
- Run the following command to regenerate the protobuf and gRPC code.
python schola-build-proto --plugin-folder . --add-type-stubs
The —add-type-stubs flag is optional and will generate .pyi files for the generated code. This is useful for IDEs that support type stubs for better code completion. However, not all protobuf/gRPC features are supported in the .pyi files. If you encounter issues when generating try running without the flag.