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
Robb
Robb4mo ago
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
Mircea
Mircea4mo ago
The "big progress" was installing msvc-wine
davidon.top
davidon.topOP4mo ago
for building UE or other things?
Mircea
Mircea4mo ago
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
davidon.top
davidon.topOP4mo ago
tried running UE through wine but i dont think i can bypass this
No description
Rex
Rex4mo ago
And the mere thought of running VS through wine made my entire body shudder in pain.
Mircea
Mircea4mo ago
That would be the goal of msvc-wine Or, at least the compiler, if not the IDE
Rex
Rex4mo ago
Yeah, I was thinking about VS
Symax
Symax3mo ago
I'm attempting this At the moment, I'm going through VirtualBox with a Virtual Machine.
Rex
Rex3mo ago
Is that virtual machine running Windows?
Symax
Symax3mo ago
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.
Rex
Rex3mo ago
I feel the virtual GPU might be an issue but it should otherwise work
Symax
Symax3mo ago
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.
Rex
Rex3mo ago
You might as well just build UE-CSS directly
Symax
Symax3mo ago
If I do, I may just make a .deb package of it.
Rex
Rex3mo ago
Please ask Mircea before doing that
Symax
Symax3mo ago
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.
Rex
Rex3mo ago
No description
Rex
Rex3mo ago
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
Mircea
Mircea3mo ago
Distributing that deb outside of github forks or the UE marketplace is against the EULA
Symax
Symax3mo ago
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.
Symax
Symax3mo ago
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:
No description
FICSIT-Fred
FICSIT-Fred3mo ago
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 @Symax
Symax
Symax3mo ago
The 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:
{
"FileVersion": 3,
"EngineAssociation": "5.3.2-CSS",
"Category": "",
"Description": "",
"Plugins": [
{
"Name": "ModelingToolsEditorMode",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
}
]
}
{
"FileVersion": 3,
"EngineAssociation": "5.3.2-CSS",
"Category": "",
"Description": "",
"Plugins": [
{
"Name": "ModelingToolsEditorMode",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
}
]
}
I guess I need to stick to the Sample project as a template.
Rex
Rex3mo ago
You have to do as per the docs i.e. download the starter project, integrate wwise, etc
davidon.top
davidon.topOP3mo ago
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
Rex
Rex3mo ago
I know
Symax
Symax3mo ago
For Linux, you have to use VS Code for Linux. I'm still trying to figure the rest out.
Rex
Rex3mo ago
You need MSVC (compiler), vscode doesn't have that
Symax
Symax3mo ago
I know there will have to be some sort of conversion in the long run for Linux dev work
The Urban Goose
The Urban Goose3mo ago
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?
Rex
Rex3mo ago
You still need MSVC to compile for Windows. But it's convenient to have an IDE
bspkrs
bspkrs2mo ago
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!
Robb
Robb2mo ago
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
devel
devel2mo ago
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...
Robb
Robb2mo ago
Wwise is a requirement to work on the game, you can't run without it
devel
devel4w ago
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?
FICSIT-Fred
FICSIT-Fred4w ago
Some of your Alpakit files are missing. Please redownload the folder /Build/Alpakit.Automation/ from the repo -# Responding to missingalpakit triggered by @devel
Mircea
Mircea4w ago
>remove crash missingaplakit
FICSIT-Fred
FICSIT-Fred4w ago
Crash could not be found!
Mircea
Mircea4w ago
>remove crash missingalpakit
FICSIT-Fred
FICSIT-Fred4w ago
Crash removed!
Mircea
Mircea4w ago
Can you send the full log?
Mircea
Mircea4w ago
Did you build UE from source?
devel
devel4w ago
yes 08d00ee44347101896506246689e3b779bc1bc16
Mircea
Mircea4w ago
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?
devel
devel4w ago
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.
Mircea
Mircea4w ago
Wdym compiler newer than prebuilt? UE doesn't ship with a compiler
devel
devel4w ago
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.
The Urban Goose
Am I understanding this correctly? Did you manage to get the mod dev enviornment working on Linux?
devel
devel7d ago
Yes. I can't build things that depend too much on Wwise, but the dev env is usable enough.
The Urban Goose
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
devel
devel7d ago
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.
devel
devel5d ago
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?
Mircea
Mircea5d ago
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

Did you find this page helpful?