Building an Unreal Project for the YURT

Steps

1. Add nDisplay support

If this project was created from the nDisplay template this is already done. Otherwise, simply follow the steps: https://docs.unrealengine.com/en-US/Engine/Rendering/nDisplay/AddToExisting/index.html

2a. Scripted Build

  • Download the script: [TODO Add link]

  • Run `./ue4_yurt_autobuild.sh [PROJECT_NAME] [PATH_TO_UE4_PROJECT]`

2b. Manual Build


    • For projects made with the normal Unreal Editor for the YURT:

      • If your machine does not have a copy of the patched Editor for the YURT you must zip up your project and move it to a machine that does (preferably vrlab2). You can zip up the project by going to File -> Package -> Zip up Project. Then email or sftp your .zip file to the machine with the patched editor and extract it.

      • Find the path to the .uproject in the root of the project directory, call this .UPROJECT_PATH

      • Open a terminal.

      • cd to the root of the UE4 editor (/home/andy/Desktop/UnrealYurt/UE4_Build on vrlab2)

      • run 'mkdir OutputDirectory'

      • Replace [UPROJECT_PATH] with the path you previously found

        • For development builds run: ./Engine/Build/BatchFiles/RunUAT.sh BuildCookRun -project="[UPROJECT_PATH]" -noP4 -platform=Linux -clientconfig=Development -serverconfig=Development -cook -allmaps -build -stage -pak -archive -archivedirectory="OutputDirectory"

        • For release builds run: ./Engine/Build/BatchFiles/RunUAT.sh BuildCookRun -project="[UPROJECT_PATH]" -noP4 -platform=Linux -clientconfig=Shipping -serverconfig=Shipping -cook -allmaps -build -stage -pak -archive -archivedirectory="OutputDirectory"


  • Copy the "OutputDirectory/[Project Name]" directory to the YURT.

    • Unreal has remote deployment options, but I've found the easiest way to do this is to use sftp

      • sftp [username]@ssh.ccv.brown.edu

      • cd to the location you want to upload the project to.

      • run:

        • put -r OutputDirectory/[Project Name] .



  • Setup the launcher (this requires FAR more editing than it should, hopefully it'll be simpler soon)

    • Clone a new copy of https://github.com/ess476/ue_launcher

    • Replace the yurt_config.cfg file with the custom configuration (if you made one).

    • Enter into the ue_launcher directory.

      • Edit ./launch.py, replace '~/data/esattler/ue_launcher' with the path to your launcher.

      • Edit ./launch.json and replace the "-dc_cfg=/users/esattler/data/esattler/LinuxNoEditor/Example/Content/ExampleConfigs/test_input.cfg" line with "-dc_cfg=[PATH TO YOUR yurt_config.cfg]"

      • Edit ./killall.py, replace 'pkill -9 Example' with 'pkill -9 [My Project Name]'

3. Run

    • To start the project do: ./run

    • To stop the project do: ./killall.sh