Skip to content

Instantly share code, notes, and snippets.

@R3D9477
Last active November 19, 2023 10:04
Show Gist options
  • Save R3D9477/cc7077aff06b9ffa44d063b51c59a13f to your computer and use it in GitHub Desktop.
Save R3D9477/cc7077aff06b9ffa44d063b51c59a13f to your computer and use it in GitHub Desktop.
Install Unreal Engine 4.27.2 Linux
#!/bin/bash
export UE4_VERSION="UnrealEngine-4.27.2-release"
export UE4_DEST_FOLDER="$HOME/Software/LinuxInstalled"
export UE4_GAME_PROJECT=""
export UE4_TOKEN=""
export UE4_ASSET_ID_SRC=""
export UE4_ASSET_ID_DEPS=""
echo "Installation path: $UE4_DEST_FOLDER/$UE4_VERSION"
pushd "/tmp"
mkdir -p "$UE4_DEST_FOLDER"
rm -rf "$UE4_DEST_FOLDER/$UE4_VERSION"
SCRIPT_FOLDER=$(dirname "$(realpath -s "$0")")
if [ -f "$SCRIPT_FOLDER/$UE4_VERSION.zip" ]; then
unzip "$SCRIPT_FOLDER/$UE4_VERSION.zip" -d "$UE4_DEST_FOLDER"
elif [ -f "$UE4_VERSION.zip" ]; then
unzip "$UE4_VERSION.zip" -d "$UE4_DEST_FOLDER"
else
wget -q --auth-no-challenge --header='Accept:application/octet-stream' "https://$UE4_TOKEN:@api.github.com/repos/EpicGames/UnrealEngine/releases/assets/$UE4_ASSET_ID_SRC" -O "$UE4_VERSION.zip"
unzip "$SCRIPT_FOLDER/$UE4_VERSION.zip" -d "$UE4_DEST_FOLDER"
fi
if [ -f "$SCRIPT_FOLDER/Commit.gitdeps.xml" ]; then
cp "$SCRIPT_FOLDER/Commit.gitdeps.xml" "$UE4_DEST_FOLDER/$UE4_VERSION/Engine/Build/"
elif [ -f "Commit.gitdeps.xml" ]; then
cp "Commit.gitdeps.xml" "$UE4_DEST_FOLDER/$UE4_VERSION/Engine/Build/"
else
wget -q --auth-no-challenge --header='Accept:application/octet-stream' "https://$UE4_TOKEN:@api.github.com/repos/EpicGames/UnrealEngine/releases/assets/$UE4_ASSET_ID_DEPS" -O "Commit.gitdeps.xml"
cp "Commit.gitdeps.xml" "$UE4_DEST_FOLDER/$UE4_VERSION/Engine/Build/"
fi
popd
if ! [ -d "$UE4_DEST_FOLDER/$UE4_VERSION" ]; then
exit 1
fi
pushd "$UE4_DEST_FOLDER/$UE4_VERSION"
./Setup.sh
./GenerateProjectFiles.sh
sed -i 's/.*;.*+TargetedRHIs=GLSL_430/+TargetedRHIs=GLSL_430/g' "Engine/Config/BaseEngine.ini"
sed -i 's/FMessageDialog.*LinuxDynamicRHI.*OpenGLDeprecated.*OpenGL.*deprecated.*;//g' "Engine/Source/Runtime/RHI/Private/Linux/LinuxDynamicRHI.cpp"
sed -i 's/\+TargetedRHIs=SF_VULKAN_SM5/\+TargetedRHIs=GLSL_430\n\+TargetedRHIs=SF_VULKAN_SM5/g' "Engine/Config/BaseEngine.ini"
sed -i 's/if \(bForceOpenGL*\)/if \(false\)/g' "Engine/Source/Runtime/RHI/Private/Linux/LinuxDynamicRHI.cpp"
make
make ShaderCompileWorker
popd
exec "$UE4_GAME_PROJECT" &
pushd "/tmp"
# install android-studio-4.0
rm -rf "$HOME/Android"
rm -rf "$HOME/android-studio"
rm "android-studio-ide-193.6514223-linux.tar.gz"
wget "https://redirector.gvt1.com/edgedl/android/studio/ide-zips/4.0.0.16/android-studio-ide-193.6514223-linux.tar.gz"
tar -zxvf "android-studio-ide-193.6514223-linux.tar.gz" -C "$HOME"
# install commandline-tools 8.0
exec "$HOME/android-studio/bin/studio.sh"
# configure UE4
pushd "$HOME/Android/Sdk/cmdline-tools"
rm -rf "latest"
ln -s "8.0" "latest"
popd
pushd "$UE4_DEST_FOLDER/$UE4_VERSION"
exec "Engine/Extras/Android/SetupAndroid.sh"
popd
# install SDK 31
pushd "$HOME/Android/Sdk/build-tools"
rm -rf ./*
popd
exec "$HOME/android-studio/bin/studio.sh"
popd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment