Symptom is noticing content from an older pak being loaded by some clients
Currently, we think this is a edge case CDN issue.
Solutions:
If you want to minimize likelihood, i.e. when doing an important rehearsal / playtest, use a new upload ID (there’s no risk of serving old content if there’s only one upload)
Reconnect the client
Upload errors
Commandlet->Main return this error code: -1
Upload from editor fails, and you see the Commandlet->Main return this error code: -1
Full example output
UATHelper: M2 Live Cook+Upload Task (EditorTest): LogJunoLiveCookUpload: Display: 'BucketName' parameter not provided, using default value 'self-service-metaverse-testing-public'
UATHelper: M2 Live Cook+Upload Task (EditorTest): LogJunoLiveCookUpload: Display: Running NOT in CI
UATHelper: M2 Live Cook+Upload Task (EditorTest): LogJunoLiveCookUpload: Display: Upload ID set to v55/EditorTest
UATHelper: M2 Live Cook+Upload Task (EditorTest): LogInit: Display:
UATHelper: M2 Live Cook+Upload Task (EditorTest): LogInit: Display: Warning/Error Summary (Unique only)
UATHelper: M2 Live Cook+Upload Task (EditorTest): LogInit: Display: -----------------------------------
UATHelper: M2 Live Cook+Upload Task (EditorTest): LogInit: Display: LogLinker: Warning: Asset '../../../../../Users/montaguemoran/Documents/Unreal Projects/MyProject7/Content/InitBank.uasset' has been saved with empty engine version. The asset will be loaded but may be incompatible.
UATHelper: M2 Live Cook+Upload Task (EditorTest): LogInit: Display:
UATHelper: M2 Live Cook+Upload Task (EditorTest): LogInit: Display: Commandlet->Main return this error code: -1
UATHelper: M2 Live Cook+Upload Task (EditorTest): LogInit: Display: With 0 error(s), 1 warning(s)
UATHelper: M2 Live Cook+Upload Task (EditorTest): LogInit: Display:
UATHelper: M2 Live Cook+Upload Task (EditorTest):
UATHelper: M2 Live Cook+Upload Task (EditorTest): Execution of commandlet took: 0.00 seconds
UATHelper: M2 Live Cook+Upload Task (EditorTest): LogShaderCompilers: Display: === FShaderJobCache stats ===
UATHelper: M2 Live Cook+Upload Task (EditorTest): LogShaderCompilers: Display: Total job queries 0, among them cache hits 0 (0.00%)
UATHelper: M2 Live Cook+Upload Task (EditorTest): LogShaderCompilers: Display: Tracking 0 distinct input hashes that result in 0 distinct outputs (0.00%)
UATHelper: M2 Live Cook+Upload Task (EditorTest): LogShaderCompilers: Display: RAM used: 0.00 MB (0.00 GB) of 3276.80 MB (3.20 GB) budget. Usage: 0.00%
UATHelper: M2 Live Cook+Upload Task (EditorTest): LogShaderCompilers: Display: ================================================
UATHelper: M2 Live Cook+Upload Task (EditorTest): LogShaderCompilers: Display: Shaders left to compile 0
UATHelper: M2 Live Cook+Upload Task (EditorTest): LogHttp: Display: cleaning up 0 outstanding Http requests.
UATHelper: M2 Live Cook+Upload Task (EditorTest): LogContentStreaming: Display: There are 1 unreleased StreamingManagers
UATHelper: M2 Live Cook+Upload Task (EditorTest): Took 5.5027973s to run UE4Editor-Cmd.exe, ExitCode=-1
UATHelper: M2 Live Cook+Upload Task (EditorTest): Editor terminated with exit code -1 while running JunoLiveUpload for C:\Users\montaguemoran\Documents\Unreal Projects\MyProject7\MyProject7.uproject; see log C:\Users\montaguemoran\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+pkgeditor+windows\JunoLiveUpload-2023.01.13-17.05.52.txt
UATHelper: M2 Live Cook+Upload Task (EditorTest): AutomationTool exiting with ExitCode=1 (Error_Unknown)
UATHelper: M2 Live Cook+Upload Task (EditorTest): BUILD FAILED
LogJunoLiveContentEditor: ==================================================================
LogJunoLiveContentEditor: Failed
LogJunoLiveContentEditor: ==================================================================
Solutions
If uploading a plugin, ensure there are no primary asset labels at the top level of your plugin. This is discussed more here in Chunk your plugin to split a large plugin into smaller chunks.
Delete the Saved/ and Intermediate/ folders in your project directory and retry.
HttpListener unable to bind
Upload from editor fails with the following:
LogHttpListener: Error: HttpListener unable to bind to 0.0.0.0:55561
Solutions
Try checking if you have other running instances of UE4 open, close them, and retry.
Disable and re-enable your Wifi/Ethernet connection and retry.
Server failing to start
Please contact your support engineer to get server logs.
Illegal call to DoesPackageExist
Server produces the following output
LogShaderLibrary: Display: ShaderCodeLibraryPakFileMountedCallback: PakFile '/improbable/server/Cloudhaven/Cloudhaven/Saved/PersistentDownloadDir/PakCache/ch2pakchunk0-LinuxServer.pak' (chunk index -1, root '../../../Ch2/Plugins/') mounted
LogShaderLibrary: Display: ShaderCodeLibraryPakFileMountedCallback: pending pak file info (ChunkID:-1 Root:../../../Ch2/Plugins/ File:/improbable/server/Cloudhaven/Cloudhaven/Saved/PersistentDownloadDir/PakCache/ch2pakchunk0-LinuxServer.pak)
LogPakFile: OnPakFileMounted2Time == 0.000051
LogJunoLiveContent: Display: Successfuly mounted '../../../Cloudhaven/Saved/PersistentDownloadDir/PakCache/ch2pakchunk0-LinuxServer.pak' for asset '/ch2/Maps/ch2_P'
LogJunoLiveContent: Error: Failed to find plugin directory for plugin name 'ch2' for shader loading for pak '../../../Cloudhaven/Saved/PersistentDownloadDir/PakCache/ch2pakchunk0-LinuxServer.pak'
LogPackageName: Error: Illegal call to DoesPackageExist: '/ch2/Maps/ch2_P' is not a standard unreal filename or a long path name. Reason: Path does not start with a valid root. Path must begin with: '/Engine/', '/Game/', '/M2Core/', '/MorpheusPlugin/', '/AnimatedCrowd/', '/MorpheusMetrics/', '/M2Common/', '/MillicastPlayer/', '/MorpheusBots/', '/MorpheusMotion/', '/MorpheusTween/', '/MorpheusRuntimeTesting/', '/MorpheusTransactions/', '/SkeletalCrowd/', '/CrowdAnimBlueprint/', '/AsyncECS/', '/Wwise/', '/GeometryMode/', '/glTFRuntime/', '/M2Content/', '/MorpheusTargeting/', '/Niagara/', '/PythonScriptPlugin/', '/Linter/', '/JunoHighSociety/', '/JunoPlayground/', '/JunoSkypark/', '/JunoTownhall/', '/JunoVoting/', '/JunoVoxelWorld/', '/Paper2D/', '/AnimationSharing/', '/SpeedTreeImporter/', '/DatasmithContent/', '/ChaosClothEditor/', '/GeometryProcessing/', '/GeometryCollectionPlugin/', '/ChaosSolverPlugin/', '/ChaosNiagara/', '/MotoSynth/', '/ImprobableEngineUtilities/', '/MediaCompositing/', '/OpenXREyeTracker/', '/OpenXR/', '/OpenXRHandTracking/', '/Takes/', '/Synthesis/', '/AudioSynesthesia/', '/M2Core/', '/MorpheusPlugin/', '/AnimatedCrowd/', '/MorpheusMetrics/', '/M2Common/', '/MillicastPlayer/', '/MorpheusBots/', '/MorpheusMotion/', '/MorpheusTween/', '/MorpheusRuntimeTesting/', '/MorpheusTransactions/', '/SkeletalCrowd/', '/CrowdAnimBlueprint/', '/AsyncECS/', '/Wwise/', '/GeometryMode/', '/glTFRuntime/', '/M2Content/', '/MorpheusTargeting/', '/Niagara/', '/PythonScriptPlugin/', '/Linter/', '/JunoHighSociety/', '/JunoPlayground/', '/JunoSkypark/', '/JunoTownhall/', '/JunoVoting/', '/JunoVoxelWorld/', '/Paper2D/', '/AnimationSharing/', '/SpeedTreeImporter/', '/DatasmithContent/', '/ChaosClothEditor/', '/GeometryProcessing/', '/GeometryCollectionPlugin/', '/ChaosSolverPlugin/', '/ChaosNiagara/', '/MotoSynth/', '/ImprobableEngineUtilities/', '/MediaCompositing/', '/OpenXREyeTracker/', '/OpenXR/', '/OpenXRHandTracking/', '/Takes/', '/Synthesis/', '/AudioSynesthesia/', '/Config/', '/Script/', '/Extra/', '/Memory/', or '/Temp/''
Solution: Try deleting the <ProjectName>/M2_LiveContent directory and ensuring the plugin folder is not present in the Asset Manager->Primary Asset Types to Scan->PrimaryAssetLabel->Directories.
HTTP Error: ResponseCode=[502]
Example log from the server:
</body></html>
<h2></h2>
<h2>The server encountered a temporary error and could not complete your request.<p>Please try again in 30 seconds.</h2>
<h1>Error: Server Error</h1>
<body text=#000000 bgcolor=#ffffff>
</head>
<title>502 Server Error</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<html><head>
[2023.01.31-16.35.42:608][ 42]LogJunoOnlineStorage: Error: HTTP Error: ResponseCode=[502], ErrorMessage=[
[2023.01.31-16.35.42:608][ 42]LogJunoOnlineStorage: Error: JSON deserialization failed, ErrorMessage=[Invalid Json Token. Line: 2 Ch: 1]
Mitigation is to stop and start the server again until it works.
Play in-editor failed to start
If your PIE session fails to start and is stuck at All_WaitForSignIn the cause may be the sign in credentials that are being used. Local world authentication is enabled by default; controlled by the UseLocalWorldForPIE setting in editor preferences.
If you are unable to launch PIE, try disabling this setting and Setting up server credentials. If this does not resolve your issue then please reach out to support.
Play in-editor has failing requests
If you are seeing failed requests in your log, the cause may be the sign in credentials that are being used. Local world authentication is enabled by default; controlled by the UseLocalWorldForPIE setting in editor preferences.
If you do not need these requests to succeed then they may be ignored however, if you do need these requests to succeed for your test then you should try disabling this local world authentication setting and Setting up server credentials. If this does not resolve your issue then please reach out to support.
Failed to load singleton class /Game/M2Development/General/BPM_M2Development_PlayerSpawner.BPM_M2Development_PlayerSpawner_C
Create a new player spawner, e.g. a copy of BPM_M2_PlayerSpawnerExample and change the Player Spawner Singleton Class in the level “World Settings” to the new player spawner.
Black screen when playing in editor for the first time in a session
You will likely find the first time you play in editor that you are met with a black screen for a long time.
During this period, schema is being generated behind the scenes for all assets in the project, and it is an unnecessary step, but it has the unfortunate effect of usually requiring you to stop and play again after a time as it takes longer than the connection timeout. This only occurs once per editor session. Typically if you leave it running for a minute or two then stop / play again it will play as normal thereafter.
How to contact M2 engineers for support
Please raise any issues via your relevant Slack channel