[UE5] Rendering from Command Line not working anymore

Hi folks, is there anyway in UE5 to render from command line, like in UE4.

I used to do this in UE4 by something like this,

"C:\Program Files (x86)\Epic Games\4.##\Engine\Binaries\Win64\UE4Editor.exe" "D:\Unreal Projects\SequencerTestBed\SequencerTestBed.uproject" /Game/TestRender/TestRender_Map -game -MovieSceneCaptureType="/Script/MovieSceneCapture.AutomatedLevelSequenceCapture" -LevelSequence="/Game/Test_Render/Test_Render_SQ" -MovieFrameRate=30 -noloadingscreen -resx=1280 -resy=720 -MovieFormat=JPG -MovieQuality=75

And I noticed in UE5, the EXE has been renamed to UnrealEditor.exe, but it seems not working after I changed the EXE name in the above command. The UE5 process can be invoked, but keeps running forever without any rendering outputs or logged errors.

The official UE5 documents have not mentioned anything related to commandline, so could anyone help me out here?

Many thanks in advance!

1 Like

Hey, anyone can help ? :joy:

It looks like the arguments changed when they introduced the Render Queue.

Judging by this: Movie Render Queue Enhancements in 4.26 | Inside Unreal - YouTube the new way is to either render a queue with -MoviePipelineConfig, or a level + preset with -MoviePipelineConfig and -LevelSequence

2 Likes

find one of the correct syntaxes in the engine file:MovieRenderPipelineCommandLine.cpp

i extracted the relevant content for you

* Command Line rendering supports two options for rendering things. We support a very simple 'provide the level sequence/settings to use'
* option which mimicks the old command line support. Option two is more advanced where you provide your own Executor. To allow for flexibility,
* the only thing required here is the executor path, a queue/level sequence are optional.
*
*
*	Option 1: Simple Command Line Render.
*		- Level Sequence (Required unless you pass an entire Queue asset, passed via -LevelSequence="/Game/...")
*		- Preset or Queue to use (A preset is required if using a Level Sequence above, passed via -MoviePipelineConfig="/Game/...")
*		- Will render on current map
*		ie: 
*			"E:\SubwaySequencer\SubwaySequencer.uproject" subwaySequencer_P -game -LevelSequence="/Game/Sequencer/SubwaySequencerMASTER.SubwaySequencerMASTER" -MoviePipelineConfig="/Game/Cinematics/MoviePipeline/Presets/SmallTestPreset.SmallTestPreset" -windowed -resx=1280 -resy=720 -log -notexturestreaming
*		or:
*			ie: "E:\SubwaySequencer\SubwaySequencer.uproject" subwaySequencer_P -game -MoviePipelineConfig="/Game/Cinematics/MoviePipeline/Presets/BigTestQueue.BigTestQueue" -windowed -resx=1280 -resy=720 -log -notexturestreaming
*
*	Option 2: Advanced Custom Executor. 
*		- Executor Class (Required, pass via -MoviePipelineLocalExecutorClass=/Script/MovieRenderPipelineCore.MoviePipelinePythonHostExecutor)
*		- Level Sequence or Queue (Optional, if passed will be available to Executor)
*		- Python Class Override (Optional, requires using MoviePipelinePythonHostExecutor above, pass via -ExecutorPythonClass=/Engine/PythonTypes.MoviePipelineExampleRuntimeExecutor
*/
1 Like

Much appreciated, Aphexx. :star_struck: :star_struck:

I will modify my command like you suggested here.
And I will update with you the results.

Many thanks, Kirijiri.
I will try the new parameters and see how it turns out.

Hey, I have located the cpp and the comments within there as you showed.

It did work, by using

-MoviePipelineConfig

and

-LevelSequence

However, the other rendering parameters seem to be ignored, even though the .cpp comments clearly give an example having -resx=1280 -resy=720.
So, in UE5, at least up to th present, these parameters including resolution, frames, have to be stored in MoviePipelineConfig, then to be passed through the command.
And it also looked like so from the .cpp, as well.

Anyway, thanks a lot for the help.
I will keep looking for possible solutions to explicitly pass rendering parameters as command options.

1 Like

Hello,

has anybody found a way to override the pass render parameters as coommand line options? The Frame Start and Frame End for example?
In UE5 it seems they are locked by the config file as mentioned above.

Thanks,
F.

Hi, did you find a solution for this? i’m having the same issue. Thanks

Hi, seemed to be a late reply.
But you could check this offical guidelines HERE to achieve that.
Basically, you need write your own Executor script, and pass the parameters into the script, which is then loaded when launching UE.exe.
I haven’t finished the script yet, but it is from OFFICIAL, and also confirmed by other clues I have learned so far.