Commit Graph

5258 Commits

Author SHA1 Message Date
francis hurteau
bd3a51f5a8 Truncation warning fixes for CoreUObject
#jira UE-166274, UE-127233
#rb Devin.Doucette, Paul.Chipchase

[CL 26553935 by francis hurteau in ue5-main branch]
2023-07-24 16:13:27 -04:00
francis hurteau
0f8ab94dfa Truncation warning fix in PropertyOptional
#rb Devin.Doucette
#jira UE-166274

[CL 26553424 by francis hurteau in ue5-main branch]
2023-07-24 16:01:59 -04:00
brandon dawson
f465cb551a Flush the log before forcing a crash in UObject::AbortInsideMemberFunction().
#rb trivial

[CL 26543967 by brandon dawson in ue5-main branch]
2023-07-24 11:36:10 -04:00
danny couture
d1f7c93c98 Share LinkerInstancingContext between requests instead of copying
- Saves a lot of memory when tons of actors remapping are used for world partition. Multiple GB in PIE is not unheard of.
   - Add LLM counter specifically for LinkerInstancingContext memory usage
   - Make sure everything is thread-safe and ready for async loading thread usage

#jira UE-185799
#rb Francis.Hurteau

[CL 26543720 by danny couture in ue5-main branch]
2023-07-24 11:31:23 -04:00
maxime mercier
f8d8ee57ce [Backout] - CL26433308
[FYI] Maxime.Mercier
Original CL Desc
-----------------------------------------------------------------
Better support of reinstantiation of subobjects in CDOs
Also reuse same pattern on instances to fix more subobject nesting issues

[CL 26523238 by maxime mercier in ue5-main branch]
2023-07-21 15:47:39 -04:00
dan oconnor
b26035fc57 Publish soft path literals to reference collectors that run over bytecode
#jira UE-190820
#rb Matt.Peters

[CL 26519638 by dan oconnor in ue5-main branch]
2023-07-21 14:14:25 -04:00
nick edwards
83c9bbf57e Added an additional FAssetRegistryTag constructor that leverages move semantics to efficiently transfer the value string into the member variable, potentially eliminating an extra copy operation
#rb matt.peters

[CL 26513056 by nick edwards in ue5-main branch]
2023-07-21 11:19:07 -04:00
wouter burgers
a02ec0ae88 PackageReload: Optimized ReloadPackages by doing a pre-pass using FReferencerFinder::GetAllReferencers to get all potential referencers and only inspecting those when fixing up references. The potential referencers set is expanded as new packages get (re)loaded through the FCoreUObjectDelegates::OnObjectsReplaced and FCoreUObjectDelegates::OnObjectConstructed delegates, whilst garbage collected packages end up being skipped through the use of TWeakObjectPtrs.
#rnx

[CL 26481741 by wouter burgers in ue5-main branch]
2023-07-20 07:32:00 -04:00
will brown
4d4c5a1d6a PluginReferenceViewer - Added a context menu item that launches the asset reference viewer showing the asset references across plugins. Extended the OpenReferenceViewerUI to allow setting of the plugin filters on launch.
#rb Sebastian.Arleryd

[CL 26474329 by will brown in ue5-main branch]
2023-07-19 18:52:57 -04:00
Matt Peters
f8d5c01789 ObjectPropertyTest fixes:
1) Fix for test package names not starting with proper prefix
2) Fix incompatible value that is passed into CheckValidObject to NOT be the outer of the fallback objecte. The incompatible value now gets renamed by CheckValidObject, and renaming the outer of the fallback object would break the test.
#rnx
#rb Joe.Pribele

[CL 26474125 by Matt Peters in ue5-main branch]
2023-07-19 18:36:21 -04:00
jason weiler
a6a1d46616 Fix for type-mismatched leading to a fatal error when compiling, cooking, and loading level data. Now resets non-nullable properties to an instandce of the CDO.
#rb robert.manuszewski, maxime.mercier

[CL 26465295 by jason weiler in ue5-main branch]
2023-07-19 13:36:40 -04:00
maxime mercier
7febc80960 Better support of reinstantiation of subobjects in CDOs
Also reuse same pattern on instances to fix more subobject nesting issues

[CL 26433410 by maxime mercier in ue5-main branch]
2023-07-18 10:14:26 -04:00
francis hurteau
a1bcc07844 Fix double redirector not properly resolving themselves in some loading order edge case
#rb Danny.Couture

[CL 26417387 by francis hurteau in ue5-main branch]
2023-07-17 16:57:54 -04:00
paul chipchase
ef7ef6393a Fix a bug where loading a bulkdata payload from a cooked package mounted in the IoStore could end up loading more data off disk than required.
#rb Per.Larsson

### Problem
- The IoStore does not support bulkdata payloads being compressed at the package level, instead compression will be applied to the .ucas file when it is created, this means that we don't really use the SizeOnDisk value for cooked bulkdata as it should always be the same as the in memory size.
- Some code paths in the editor however might support compression in the workspace domain and so use the SizeOnDisk value, such as calling ::GetCopy.
- In this cause the size being passed to the IoDispatcher would be INDEX_NONE, which the system converts to "please load the entire .ubulk section of the package"
- The buffer returned to the user would eventually be trimmed to the correct in memory size so this bug would be hard to notice, the only downside is wasting time loading more data off disk than required.

### Fix
- AsyncLoading2 now sets the SizeOnDisk to be a valid value (the size of the payload in memory) if we are not using runtime only bulkdata (USE_RUNTIME_BULKDATA) so when GetSizeOnDisk is called, it returns the correct value and we only load the payload we want.
- An assert has been added to make sure that the payload is not compressed (in which case the size would be wrong and we could end up overrunning valid memory) even though the flag is removed when cooking and it should not be possible to get to that point.

[CL 26404304 by paul chipchase in ue5-main branch]
2023-07-17 07:52:56 -04:00
steve robb
1db0b9735a Fixed assert firing in the destructor of FArchiveFromStructuredArchiveImpl caused by FMulticastSparseDelegateProperty::SerializeItem() not closing an archive adapter.
#rb none

[CL 26395576 by steve robb in ue5-main branch]
2023-07-13 18:40:53 -04:00
andrew scheidecker
83eb06bc89 Fix FOptionalProperty text-based serialization.
#rb Steve.Robb

[CL 26346550 by andrew scheidecker in ue5-main branch]
2023-06-30 12:13:29 -04:00
matt peters
d0e927d0f0 Cooker: DiffWriterArchive: Fix a bug after refactor with FArchiveStackTraceIgnoreScope no longer being respected. Change DiffWriterArchive to report all messages to a message callback rather than logging them directly. Future users of DiffWriterArchive will store the messages rather than logging them.
#rb Zousar.Shaker
#rnx

[CL 26324673 by matt peters in ue5-main branch]
2023-06-29 15:40:21 -04:00
jamie dale
e1575ff4a2 Added a category type that can be used with FMessageDialog to control the icon used by the in-editor dialog
Note: This doesn't impact any OS specific dialogs

Breaking: FCoreDelegates::ModalErrorMessage is now called FCoreDelegates::ModalMessageDialog and takes an extra EAppMsgCategory argument

#jira
#rb Dave.Belanger

[CL 26322954 by jamie dale in ue5-main branch]
2023-06-29 14:57:59 -04:00
dmytro vovk
38579b2de7 Pack FUObjectItem in Shipping builds to avoid 20% mem waste v2
#rb Johan.Torp

[CL 26308377 by dmytro vovk in ue5-main branch]
2023-06-29 08:09:56 -04:00
james studdart
7b2581ea89 [Backout] - CL26285807
[FYI] dmytro.vovk, eric.knapik
Original CL Desc
-----------------------------------------------------------------
Pack FUObjectItem in Shipping builds to avoid 20% mem waste
#rb Johan.Torp

[CL 26305895 by james studdart in ue5-main branch]
2023-06-28 23:19:50 -04:00
dmytro vovk
aaeb21837a Pack FUObjectItem in Shipping builds to avoid 20% mem waste
#rb Johan.Torp

[CL 26285923 by dmytro vovk in ue5-main branch]
2023-06-28 11:14:48 -04:00
paul chipchase
80b3310281 Minor optimization - Early out when trying to load an empty bulkdata payload rather than allocating then freeing a zero byte buffer.
#rb Per.Larsson
#rnx

- Note that this should not change the outcome as ::TryLoadDataIntoMemory will return false if the length of the payload is zero s the previous behaviour was to allocate, fail to load, then delete. The new code path and the old code path both end up with the bulkdata containing no allocation.

[CL 26281649 by paul chipchase in ue5-main branch]
2023-06-28 07:36:01 -04:00
steve robb
4fd0692893 Fixed typo.
#rb trivial

[CL 26281211 by steve robb in ue5-main branch]
2023-06-28 06:56:45 -04:00
johan torp
b5c3964903 Add optional support to Unversioned Property Serialization
Previously small optionals worked, by accident rather than design, but large optionals didn't

#rb andew.scheidrecker,steve.robb

[CL 26281089 by johan torp in ue5-main branch]
2023-06-28 06:47:21 -04:00
robert manuszewski
ea8265ffee Garbage Collector barrier support for MutableView of TSet and TMap
#rb Kirill.Zorin

[CL 26279377 by robert manuszewski in ue5-main branch]
2023-06-28 03:03:37 -04:00