Package Details: unreal-engine-4 4.27.2-15

Git Clone URL: https://aur.archlinux.org/unreal-engine-4.git (read-only, click to copy)
Package Base: unreal-engine-4
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 game-engine ue4 unreal
Licenses: custom:UnrealEngine
Submitter: Neko-san
Maintainer: Neko-san
Last Packager: Neko-san
Votes: 6
Popularity: 0.016727
First Submitted: 2022-06-30 18:25 (UTC)
Last Updated: 2023-11-19 18:57 (UTC)

Pinned Comments

Neko-san commented on 2023-07-13 04:15 (UTC)

The issue with me including the Commit.gitdeps.xml alsongside the PKGBUILD manually is that it might be subject to a legal grey area since the UE repo is private and is technically a part of the source;

because the repo is private, having the PKGBUILD access it directly isn't a simple task because Github requires the URL request to have a generated timed authentication token that expires.

Meaning that I can't simply grab the URL and paste it into the PKBUILD willy-nilly because it is both not tied to your account and because the links have an expiration attached. I get why Epic chose this approach but their flawed "open-source" methodology is what makes this difficult.

Neko-san commented on 2022-10-15 20:50 (UTC) (edited on 2022-10-15 20:54 (UTC) by Neko-san)

I updated it to not use the Arch Clang compiler by default; I thought I had this opt-out but I didn't - the reason being that for UE4, there's actually a hard-coded reference to look for a Windows compiler (thanks Epic...) and using the Arch compiler has been the solution on the AUR for UE4 for a long time

That said, if it fails to compile by default now (at least if strictly using makepkg), the fault is entirely on Epic for not properly having the Unreal Build Tool (UBT) not handle the Linux build properly - proper support for this was implemented in UE5, so they should honestly backport that to UE4's codebase

I left a user toggle-able switch in the PKGBUILD if anyone wants to try the Arch Clang compiler patch again, for whatever reason

If anyone manages to figure out how to this otherwise, let me know and I'll add the fix

Latest Comments

« First ‹ Previous 1 2 3 4 5 Next › Last »

shad_amethyst commented on 2023-06-15 09:21 (UTC) (edited on 2023-06-15 09:27 (UTC) by shad_amethyst)

I don't understand what's up with the PKGBUILD, but it has several issues:

  • the build step is wrapped in a while loop, meaning that you can't stop it with ctrl+C
  • since package() does a mv of LocalBuilds/Engine/Linux to the pkg directory, running makepkg -R wipes half of the compilation output (that made things fun to debug)
  • the script is missing a mkdir -p "${pkgdir}/usr/bin" before copying the unreal-engine-4.sh file
  • the seds at the end of package() are broken, they don't target the correct file
  • in the .sh file, the correct condition should be [ ! -L ~/.steampath ], otherwise it attempts to create the steampath file even though it shouldn't
  • in the .sh file, a ~/.cnfig folder is created for no reason
  • the .desktop file generated is broken, as it calls the .sh file, which itself calls the .desktop file, creating an infinite recursion that cannot be stopped with ctrl+C, ctrl+Z, or killing the parent shell.

The last point is the one I'm most confused with. The .sh file already calls the .desktop file, so why change the .desktop file?

wuliaotc commented on 2023-06-06 16:57 (UTC)

I found that, epic has a topic about it https://forums.unrealengine.com/t/upcoming-disruption-of-service-impacting-unreal-engine-users-on-github/1155880 . To get the file,we should manaul replace Engine/Build/Commit.gitdeps.xml from file on github release.

ardishco commented on 2023-05-27 21:50 (UTC)

Alright. Fair enough. I'll try some other methods. Can you use this PKGBUILD to compile Unreal 4.27? Does it return the same error? Since you mentioned it is also not accessible for you either, I would guess that it does not but I wanted to make sure there isn't something I was missing here.

Also, to add onto that: Epic has Tim the asshat Sweeney, he does not care about Linux.

Neko-san commented on 2023-05-24 03:25 (UTC) (edited on 2023-05-24 03:25 (UTC) by Neko-san)

@ardishco I never call that URL, so it's being called by the build script itself; I don't even know what that URL was supposed to lead to, so I can't even attempt to patch it if I don't know if there's even an updated URL to begin with.

403 doesn't mean there's no data on the other end, by the way; it means that the direct URL request is denied because they want some kind of browser authentication. It's strange this is even happening considering this is the only way to get UE4 for Linux and Epic knows this.

jtljac commented on 2023-02-24 03:31 (UTC)

It's cloning successfully now, however it's failing in build(), here's the error

  [1230/1231] Compile AnimEncoding_VariableKeyLerp.ispc
  [1231/1231] Compile SQLiteEmbedded.c
Took 1377.697445s to run mono, ExitCode=6
UnrealBuildTool failed. See log for more details. (/home/user/Library/Logs/Unreal Engine/LocalBuildLogs/UBT-UE4Game-Linux-DebugGame.txt)
AutomationTool exiting with ExitCode=6 (6)
RunUAT ERROR: AutomationTool was unable to run successfully.

and the log: https://controlc.com/c0d21ed7

Neko-san commented on 2023-02-23 01:29 (UTC) (edited on 2023-02-23 01:31 (UTC) by Neko-san)

Branch 4.27 and 4.27-plus would be more suited for an AUR -git package, which would require a separate page per the AUR guidelines

Thought I did try cloning 4.27.2 directly before though but I guess I must have thought of doing it but didn't actually act on it somehow; I'm correcting this right now

jtljac commented on 2023-02-22 22:48 (UTC) (edited on 2023-02-22 22:49 (UTC) by jtljac)

Still failing to clone Looks like it can't find any branch or tag called 4.27-release.

There is a tag 4.27.2-release, which can be cloned with:

git clone --depth=1 --branch ${pkgver}-release git@github.com:EpicGames/UnrealEngine "${pkgname}"

Alternatively, there is a branch 4.27 (or 4.27-plus, which seems to still be getting updates), which can be cloned with:

git clone --depth=1 --branch="${base_pkgver}" git@github.com:EpicGames/UnrealEngine "${pkgname}"

Neko-san commented on 2023-02-22 03:26 (UTC)

I revised the cloning method to take a slightly different approach and I bumped the pkgrel for you

jtljac commented on 2023-02-22 01:18 (UTC) (edited on 2023-02-22 01:19 (UTC) by jtljac)

The tag cloning is failing with the error "Too many arguments" on the git clone in prepare I believe the git command should be git clone --depth=1 --branch ${pkgver}-release git@github.com:EpicGames/UnrealEngine "${pkgname}".

Also, you should increment the pkgrel, as I am having to manually delete my AUR tool's cache to download the updated PKGBUILD.