I have been unable to successfully convert a World Composition level from UE4.26.2 to UE5 EA. I followed the steps located at World Partition | Unreal Engine Documentation for doing the Conversion, but keep getting an error.
Steps to reproduce:
- Open 4.26 project with UE5.
- Create a copy for conversion.
- Run commandlet using UE5 binaries (though using the 4.26 binaries didn’t work either).
Running the commandlet with 4.26 appears to complete successfully, but the window closes before I can screenshot the output. However, when I check my project, there is no External Actors folder that I would expect to see.
Some feedback for the Unreal devs:
- Running the commandlet causes another terminal window to open, run and then immediately close. This is not helpful for debugging as you have to try to screenshot before it closes.
- There is no documented location for commandlet logs that I could find.
- The conversion example usage of mapname is ambiguous and should be replaced with either a sample path (e.g. C:\Projects\Example\Content\Maps\Test.umap) or a correct substitute.
- The documentation could also explain whether the conversion needs to be done prior to or post conversion to a UE 5 project.
… add > output.txt to your commandline to catch a log.
X:\UnrealEngine\Engine\Binaries\Win64>UnrealEditor.exe -run=WorldPartitionConvertCommandlet F:\ue5_playground\Content\Maps\chaosvehicleMap.umap -AllowCommandletRendering > r:\output.txt
getting same errors no matter what i use for “mapname”,
try without “-AllowCommandletRendering” option, outputs a different error.
(tried both, converting 4.26 original map and 5.01ea migrated level)
Ok, after piping out the output to a text file, I cannot get anything other than:
[2021.06.03-18.04.29:652][ 0]LogWorldPartitionConvertCommandlet: Error: Unknown level ‘C:\Unreal Projects\GameName\Content\Maps\Overworld\Persistent_Level.umap’
I’ve found the relevant code that’s producing the log line:
if (!FPackageName::SearchForPackageOnDisk(Tokens, &Tokens))
UE_LOG(LogWorldPartitionConvertCommandlet, Error, TEXT("Unknown level '%s'"), *Tokens);
But I can’t for the life of me figure out what the proper Long or Short Package name is!
The package name would be the name of the map file itself. (Either testmap.umap or in engine testmap.testmap); The short package name is just the name of the file (testmap.testmap), the long package name is the full path to the map (Game/Maps/testmap.map)
The bit of code you posted is just printing an error if it cannot find the specified map file.
That being said, I can’t get the conversion to work either. :\
I figured it out with the help of the discord channel. The documentation as usual is terrible. What you need to run in powershell command line is this:
& .\UnrealEditor.exe “Path/To/UProjectFile/Here.uproject” -run=WorldPartitionConvertCommandlet “MapName” -AllowCommandletRendering 2>&1 | Out-File .\output.txt
NOTE: MapName does not need to have the .umap extension specified.
The full command I ran on my local computer for one of my projects:
& .\UnrealEditor.exe “E:/Repos/Raevin 5.0/Raevin.uproject” -run=WorldPartitionConvertCommandlet “CtrlRigMapTest4” -AllowCommandletRendering 2>&1 | Out-File .\output.txt
Ah, thanks for finding that you need the project in there! I added that and it totally worked!
Glad to see it’s just a matter of documentation and not a faulty commandlet.
I tried putting this in the Target field in the shortcut properties of a UnrealEditor.exe shortcut:
“E:\Program Files\Epic Games\UE_5.0EA\Engine\Binaries\Win64\UnrealEditor.exe” "E:\Projects\ValleyoftheAncient\ValleyoftheAncient.uproject” -run=WorldPartitionConvertCommandlet “Megascans_Asset_Zoo2” -AllowCommandletRendering 2>&1 | Out-File .\output.txt
The engine starts but there is no converted map in the folder.
Can anyone explain what I’m doing wrong?
this worked for me:
UnrealEditor.exe “E:/Documents/Unreal Projects/AUH_Digital_Twin_Explorer/AUH_Digital_Twin.uproject” -run=WorldPartitionConvertCommandlet “AUH_Digital_Twin” -AllowCommandletRendering > e:\output.txt
I’ve tried running this but all I get is ‘access is denied.’ Anyone know how to solve this?
Maybe try running command prompt as administrator.