Common issues

Old pak content loaded

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 crash

FunctionInputs assertion

Assertion failed: FunctionInputs[i].ExpressionInput [File:C:/b/Game/Engine/Source/Runtime/Engine/Private/Materials/MaterialExpressions.cpp] [Line: 13425]

Mitigation is try restart and try again

Client failing to connect

Failed to load singleton class for player spawner

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

Last updated