During world recreation, which is triggered by REVERT ALL and SYNC ALL, some assets are temporarily dirty'd by the reload world code because it destroys the old world instance and recreates a new world instance (see: UEditorEngine::NewMap). By the time this code block finishes, the assets are no longer dirty but the events will have been broadcasted by the UnsavedAssetsTracker, resulting in UnsavedAssetsAutoCheckout checking out assets that aren't dirty (anymore).
[REVIEW]
#preflight none
[CL 23797456 by wouter burgers in ue5-main branch]
* Sync Latest no longer listing and reloading all packages when the source control provider provides a sync preview functionality. When a Sync Preview is available, Sync Latest unloads only the files that are going to be overwritten by the sync operation, and then reloads them and the world
* Refactored Revert All operation to improve performance
* Revert All no longer lists and reloads all packages when the source control provider provides a sync preview functionality. Instead it unloads only the files that may be overwritten by the revert operation (i.e. submittable files), and then reloads them and the world
* Replaced RevertAndReloadAllPackages with RevertAndReloadWorld, no longer listing and reloading all packages (see https://p4-swarm.epicgames.net/reviews/23244245/)
This review is a combination of the two archived reviews https://p4-swarm.epicgames.net/reviews/23736137 and https://p4-swarm.epicgames.net/reviews/23736282
#rb wouter.burgers, stuart.hill, brooke.hubert, francis.hurteau
#preflight 63c9c7786a00f3cc8ead6779
[CL 23796067 by marco anastasi in ue5-main branch]
this allows usage of REQUIRE_CHECK to not have to be guarded
https://p4-swarm.epicgames.net/reviews/23784409
#rb devin.doucette
#preflight 63cacd481835336af8f9bb2e
[CL 23792394 by joe pribele in ue5-main branch]
AssetDefinition - Working on the asset definitions for blueprints/class types, iterating on the Merge API. Bringing over more of the blueprint features into its asset definition, unregistered the Blueprint AssetType Actions.
Asset Filters - We now support categories per filter, this enables a single asset definition to correctly specify multiple filters. For example, blueprints actually supply 4 filters, one for blueprints, but also blueprint interfaces, macros and function libraries.
[CL 23791489 by nick darnell in ue5-main branch]
This relies on the base feedback context doing most of the work, as on other platforms.
Coloring was removed from the default Mac feedback context because it has no effect on the default output devices anyway. Output devices that do want to set color based on verbosity should incorporate that logic themselves in a thread-safe way instead of relying on the color being changed globally.
#jira UE-152840
#preflight 63cabcf76e7995c750c919da
#rb Zousar.Shaker
#rnx
[CL 23790894 by Devin Doucette in ue5-main branch]
The main premise of this change is to order the heap of pending serialised events by distance from the next expected serial instead of in respect to each other. By using an unsigned comparison, wrapped serials that would otherwise appear on the negative side of the expected serial, in fact sort to the positive side. This allows the use of the full serial space as wraps no longer need to be calculated when sorting.
#rb jb
#rnx
#preflight 63caa0e6894b6403149bf5c0
[CL 23789248 by Martin Ridgers in ue5-main branch]
This change makes space for the message log window in the tab manager. Whenever the window is opened it shows up as a tab.
#preflight 63ca58025471dab5d5647be7
[CL 23787323 by Johan Berg in ue5-main branch]
Root cause was the Editor/UFE framerate dropping too low when there was a lot of stat data arriving. This meant the keep-alive Ping request from the game could not be acknowledged fast enough to avoid the 5s disconnection timeout.
- decompress incoming stat messages via a task pipe to avoid saturating all cores.
- only process a few stat messages per frame.
- reduce the timeslice for stat aggregation during live data preview.
However, if bandwidth is saturated (typically by a very large amount of log spam being sent to the Session Frontend too) then the connection can still be lost.
Note: It's recommended to use Unreal Insights instead of the Session Profiler for UE5.
#jira UE-174072
#rb Ionut.Matasaru, Francis.Hurteau
#rnx
#preflight 63ca5570894b640314806628
[CL 23787313 by David Harvey in ue5-main branch]
This can also be overridden using the "CopyrightNotice" option in the "CommonSettings" of a GatherText config
#preflight 63c9c142d368fed9e5d07f7a
#rb Leon.Huang
[CL 23784893 by jamie dale in ue5-main branch]
- MemoryInsights: Moved FAllocationItem and FAllocMap (renamed from FAllocsMap) into their own header files.
- MemoryInsights: Added debug logs to track edit API calls in FAllocationsProvider (can be enabled using API INSIGHTS_API_LOGF).
- MemoryInsights: Fixed few includes.
#rb none
#preflight 63c9c7c80434dba57418608d
[CL 23782768 by ionut matasaru in ue5-main branch]
* Adds a new delegate for when AdvancedCopy is complete (since Advanced Copy is async and can't return the results directly)
* Adds a new blueprint callable overload for AdvancedCopy in the AssetTools interface that optionally takes this callback
[REVIEW] [at]matt.peters [at]brooke.hubert
[CL 23781823 by dj schilens in ue5-main branch]