Linux mod development?
Has anyone successfully set up modding/development environment on linux?
I'm asking this because i don't want to spend a long time compiling the custom version of unreal engine just to find out something later on is blocking this from being possible. In particular i don't know if Wwise will work on linux, they have some documentation for linux but there isn't a clear way to get the sdk since there isn't an official installer and i wan't able to find other means of downloading the sdk.
56 Replies
I think a few people have tried over the years, but I haven't heard of anyone finishing/it succeeding
I know Vilsol and Mircea were interested in making it work, and made it sound like they made some pretty big progress, but got "distracted" by 1.0
The "big progress" was installing msvc-wine
for building UE or other things?
The goal was building UE
But never got to actually test it
And also msvc-wine says building debug instead of release doesn't really work, and I would assume Development uses debug
tried running UE through wine but i dont think i can bypass this
And the mere thought of running VS through wine made my entire body shudder in pain.
That would be the goal of msvc-wine
Or, at least the compiler, if not the IDE
Yeah, I was thinking about VS
I'm attempting this
At the moment, I'm going through VirtualBox with a Virtual Machine.
Is that virtual machine running Windows?
Correct. I'm using Windows 10 Pro within the VM. Getting the initial VisualStudio installer was a bit of a chore. After that, everything started flowing.
I'm still in the process of setting up the environment.
I feel the virtual GPU might be an issue but it should otherwise work
I haven't gotten to that point yet. If it becomes an issue, I'll proceed with my plan on building a native version of the base Unreal Engine and then start comparing the CSS differences and add them in.
Looking at the Unreal Engine documentation in relation to cross compiling gives clues as to what compilers and versions should be installed on Linux Native. I'm currently using Ubuntu 22.04 as recommended in the docs. I may consider upgrading to 24.04 for the proper llvm-clang toolchain that comes with 24.04 if I can't get it compiled on 22.04
I may just create a special repo on Launchpad.net to get llvm-toolchain compiled for 22.04. It will probably generate less headaches.
You might as well just build UE-CSS directly
If I do, I may just make a .deb package of it.
Please ask Mircea before doing that
I have no idea who that is. I tend to create .deb packages of items I choose to install. They typically don't get distributed.
But if you're not distributing the .deb package (you only use it for yourself) I think it's fine
It's mainly about respecting Unreal Engine's license
Distributing that deb outside of github forks or the UE marketplace is against the EULA
If you want the fruits of my .deb creation work, all you would have to do is create a {base_dir}/debian folder and put the packaging stuff in there, then commit that to the repo.
Similarily for RedHat, you would have a text file called {base_dir}/unrealengine.srpm that lays out how to create an RPM package. At least that is how I remember it from my RedHat days.
So far, This is as far as I have gotten. I was able to get the Unreal Engine - CSS up and running. I created a blank project, then I got this error:
It looks like you're getting a crash when trying to open the Unreal Editor - are you sure you downloaded our custom engine version as described in the docs?
Is the EngineAssociation in the uproject file set to the correct engine version?
Make sure to grab the Aspiring Modder role in https://discord.com/channels/555424930502541343/555442202780762143 if you haven't yet.
-# Responding to
editorenginemodulecompilefailure
triggered by @SymaxThe release I grabbed was UnrealEngine-5.3.2-css-66 and I made sure to grab the .EXE, as well as the -1 and -2 files.
EngineAssociation in the .uproject file is:
I guess I need to stick to the Sample project as a template.
You have to do as per the docs
i.e. download the starter project, integrate wwise, etc
won't work even with native compiled UE for linux it will still complain about missing visual studio 2022 when atempting to open the sf starter project
I know
For Linux, you have to use VS Code for Linux.
I'm still trying to figure the rest out.
You need MSVC (compiler), vscode doesn't have that
I know there will have to be some sort of conversion in the long run for Linux dev work
Gonna assume y'all already know this, but in case you don't:
You can also use JetBrains Rider as an IDE for UE5, which is available on Linux.
Rider has quite recently been made free for personal use.
Maybe that could work in some way?
You still need MSVC to compile for Windows. But it's convenient to have an IDE
Has anyone made any progress on this that can be shared? I just started looking into setting up a modding environment for Satisfactory and I don't have a Windows machine to use, so I started looking into using my Steam Deck which runs a modified version of Arch Linux. I saw a few mentions of JB's Rider, which I have access to use. Any update is appreciated!
Not that I have head. But even if you do, the specs and storage space of a steam deck will make compiling the project very slow
The 5.3.2-css-64 compiles natively (just one typo to fix).
Launching ./Engine/Binaries/Linux/UnrealEditor: the Starter Project needs Wwise plugin. No idea if it's even possible to to get it on Linux. Even in Proton, the Wwise Windows Launcher fails to install Wwise SDK:
Can't recognize '"C:\users\steamuser\AppData\Local\Temp\WwiseLauncher\runAsAdmin.lnk"' as an internal or external command, or batch script.
By removing Wwise from the FactoryGame.uproject: there is an UnrealEditor's error "The modules are missing or built with a different engine version" for a ton (63+) of modules like FactoryGame, FactoryPreEarlyLoadingScreen, FactoryDedicatedServer...Wwise is a requirement to work on the game, you can't run without it
trying without it is to check faster whether there is anything else blocking
ok, basically you install msvc into wine with the microsoft's vs_BuildTools.exe installer. Wwise launcher is bugged, the best it can do is to download archives that can be extracted into Plugins dir of the project. UnrealEditor works in wine. It's about 90% there, I'm getting an Alpakit packaging error: Failed to find command PackagePlugin (in \Engine\Source\Programs\AutomationTool\AutomationUtils\Automation.cs:line 258). Looks like some of the Alpakit's functions haven't loaded themselves. Any ideas?
Some of your Alpakit files are missing. Please redownload the folder /Build/Alpakit.Automation/ from the repo
-# Responding to
missingalpakit
triggered by @devel>remove crash missingaplakit
Crash could not be found!
>remove crash missingalpakit
Crash removed!
Can you send the full log?
Did you build UE from source?
yes 08d00ee44347101896506246689e3b779bc1bc16
Source built UE ignores
-ScriptsForProject
because reasons https://github.com/satisfactorymodding/UnrealEngine/blob/5.3.2-CSS/Engine/Source/Programs/Shared/EpicGames.Build/System/CompileScriptModules.cs#L164
(Yes, the comment above that says exactly the opposite)
Did the release not work under wine?ok, with a prebuilt UECSS it works: can make and run the wood crafting example from the wiki. Lost half of my day trying to install the compiler version that's newer than in the prebuilt. Had to disable the compiler version check for now.
Wdym compiler newer than prebuilt? UE doesn't ship with a compiler
This check: https://github.com/satisfactorymodding/UnrealEngine/blob/08d00ee44347101896506246689e3b779bc1bc16/Engine/Source/Programs/UnrealBuildTool/Platform/Windows/UEBuildWindows.cs#L1045
Solved that. Got rid of the second compiler by starting from scratch with a cleaned up list of the msvc components.
Am I understanding this correctly?
Did you manage to get the mod dev enviornment working on Linux?
Yes. I can't build things that depend too much on Wwise, but the dev env is usable enough.
Would you mind giving me a rundown on how I could get that working on my end?
My mods don't do anything with audio, so I should be fine
Build a native Unreal-CSS to use for mod editing. Use the prebuilt Unreal-CSS in Wine to build mods. There are some notes in the zip about installing MSVC and Wwise plugin.
UnrealEditor that's built from source doesn't add a skeleton to the list of available skeletons if the skeleton asset is in the mod content directories (same with input actions).
Is there a source code that corresponds to the prebuilt engine? Why are they different?
The prebuilt is the same code
The only difference between the prebuilt and source build is that the prebuilt one strips the temporary/unnecessary files after it builds from source, and adds the InstalledEngine.txt marker file that the IsEngineInstalled thing checks, to determine whether or not it should allow compiling the engine when building the project