ue4cli icon indicating copy to clipboard operation
ue4cli copied to clipboard

ue4 build not building plugin in 5.4+

Open jonpas opened this issue 7 months ago • 7 comments

ue4 build or ue4 build Development does not build anything when building a plugin in a 5.4 (or newer) project. In 5.3 and older it works as expected.

$ ue4 version
Using user-specified engine root: /home/ue4/UnrealEngine
5.4.4
$ ue4 build Development
Using user-specified engine root: /home/ue4/UnrealEngine
Setting up bundled DotNet SDK
Running command : dotnet Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.dll UnrealEditor Linux Development -plugin=/builds/acre/unreal/acre-unreal-plugin/ACREUnreal.uplugin
Log file: /home/ue4/.config/Epic/UnrealBuildTool/Log.txt
Target is up to date

ue4 build DebugGame builds it just fine. ue4 package also seems to function correctly.

jonpas avatar Sep 03 '25 13:09 jonpas

RunMono.sh and RunXMono.sh don't exist in UnrealEngine/Engine/Build/BatchFiles/Linux/ from 5.4 onwards. The following ue4cli code is expecting them.

https://github.com/adamrehn/ue4cli/blob/fed71c1af4cffe3fed9358b08430068ad9454b77/ue4cli/UnrealManagerUnix.py#L29-L39

jonpas avatar Sep 03 '25 14:09 jonpas

I haven't touched UE for quite some time but the last time I checked Epic became more vocal about Ushell (which is very similar to ue4cli and should ship with UE git master branch) https://dev.epicgames.com/documentation/en-us/unreal-engine/how-to-use-ushell-for-unreal-engine

Although, I know it may not be very helpful for resolving this issue, I would suggest giving it a try.

The author of ue4cli rarely responds on this repo these days.

sleeptightAnsiC avatar Sep 03 '25 15:09 sleeptightAnsiC

RunMono.sh and RunXMono.sh don't exist in UnrealEngine/Engine/Build/BatchFiles/Linux/ from 5.4 onwards. The following ue4cli code is expecting them.

Seems like this is the UE commit that removed those scripts: https://github.com/EpicGames/UnrealEngine/commit/3ebc0e1bcf414883b229d6939bd488951eea2f81

sleeptightAnsiC avatar Sep 03 '25 16:09 sleeptightAnsiC

I guess, now we should simply run this: [UnrealEngine]/Engine/Build/BatchFiles/RunDotnet.sh

I don't have a working UE installation so cannot test this at the moment.

sleeptightAnsiC avatar Sep 03 '25 16:09 sleeptightAnsiC

I guess, now we should simply run this: [UnrealEngine]/Engine/Build/BatchFiles/RunDotnet.sh

I don't have a working UE installation so cannot test this at the moment.

./RunDotnet.sh /home/ue4/UnrealEngine/Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.dll UnrealEditor Linux Development -plugin=/acre-unreal-plugin/ACREUnreal.uplugin

Sadly this has the same result, but running the same thing with GameDebug instead of Development again works.

jonpas avatar Sep 03 '25 16:09 jonpas

./Build.sh UnrealEditor Linux Development -plugin=/acre-unreal-plugin/ACREUnreal.uplugin

Is actually what ue4cli runs when running ue4 build, not RunXBuild.sh

So this seems something internally in UE 5.4+ that is causing it.

jonpas avatar Sep 03 '25 19:09 jonpas

I haven't touched UE for quite some time but the last time I checked Epic became more vocal about Ushell (which is very similar to ue4cli and should ship with UE git master branch) dev.epicgames.com/documentation/en-us/unreal-engine/how-to-use-ushell-for-unreal-engine

Although, I know it may not be very helpful for resolving this issue, I would suggest giving it a try.

The author of ue4cli rarely responds on this repo these days.

I don't see anything in ushell that allows building or packaging plugins, as it cannot locate the Unreal context.

jonpas avatar Sep 03 '25 21:09 jonpas