+ Removed GetObjectArrayNumAvailable which was a temp workaround
#preflight 64072ba8ba12ba64167e2bbf
#rb Johan.Torp
[CL 24575353 by robert manuszewski in ue5-main branch]
added `SetObjectPtrPropertyValue(void* PropertyValueAddress, TObjectPtr<UObject> Value)`
this allows objects to be imported from text without resolving the object
#preflight 640900fa8832f48a4dc62ee4
[CL 24567650 by joe pribele in ue5-main branch]
Made UActorTransformer do selection normalization consistent with FActorElementLevelEditorSelectionCustomization, which has the effect of appending group actors to the end of the transformables list. (The gizmo uses the last selected actor to determine the position of its visual.)
#jira UE-178084
#rb jason.walter
#preflight 6408b1016c1b9295b9a8b726
[CL 24563868 by zach brockway in ue5-main branch]
- Experimental Flag hides Filter UI
- DataLayerAsset can enable filtering (will show up in Filter Outliner)
- DataLayerInstance can provide default filter value (default value when actor doesn't override)
- Level Instance Actor can have its own recursive filter
- Filtering Editor/Cook/PIE works
- Undo/Redo/Copy/Paste/ResetToDefault
- PackedLevelActors not yet supported
#rb jeanfrancois.dube, richard.malo
#preflight 64087dc36c1b9295b99222e8
#rnx
[CL 24561727 by patrick enfedaque in ue5-main branch]
#rb Julien.StJean, Matt.Peters
#jira UE-177133
#preflight 64072b19ba12ba64167e20e6
- In the last year we have started to make changes to the package format to allow data to be stored in the same file, but not actually inside of the package itself (See FPackageTrailer) and we might consider moving some other data blobs there in the future. This change has meant that there are code paths that can change things with the package file, that don't actually call save package, such as the process that virtualizes assets and can leave incorrect, stale data in the content browser tool tip.
-- This means when a user virtualizes an asset, the tooltip might indicate that it has not been virtualized and the size of the file on disk has not been changed until they browser to a different folder and browse back to refresh. This has caused people to believe that the virtualization operation has failed.
- This change hooks up UContentBrowserAssetDataSource to trigger a EContentBrowserItemUpdateType::Modified event when ever the package file changes on disk.
- During package save this could trigger multiple EContentBrowserItemUpdateType::Modified events for the same package (one from saving and one from the file being modified) but it looks like duplicate events already occur (if the packages are checked out as part of the save, this will introduce another EContentBrowserItemUpdateType::Modified event). There is a TODO in the code that suggests we might want to spend time removing duplicates events before broadcasting the delegate but when profiling I found that the overhead is quite low. In one test, saving 20 packages cost 4ms for the events triggered by the save and an additional 4ms for the events triggered by the file changing on disk. With the margins being so low it still doesn't look like a problem that is worth spending time on, however I did add a TRACE_CPUPROFILER_EVENT_SCOPE to the broadcasting of the delegate (UContentBrowserDataSubsystem::ItemDataUpdatedDelegate) so if it does become a problem in the future it will be easier to track down.
[CL 24556355 by paul chipchase in ue5-main branch]