Build missing project module

We have a small Unreal 5 showcase project, Blueprint with a couple C++ classes. It started with Early Access and was ported to subsequent versions.

It works as expected on our Windows development computers, on 5.0.1 now.

Now I’m trying to port it to a Linux box, in order to run a dedicated server and test networking.

I sucessfully compiled the 5.0.1 version of the engine. UnrealEditor starts as expected from the command line.

Our problem happens after cloning our project repository to the Linux box and trying to launch open it with UnrealEditor, from the code repo directory:

$ /Path/To/UnrealEngine/Engine/Binaries/Linux/UnrealEditor $(pwd)/proof_of_concept.uproject

Running this outputs a bunch of regular logs before exiting without ever opening the editor window. The only log lines that seem off are:
LogInit: Warning: Incompatible or missing module: proof_of_concept

And a bit later:

LogLinux: Warning: MessageBox: The following modules are missing or built with a different engine version:

  proof_of_concept

Would you like to rebuild them now?: Missing proof_of_concept Modules: zenity reported error or failed to launch: 129: No is implied.
LogCore: Engine exit requested (reason: EngineExit() was called)
LogExit: Preparing to exit.

We’ve tried building that module from the command line, before starting the editor, as follows:
$ /Path/To/UnrealEngine/Engine/Build/BatchFiles/Linux/Build.sh proof_of_concept Linux Development -project=$(pwd)/proof_of_concept.uproject

Build seems OK:

$ ls Binaries/Linux/
proof_of_concept  proof_of_concept.debug  proof_of_concept.sym  proof_of_concept.target

However, the editor still refuses to start with the same output.

Are we building the module correctly?

Is there a way to ask the editor to build missing modules at startup? (As is possible on Windows through a dialog box.)

Starting the editor with the -game or -server switches produces the same behavior.

Replying to my own question, for posterity and fame!

The command above built a standalone game binary instead of the binary the editor needs.

This is related to the targets described in the Source/ directory:

$ ls Source/
proof_of_concept/  proof_of_concept.Target.cs  proof_of_conceptEditor.Target.cs

Thus, to build the binary UnrealEditor needs, the correct command is:

$ /Path/To/UnrealEngine/Engine/Build/BatchFiles/Linux/Build.sh 
proof_of_conceptEditor Linux Development  
-project=$(pwd)/proof_of_concept.uproject
1 Like