Example usage "-Mode=Analyze UnrealEditor Win64 Development".
The tool currently outputs the following files:
* A graph of dependencies between modules, with edges indicating unique outward references (eg. if module A depends on Core and BuildSettings, but Core depends on BuildSettings, an edge will only be shown from A -> Core).
* A graph showing shortest path from the target to each module.
* A text file listing all modules in the target, their references to other modules, the shortest path causing them to be instantiated, and a (very) rough estimate of their size taken by measuring the sum of all object files or output files that already exist on disk.
* A csv file containing the same information as above.
Graphs are output in GEFX format, and can be viewed using Gephi.
[FYI] Mark.Lintott
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17473130 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)
[CL 17473153 by ben marsh in ue5-release-engine-test branch]
Add new commandline option: -AlwaysRulesCompile, ensures that rules assemblies will be compiled during the run.
#jira none
#ROBOMERGE-SOURCE: CL 17428445 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)
[CL 17428452 by jonathan adamczewski in ue5-release-engine-test branch]
#ROBOMERGE-SOURCE: CL 17394491 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)
[CL 17394493 by ben marsh in ue5-release-engine-test branch]
Make ConfigValueTracker immutable.
Propagate some nullability in and around TargetRules.
#jira none
#rb none
#ROBOMERGE-SOURCE: CL 17377821 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)
[CL 17377828 by jonathan adamczewski in ue5-release-engine-test branch]
Update comments & method names - timestamps are recorded in the Timestamps file. The directory timestamp is no longer relevant.
#jira none
#trivial
#ROBOMERGE-SOURCE: CL 17360071 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)
[CL 17360076 by jonathan adamczewski in ue5-release-engine-test branch]
Remove bIsGatheringBuild; directory timestamps do not need to be checked, and a null build of UHT is much cheaper than it used to be.
#jira none
#ROBOMERGE-SOURCE: CL 17359968 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)
[CL 17359974 by jonathan adamczewski in ue5-release-engine-test branch]
Support for writing files directly as lines, without converting to a single string first.
#jira none
#rb joe.kirchoff
#ROBOMERGE-SOURCE: CL 17162046 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)
[CL 17162059 by jonathan adamczewski in ue5-release-engine-test branch]
Perform dependency calculation in parallel, and overlap with array sorting. Reduces function runtime on my machine by 0.5 seconds for UnrealEditor target.
#jira none
#rb tim.smith
#ROBOMERGE-SOURCE: CL 17153366 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)
[CL 17153373 by jonathan adamczewski in ue5-release-engine-test branch]
If you want to generate for another IDE do -help to find a list to pick from
#jira none
#rb Michael.Sartain, Robert.Seiver
#ROBOMERGE-SOURCE: CL 17143388 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)
[CL 17143398 by brandon schaefer in ue5-release-engine-test branch]
Add a layer of caching to avoid running msbuild as much as possible.
#jira UE-109181
#rb ben.marsh
#ROBOMERGE-SOURCE: CL 17102399 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)
[CL 17102408 by jonathan adamczewski in ue5-release-engine-test branch]
RunUAT ListPlatformDetails -DDPISection=ShaderPlatform/DataDrivenPlatformInfo
This generates an html report for DataDrivenPlatformInfo.ini files showing the values that are set & unset for all of them for easy comparison.
#jira UECON-467
#rb dave.barrett
#ROBOMERGE-SOURCE: CL 17101900 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)
[CL 17101910 by david harvey in ue5-release-engine-test branch]
Setting CustomConfig=Foo in a Target.cs file will cause it to overlay config files from Project/Config/Custom/Foo on top of the defaults, allowing easy override of things like OSS settings to support multiple stores
In development, -CustomConfig=foo can be specified in both C++ and C# to enable the same functionality, which can be used to select between multiple different stage/deploy configurations in a build script
#rb josh.adams, ben.marsh
#ROBOMERGE-SOURCE: CL 17017130 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v839-17012307)
[CL 17017144 by ben zeigler in ue5-release-engine-test branch]
Batched function allows greater overlap when scanning the filesystem.
AutomationTool startup time is reduced by ~150ms on my machine
#jira none
#rb ben.marsh
#ROBOMERGE-SOURCE: CL 17000954 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)
[CL 17000959 by jonathan adamczewski in ue5-release-engine-test branch]
Verified relative pathing works fine for msvc clang builds
Use .d files for dependencies when compiling with windows clang, instead of piping through cl-filter.exe
Use relative pathing for generated unity files
#rb Jonathan.Adamczewski
#rnx
#preflight 60d4de2bcaf0590001e62de9
#preflight 60d4efbccaf0590001e9af24
#ROBOMERGE-SOURCE: CL 16779820 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)
[CL 16779826 by joe kirchoff in ue5-release-engine-test branch]