Staged builds are explicitly assigned a project id via the persistent UECommandline.txt file. This works on mobile/consoles, but isn't implemented for Windows/Linux/Mac, so staged builds for those platforms don't have a persistent assignment of project id and instead rely on the launch by the editor including the appropriate commandlines.
Unstaged builds on Windows/Mac/Linux now determine project id independently after they have determined the project file path. This happens after the project file has been determined and has had case corrected. This ensures it is different/unique for multiple blueprint projects that share the same executable.
Fix a bug where second cook in editor to zen would stall because the queue thinks all additions are finished due to a boolean that isn't reset.
#rb devin.doucette
#rb per.larsson
#preflight 61b39a35a2562c8b1c40f81e
#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 18432317 in //UE5/Release-5.0/... via CL 18435404
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)
[CL 18435895 by zousar shaker in ue5-release-engine-test branch]
Dumps improvements:
1) Bring up for consoles
2) Better out of memory resiliency during the dumping process
3) Dumps console variables in CSV
4) Dumps process' log after completion
5) Dumps mip chains through FDumpTextureCS compute shader
6) Dumps depth & stencil texture formats through the FDumpTextureCS compute shader
7) Dumps at draw granularity with FRDGBuilder::DumpDraw(); (experimental)
8) Dumps final png screenshot to the dump directory
9) Adds & Dumps the FRDGBufferDesc::Metadata for viewer to decode buffer binary automatically
10) Dumps the PassParameters with structure metadata to decode shader parameters automatically
11) Adds CTRL+SHIFT+/ shortcut
Viewer improvements:
1) Tips display onload to spread some knowledge to the user
2) Supports for opening any pass/resources in new web browser tab
3) Emulates 16 and 32 bits UINT texture visualization with multiple webgl 8bit UINT textures
4) Fixes the webpage's tab going out of memory after visualizing many large resources.
5) Fixes the webpage's tab going out of memory after loading large buffer.
6) Adds support for more texture format with RGB channel reswizzling
7) Implements UI color-sheme based on UE5's editor theme
8) Implements texel color picker capabable of decoding every pixel format.
9) Implements texture viewer zooming with the mouse wheel
10) Implements a r.DumpGPU.Viewer.Visualize to open a specific RDG output resource when opening the viewer
#rb juan.canada
#preflight 619bb638fa0b360c406c42c5
[FYI] juan.canada, zach.bethel
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 18260079 via CL 18372399 via CL 18372914
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18373039 by guillaume abadie in ue5-release-engine-test branch]
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971
[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
Add command line arg to set GIgnoreDebugger
Remove GIgnoreDebugger from UE_BUILD_SHIPPING
Fix up naming convention and deprecate _DebugBreakAndPromptForRemote
=== Notes ===
Sometimes it's useful to run a process with a debugger attached, but knowing you get the same behavior as if it weren't, including how the assert system behaves
Such situations include:
* Tight timing of assert and exceptions in different threads
* When rarely reproducable ensure()s fire before or between breakpoints set in the debugger
=== Hashtags ===
#jira none
#rb steve.robb
#preflight 6182e64d924922000186366e
#ROBOMERGE-AUTHOR: geoff.evans
#ROBOMERGE-SOURCE: CL 18045343 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)
[CL 18045348 by geoff evans in ue5-release-engine-test branch]
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035
[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485
[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
Serialization and the FBuildDefinition type of derived data have not been implemented yet. This version is functional in the editor when used with buffers or unstructured cache keys.
#rb Zousar.Shaker
#preflight 614cdb35c2ef060001f6425b
#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 17614269 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)
[CL 17614332 by devin doucette in ue5-release-engine-test branch]
Only return true from FIoDispatcher::IsInitialized() when the script objects chunk exists to keep its behavior consistent. Later, this function will be deprecated in favor of a function on IAsyncPackageLoader.
#rb Zousar.Shaker
[FYI] CarlMagnus.Nordin
#preflight 614541e1bf494a0001bd76bc
#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 17570905 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)
[CL 17570916 by devin doucette in ue5-release-engine-test branch]
This is a defensive change to more uniformly gate conditions of various pathways that want to "nice" CPU consumption when the application is not the foreground application (doesn't "Have Focus"). In benchmarking scenarios we don't want a focus-grabbing application to cause change in behavior while taking performance measurements. This could be in local workstation benchmarking where other foreground apps will naturally come to the front or in data center build where antics that might otherwise be completely unknowable could impact benchmark measurements.
This change was formulated after finding some "nice" CPU conditionals that were instrumented, but not all of them are. This change aims to prevent having to instrument, profile, and mitigate each condition separately.
#rnx
#jira none
#rb francis.hurteau, brandon.schaefer
#preflight 611ec9248ff55400018d5018
#ROBOMERGE-AUTHOR: geoff.evans
#ROBOMERGE-SOURCE: CL 17463345 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)
[CL 17463757 by geoff evans in ue5-release-engine-test branch]
This fixes blueprint projects not booting on platforms that set LLM_AUTO_ENABLE=1.
This was the sequence of events that led to the problem:
FLowLevelMemTracker::Get().ProcessCommandLine(CmdLine) triggers a call to FGenericPlatformMisc::ProjectDir() too early, before FPaths::IsProjectFilePathSet(). ProjectDir() ends up as ../../../engine/ instead of e.g. ../../../tp_firstperson/. This only happens for blueprint projects because code projects set GInternalProjectName and ProjectDir() follows a different path if FApp::HasProjectName().
In contrast, platforms that set LLM_AUTO_ENABLE=0 early out from the FLowLevelMemTracker function call so they don't trigger the problem.
This leads to ../../../*engine*/Content/Paks/ being created, instead of e.g ../../../*tp_firstperson*/Content/Paks/, making the engine believe there are no paks and fall back to reading from a normal file.
#jira UE-122150
#rb josh.adams
#ROBOMERGE-SOURCE: CL 17316912 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)
[CL 17316940 by nuno leiria in ue5-release-engine-test branch]
The new API uses exported functions and cannot be included with the old API without compile errors in existing code that has an include-only dependency on DDC.
#rb Zousar.Shaker
#rnx
#preflight 610c01e3aeb05700011dc5ab
#ROBOMERGE-SOURCE: CL 17071263 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)
[CL 17071271 by devin doucette in ue5-release-engine-test branch]