78 Commits

Author SHA1 Message Date
nick verigakis
d2ed7b31a3 New batch APIs to optimize UEFN project close times by deferring and batching:
- Calls to OnPluginUnload (one GC call for all plugins)
- Calls to FCollectionManager::HandleObjectDeleted (one UpdateCaches call at the end)

#rb Dave.Belanger, Francis.Hurteau
[FYI] Rex.Hill
#rnx

[CL 36757086 by nick verigakis in 5.5 branch]
2024-10-01 19:26:41 -04:00
logan buchy
56d324f623 Collections should respect auto-commit on submit setting when referencing deleted redirectors
* Redirector deletion is not auto-submitted, this allows users to submit both collection change and redirector deletion change as part of the same CL

#jira UE-224040
#rb ross.smith

[CL 36234848 by logan buchy in 5.5 branch]
2024-09-12 13:16:46 -04:00
robert millar
7080279d38 Change field declaration order to match required constructor initialization list order.
[CL 33127370 by robert millar in ue5-main branch]
2024-04-19 23:27:11 -04:00
robert millar
f699103d4a Making collection manager thread safe to allow future work to run content browser search in parallel.
Deprecate GetLastError and replace with FText* output parameters on fallible methods.
Use hierarchy of guard types to document access requirements for internal methods.
Separate cache updates from cache access. Cache updates must be performed explicitly so that read->write lock update and possible preemption is clear.

#rb logan.buchy

[CL 33120048 by robert millar in ue5-main branch]
2024-04-19 18:17:59 -04:00
bob tellez
b0bbbcd9bf [Backout] - CL33005160
[FYI] robert.millar
Original CL Desc
-----------------------------------------------------------------
Making collection manager thread safe to allow future work to run content browser search in parallel.
Deprecate GetLastError and replace with FText* output parameters on fallible methods.
Use hierarchy of guard types to document access requirements for internal methods.
Separate cache updates from cache access. Cache updates must be performed explicitly so that read->write lock update and possible preemption is clear.

#rb logan.buchy

[CL 33030091 by bob tellez in ue5-main branch]
2024-04-17 02:10:31 -04:00
robert millar
15f262a297 Fix unnecessary dereference of OutError exposed by PVS studio
[CL 33017824 by robert millar in ue5-main branch]
2024-04-16 18:35:01 -04:00
robert millar
e2103115d0 Attempt to fix PVS-studio error by passing pointer explicitly rather than reference to uninitialized member.
[CL 33013648 by robert millar in ue5-main branch]
2024-04-16 16:38:50 -04:00
robert millar
0e88efe9d0 Fix missing early out on non-existent collection.
[CL 33012739 by robert millar in ue5-main branch]
2024-04-16 16:14:09 -04:00
robert millar
820b6c0952 Making collection manager thread safe to allow future work to run content browser search in parallel.
Deprecate GetLastError and replace with FText* output parameters on fallible methods.
Use hierarchy of guard types to document access requirements for internal methods.
Separate cache updates from cache access. Cache updates must be performed explicitly so that read->write lock update and possible preemption is clear.

#rb logan.buchy

[CL 33005243 by robert millar in ue5-main branch]
2024-04-16 12:54:49 -04:00
logan buchy
21022f1121 Update workflows for when not using Collection Setting AutoCommitOnSave
* Only AddToCollection, RemoveFromCollection, SetColor and Reparent will not commit to perforce server if setting is off
* Creating collections notably must commit otherwise it will not be added to a source control working set
* Tunnelled the behaviour of submitting to SCC through the Internal helper function as it does not have the context to decide what workflow is running.

#rb brooke.hubert, robert.millar

[CL 31892830 by logan buchy in ue5-main branch]
2024-02-28 18:50:54 -05:00
rex hill
31ddb7b1c4 Optimize collection manager by allowing batch remove
#rb logan.buchy

[CL 30926597 by rex hill in ue5-main branch]
2024-01-26 11:33:21 -05:00
ben zeigler
bd1e5f1d9b Update and optimize the collection manager callback that happens after the asset registry scan, this version is twice as fast
Add a direct accessor to Collection's asset set for fast iteration
#rb matt.peters

[CL 26591928 by ben zeigler in ue5-main branch]
2023-07-25 18:24:55 -04:00
logan buchy
1bcb23ec26 Expose setting to enable/disable collection auto-commit behaviour
* Changed name CollectionConfig -> CollectionSettings. Settings is the canonical name of these types of objects.
* Derive from UDeveloperSettings to make it auto-discoverable by the SettingsManager

#jira UE-187506
#rb brooke.hubert

[CL 25810466 by logan buchy in ue5-main branch]
2023-06-05 23:47:24 -04:00
logan buchy
8cb8cff1ba Feedback changes to Collections telemetry
* Moved workflow tracking of collection manipulations up one level to target user interaction only
* Added create/destroy collection workflows
* Remove hand-holding utilities aimed to ease verbosity of telemetry event generation

#rb wes.hunt
#jira UE-155132
#preflight 6463b34f063e77985c259c71

[CL 25492328 by logan buchy in ue5-main branch]
2023-05-16 13:02:13 -04:00
logan buchy
fc5a347b6e Add EditorSetting to configure the auto-commit behaviour when collections are modified
* SCC operations can be quite slow in some cases - the auto-checkin behaviour results in a large amount of productivity loss and a stall of the editor waiting for SCC server to respond
* Add an option to disable the auto-commit behaviour if required.  Users would be manually required to commit the .collection file.

#jira UE-155132
#preflight 64557ee64574b81df40fbd0c
#rb Ronald.Koppers

[CL 25418212 by logan buchy in ue5-main branch]
2023-05-10 17:59:59 -04:00
bob tellez
642c5fa16d #UE Limit the number of paths reported in changelist descriptions generated by collection checkins to 1000. This can be controlled by setting cvar Collections.MaxCLDescriptionPathCount.
[CL 25393962 by bob tellez in ue5-main branch]
2023-05-09 15:39:47 -04:00
logan buchy
63b05e7fc4 Collection Manager Telemetry Events
* Uses method of exposing a delegate for telemetry events to be registered by a StudioAnalytic provider implementation to avoid embedding schema in the engine
* Generic templates for RAII scoped timed telemetry events added to aid in generating timed events

#jira UE-155132
#rb Brooke.Hubert Wes.Hunt Ronald.Koppers
#preflight 645022cdee56ca4c247ef92a

[CL 25291458 by logan buchy in ue5-main branch]
2023-05-01 17:00:52 -04:00
aditya ravichandran
f8b7ee5555 Replace any instances of "Source Control" with "Revision Control" in text in the Editor
#rb JeanMichel.Dignard, Robb.Surridge
#preflight 637d180efa348e8480e8837e

[CL 23250808 by aditya ravichandran in ue5-main branch]
2022-11-23 11:57:50 -05:00
patrick laflamme
878d1ae127 Instrumented source control upcate callbacks with with cpu scopes for monitoring performances.
Optimized Collection code invoked at each source control update to avoid comparing large set to detect if the in-memory collection is different from the collection on disk.

#rb Julien.StJean
#preflight 6346e2cf663dafe4162e8c9e

[CL 22505265 by patrick laflamme in ue5-main branch]
2022-10-13 11:24:42 -04:00
robert millar
e6857190f2 Updating collection manager interface to use FSoftObjectPath for the paths of assets and objects rather than FName.
#jira UE-161932
#rb julien.stjean
#preflight https://horde.devtools.epicgames.com/job/6324e773f258fccf98de78cf

[CL 22064625 by robert millar in ue5-main branch]
2022-09-16 20:57:34 -04:00
bryan sefcik
a3dddc6630 Pass 1 on Developer include fixes:
Removed redundant private include paths from build.cs files.
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.

#jira
#preflight 631e281694758d0bf2ea1399

[CL 21960082 by bryan sefcik in ue5-main branch]
2022-09-11 18:32:18 -04:00
charles bloom
38b1d2e51f Mark up more ParallelFor scopes for Insights
#rb none
#preflight 6216cd82647bb7debf703367

[CL 19105606 by charles bloom in ue5-main branch]
2022-02-23 19:25:03 -05:00
michael noland
feafa92f44 Editor: Added a project setting to allow specifying additional changelist tags for use when the editor auto-commits edits to collections
#jira UE-142041
#rb marc.audy
#preflight 62044d39a65a8a28462ff528
#lockdown julien.marchand

#ROBOMERGE-AUTHOR: michael.noland
#ROBOMERGE-SOURCE: CL 18935369 in //UE5/Release-5.0/... via CL 18935468 via CL 18935638
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18935681 by michael noland in ue5-main branch]
2022-02-10 10:05:44 -05:00
Matt Peters
f76045bb7e LowLevelMemTracker - add scopes for some large allocations during cooking.
#rb Devin.Doucette
#rnx
#preflight 62047a600a1c4eb68f555ba5

[CL 18930861 by Matt Peters in ue5-main branch]
2022-02-09 21:53:31 -05:00
devin doucette
a4c3b2cf75 Replaced use of TStringView::SizeType with int32 or equivalent casts
SizeType will be deprecated in a subsequent change.

#rb Zousar.Shaker
#rnx
#preflight 61b8dde95d1b7767a13a5a70

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18456907 in //UE5/Release-5.0/... via CL 18456915
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v898-18417669)

[CL 18456926 by devin doucette in ue5-release-engine-test branch]
2021-12-14 14:07:35 -05:00