Getting Started with Schola
Install Prerequisites
-
Ubuntu 22.04. (22.04.4 Desktop x86 64-bit is recommended for reproducibility)
-
Unreal Engine 5.7. (5.7.3 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.7. (5.7.3 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.
git submodule add https://github.com/GPUOpen-LibrariesAndSDKs/Schola.git ./Plugins/Scholagit clone https://github.com/GPUOpen-LibrariesAndSDKs/Schola.git ./Plugins/ScholaIf 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.7. (5.7.3 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.txtprovided 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.batRegenerated 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.
schola compile-proto --plugin-folder .Type stub generation (.pyi files) is enabled by default. Pass --no-add-type-stubs if you need to disable it. Stubs help IDEs with completion, but not every protobuf or gRPC feature is represented cleanly in .pyi output; if generation fails, try again with stubs disabled.
You can also run the same logic without the console script: python -m schola.scripts.utils.compile_proto (same arguments as schola compile-proto).