@Galaxy That folder is a product of Unreal; delete it at your own consequence
In addition, that's just how fat Unreal normally is; if you don't like it, I advise not using Unreal Lmao
| Git Clone URL: | https://aur.archlinux.org/unreal-engine.git (read-only, click to copy) |
|---|---|
| Package Base: | unreal-engine |
| Description: | A 3D game engine by Epic Games which can be used non-commercially for free. |
| Upstream URL: | https://www.unrealengine.com/ |
| Keywords: | 3D engine game ue5 Unreal |
| Licenses: | GPL3, custom:UnrealEngine |
| Submitter: | acerix |
| Maintainer: | alexbelm48 |
| Last Packager: | alexbelm48 |
| Votes: | 74 |
| Popularity: | 0.188866 |
| First Submitted: | 2016-05-01 18:37 (UTC) |
| Last Updated: | 2026-03-29 03:16 (UTC) |
« First ‹ Previous 1 .. 26 27 28 29 30 31 32 33 34 35 36 .. 84 Next › Last »
@Galaxy That folder is a product of Unreal; delete it at your own consequence
In addition, that's just how fat Unreal normally is; if you don't like it, I advise not using Unreal Lmao
@Neko-san, I find many files are not necessary, like this pkg/unreal-engine/opt/unreal-engine/Engine/Plugins/ScriptPlugin/Intermediate/Build/LinuxArm64/93821A52/UnrealGame/Development/ScriptPlugin/Module.ScriptPlugin.cpp.o.
Would you add some command to delete those Intermediate dir ?
I got a Installed Size of 47344.48 MiB, which is too huge.
@Galaxy For now, just delete any excess folders in your building folder to clone it fresh from the source; I'll check that out when I have a moment
Another way to basically do this is using: makepkg -sfcCr or makepkg -sfcCri instead of makepkg -si
If you use a AUR helper, you may have to find the equivalent settings or flags for it to reproduce that automatic behavior
@Neko-san How to rebuild ? The @upstream in git fetch --depth=1 origin tag @{upstream} is not working.
@zerophase Maybe it is better to keep this outdated package(in case if someone will strive for UE4) and create a new one for UE5?
hey @Neko-san - consider to create 5.0 aur package ;)
I updated the PKGBUILD below again to a branch of UE5 that's more stable.
Fixed; read the post for more info
@Neko-san I tried your UE5 PKGBUILD and I can't get it to work...I'd really like to get this working on Arch...any suggestions? It's currently giving me a not found error for https://github.com/EpicGames/UnrealEngine/tree/5.0.0-early-access-2.git
I tried replacing it with https://github.com/EpicGames/UnrealEngine/tree/ue5-early-access.git but same error.
For anyone who wants to try using UE5, I have a version of the PKGBUILD here that you can use.
Just don't expect the ccache or system mono patches to work because, in my experience, the mono one specifically just breaks the build process.
EDIT: I edited the PKGBUILD to target UE5-main instead since targeting Early Access 2 with git is a pain. This should resolve issues with not being able to clone the repo.
Side note: The Clang patch isn't needed anymore, for UE5; UE5 can detect its needed toolchain for Linux properly now (unless someone at Epic decides to mess that code up in the future).
Another note: if you build in a chroot, don't, unless you know how to work with them well. Contacting github for permission for access to the repo doesn't work properly in a chroot and attempting to do so will give you headaches and wasted hours.
# Maintainer: Dylan Ferris <dylan@psilly.com>
# Maintainer: Michael Lojkovic <mikelojkovic@gmail.com>
# Maintainer: Shatur95 <genaloner@gmail.com>
# Updated for UE5 by Neko-san <nekoNexus at protonmail dot ch>
# The source is about 200 MiB, with an extra ~11 GiB of dependencies downloaded in Setup.sh, and may take several hours to compile.
# If you want to turn on additional patches there are switches below.
pkgname=unreal-engine
pkgver=5.0
pkgrel=1
pkgdesc='A 3D game engine by Epic Games which can be used non-commercially for free.'
arch=(x86_64 x86_64_v3)
url=https://www.unrealengine.com/
makedepends=(git openssh)
depends=(icu sdl2 python lld xdg-user-dirs dos2unix)
optdepends=('qt5-base: qmake build system for projects'
'cmake: build system for projects'
'qtcreator: IDE for projects'
'codelite: IDE for projects'
'kdevelop: IDE for projects'
'clion: IDE for projects')
license=(custom:UnrealEngine)
source=(com.unrealengine.UE4Editor.desktop
ccache_executor.patch
stop_mono_clone.patch)
sha256sums=('15e9f9d8dc8bd8513f6a5eca990e2aab21fd38724ad57d213b06a6610a951d58'
'33982486f7fafac35a33dfa37c85cfba8543aa78b5fe13c395d9cccf691ef4b3'
'aa9eb83c9f58c539d3cd43e919a4ebd6714c0aa2d32eb9b320049cf04dd01587')
# Not sure if compiling Unreal with LTO is legal? Lot's of different proprietary software goes into Unreal
options=(!strip staticlibs !lto) # Package is 3 Gib smaller with "strip" but it takes a long time and generates many warnings
#PACMAN_AUTH=(doas)
## Patches probably don't work for this build
#_ccache_support=false # Patches for ccache. More optimizations might be needed.
#_system_mono=false # Uses System mono for unreal. Must set UE_USE_SYSTEM_MONO in your environment for it to work after install.
_install_dir="opt/$pkgname" # Default engine installation directory. Can be useful if you do not have a lot of space in /opt directory.
if [[ $_ccache_support == true ]]
then
depends+=(ccache)
fi
if [[ $_system_mono == true ]]
then
depends+=(mono mono-msbuild)
fi
prepare() {
# Check access to the repository
if ! git ls-remote git@github.com:EpicGames/UnrealEngine &>/dev/null
then
error 'You must register at unrealengine.com and link your github account to access this private repo. See the wiki for more info: https://wiki.archlinux.org/index.php/Unreal_Engine_4'
exit 1
fi
# Download Unreal Engine source or update if the folder exists
if [[ ! -d $pkgname ]]
then
git clone --depth=1 --branch=5.0 git@github.com:EpicGames/UnrealEngine $pkgname
cd $pkgname
else
cd $pkgname
rm -f .git/index.lock
git fetch --depth=1 origin tag @{upstream}
git reset --hard @{upstream}
fi
# Apply custom patches
#patch -p1 -i "$srcdir/clang_path_fix.patch" # Replace Windows specific search with the correct path (used for -mode=GenerateClangDatabase in UBT)
if [[ $_system_mono == true ]]
then
export UE_USE_SYSTEM_MONO=1
patch -p1 -i "$srcdir/stop_mono_clone.patch"
fi
if [[ $_ccache_support == true ]]
then
patch -p1 -i "$srcdir/ccache_executor.patch"
fi
# Qt Creator source code access
if [[ ! -d Engine/Plugins/Developer/QtCreatorSourceCodeAccess ]]
then
git -C Engine/Plugins/Developer clone --depth=1 git@github.com:fire/QtCreatorSourceCodeAccess
fi
# For some reason, despite this file explicitly asking not to be removed, it was removed from the UE5 source; it has to be re-added or the build will fail
if [[ ! -f $pkgname/Engine/Source/ThirdParty/Linux/HaveLinuxDependencies ]]
then
mkdir -p $pkgname/Engine/Source/ThirdParty/Linux/
touch $pkgname/Engine/Source/ThirdParty/Linux/HaveLinuxDependencies
sed -i "1c\This file must have no extension so that GitDeps considers it a binary dependency - it will only be pulled by the Setup script if Linux is enabled. Please do not remove this file." $pkgname/Engine/Source/ThirdParty/Linux/HaveLinuxDependencies
fi
./Setup.sh
}
build() {
cd $pkgname
Engine/Build/BatchFiles/RunUAT.sh BuildGraph -target="Make Installed Build Linux" -script=Engine/Build/InstalledEngineBuild.xml -set:WithDDC=false -set:HostPlatformOnly=true
}
package() {
# Desktop entry
if [[ "$_install_dir" != "opt/$pkgname" ]] # Set new path if dir changed
then
if [[ -f com.unrealengine.UE4Editor.desktop ]]
then
sed -i "5c\Path=/$_install_dir/Engine/Binaries/Linux/" com.unrealengine.UE4Editor.desktop
sed -i "6c\Exec=/$_install_dir/Engine/Binaries/Linux/UnrealEditor %F" com.unrealengine.UE4Editor.desktop
sed -i 's/Unreal Engine 4 Editor/Unreal Engine 5 Editor/g' com.unrealengine.UE4Editor.desktop
sed -i 's/Icon=ue4editor/Icon=ue5editor/g' com.unrealengine.UE4Editor.desktop
mv com.unrealengine.UE4Editor.desktop com.unrealengine.UE5Editor.desktop
install -Dm775 com.unrealengine.UE5Editor.desktop "$pkgdir/usr/share/applications/com.unrealengine.UE5Editor.desktop"
else
install -Dm775 com.unrealengine.UE5Editor.desktop "$pkgdir/usr/share/applications/com.unrealengine.UE5Editor.desktop"
fi
fi
cd $pkgname
# Icon for Desktop entry
install -Dm770 Engine/Source/Programs/UnrealVS/UnrealVS.2022/Resources/Preview.png "$pkgdir/usr/share/pixmaps/ue5editor.png"
# License
install -Dm770 LICENSE.md "$pkgdir/usr/share/licenses/UnrealEngine/LICENSE.md"
# Engine
install -dm770 "$pkgdir/$_install_dir/Engine"
mv LocalBuilds/Engine/Linux/* "$pkgdir/$_install_dir"
}
Pinned Comments
alexbelm48 commented on 2026-03-28 22:40 (UTC) (edited on 2026-05-16 08:26 (UTC) by alexbelm48)
I currently recommend building
5.6.1over any version of5.7as this branch holds a notoriously broken Vulkan RHI implementation, leading to unexpectedVK_ERROR_DEVICE_LOSTcrashes due to a race condition. Just modifypkgveron your end with the aformentioned version and you should be good to go.A discussion here goes into detail about the issue, but no proper fix is currently planned by Epic.A merge request has also been proposed here, but the fix itself was in the end apparently not very effective.The Vulkan crashes were recently fixed in
5.8, check here.You can still try on your own if you still insist on using
5.7.x, especially if you're motivated to fix this issue on your side. If so, don't hesitate to send a comment with your patch, I could add you as a contributor to this package if you are interested.Reducing crashes can be done by doing the following two steps:
DefaultEngine.ini(either in your project or the editor's installation dir,/opt/unreal-engine/Engine/Config/DefaultEngine.iniby default)ConsoleVariables.inifile (/opt/unreal-engine/Engine/Config/ConsoleVariables.iniby default):alexbelm48 commented on 2026-03-20 16:42 (UTC) (edited on 2026-03-28 23:25 (UTC) by alexbelm48)
Do note that using Wayland for Unreal Engine is currently not recommended as half of the UI interactions are broken. This is due to a recent upgrade to SDL3 which defaults the use of Wayland protocols over X11 when launching on a Wayland-based session.
You can work around this (or at least improve your experience) while still being on Wayland by opening a separate Xorg windowed server:
You can, of course, replace
kwin_x11with your desktop environment window manager (GNOME ismutterfor example).Neko-san commented on 2022-11-01 02:32 (UTC) (edited on 2023-06-25 01:19 (UTC) by Neko-san)
@juancarlospaco this is easily done on your own system, not in a PKGBUILD, given that building packages runs as root:
Permission issues like this are already mentioned on the UE Arch wiki page: https://wiki.archlinux.org/title/Unreal_Engine_4#Installing_from_the_AUR
This is a user system problem; I already did what I could without needing users to do the above by giving the
777permissions. If it still gives you trouble, you'll have to use the example to solve it or change the install location to somewhere you have user permissions by default (as I cannot do this for you).