Package Details: unreal-engine 5.4.0-0

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: Shatur (Neko-san)
Last Packager: Neko-san
Votes: 73
Popularity: 0.089164
First Submitted: 2016-05-01 18:37 (UTC)
Last Updated: 2024-04-24 02:23 (UTC)

Required by (1)

Sources (5)

Pinned Comments

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:

sudo groupadd unrealengine-users
sudo usermod -aG unrealengine-users (your-username)
sudo chown -R root:unrealengine-users /opt/unreal-engine
sudo chmod -R 775 /opt/unreal-engine

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 777 permissions. 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).

zerophase commented on 2021-05-27 08:15 (UTC) (edited on 2021-05-30 08:41 (UTC) by zerophase)

Will update to 5.0 when it is released.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 10 11 12 .. 79 Next › Last »

seqfault commented on 2023-06-23 18:32 (UTC)

@OdinVex: I'm sorry, I still don't understand hwo can I use latest PKGBUILD with src dir with successfully built engine inside. is there a possibility to do this without editing the PKGBUILD? I don't know PKGBUILD syntax, so I'm trying to avoid that, not counting variable changes (false -> true)

OdinVex commented on 2023-06-23 18:26 (UTC) (edited on 2023-06-23 18:31 (UTC) by OdinVex)

@Neko-san You shouldn't prevent people from running as root, even if it would break things. sudo means do as I say, no matter what. If their actions break something then they are at fault. Either the user installs Steam and has access to Steam-related functionality for Unreal Engine or they don't, their choice. Unreal does require the old symlink, BUT simply installing Steam like they will fix that itself. Steam manages it. It is a standard to use /opt, users should modify their own clone if they're going out of their way to change the directory. Besides, they can always run the Version Selector with -register to have UE fix the .desktop files.

@k1gen Won't work. You're about to put a nail through your foot, honestly. It's due to the order of operations. It hasn't been packaged yet, so it'll try from the beginning all over again. -i is for install, AFTER it is packaged.

seqfault commented on 2023-06-23 18:25 (UTC)

@Neko-san: what do you think about my issue? can I just git pull the PKGBUILD in yay .cache dir? if I run makepkg -i afterwards, will it keep the src directory or delete it?

Neko-san commented on 2023-06-23 18:21 (UTC)

I pushed a fix for the symlink; and the bash file exists to stop stubborn people who try to run everything as root and to make sure specific paths exists to avoid arbitrary legacy compatibility issues. It also assists with user-chosen custom install locations.

OdinVex commented on 2023-06-23 18:05 (UTC)

@thoth I recall Steam requiring a symlink ages ago for Linux so that software could easily find Steam, but Steam revamped the means to do so. Most updated software uses the new method, older stuff doesn't but requires something to be there, so a broken symlink is there for compatibility with older stuff. This section should definitely have a soft-fail (ignore any error). Personally, I don't understand the reason for a .sh in this, I'd rather do away with it entirely.

thoth commented on 2023-06-23 17:57 (UTC)

What is the purpose of this section:

if [ -d "${HOME}/.steampath" ] && [ ! -L "${HOME}/.steam/bin" ]; then
    ln -s "${HOME}/.steampath" "${HOME}/.steam/bin"
elif [ ! -d "${HOME}/.steampath" ] && [ ! -L "${HOME}/.steam/bin" ]; then
    mkdir -p "${HOME}/.steam/bin"
    ln -s "${HOME}/.steampath" "${HOME}/.steam/bin"
fi

What I get is this error:

ln: failed to create symbolic link '/home/user/.steam/bin/.steampath': File exists

Which seems related to this bug:

https://github.com/anyc/steam-overlay/issues/206

but why are we creating a second symlink that points to an already intentionally broken symlink?

OdinVex commented on 2023-06-23 17:30 (UTC) (edited on 2023-06-23 17:31 (UTC) by OdinVex)

@k1gen It did, but I'll be much more explicit. Try to yay again and tell it you'd like to EDIT the build when it asks...then add the changes yourself. Specifically add what I told you to do for build() and it'll not destroy the build and simply skip forward to package(). You can also edit to prevent the prepare() stuff from kicking in to prevent alterations.

seqfault commented on 2023-06-23 17:28 (UTC)

@OdinVex: that doesn't really answer my question: "how can I merge that change if I already started building this from scratch?"

OdinVex commented on 2023-06-23 16:42 (UTC) (edited on 2023-06-23 17:30 (UTC) by OdinVex)

@k1gen I added “return” just after the first line inside build() so that it wouldn't build again and simply pass through to package(). This allowed me to keep trying my package while making modifications to the PKGBUILD (such as correcting the SVG bit). Of course, it turns out that you can't use Unreal Engine plugins 3rd-party using any of this without adding in more code to add your project to it, just spews errors (not AUR fault, it's Unreal's fault). I ended up just going back to manual compiles and wrote a script to automate everything including adding my projects and such, I also use make -j32 and after it finally fails a make -j1 and it greatly speeds up my compilation. Unreal does a bad job of parallel-compilation.

Edit: I also use makepkg instead of using yay for big stuff like this. Git clone in the future, that way you can easily modify the package while testing first, at which case you then makepkg -s to build, makepkg -i to install. Can retry a lot easier.