simplifies usage of Object Properties and fixes a few edge cases
see zousar.shaker for issues
#rb zousar.shaker
[CL 29761675 by joe pribele in ue5-main branch]
either the entire asset is getting gc'ed and they will be recreated on reload
or they are truly invalid and shouldn't be recreated once gc'ed now that the package is marked fully loaded
#rb Danny.Couture, Dave.Jones2
[CL 29523265 by francis hurteau in ue5-main branch]
#rb Martin.Ridgers
[FYI] Per.Larsson
#jira UE-193940
#rnx
- In CL 27337756 we added a log error if a FChunkReadFileHandle::ReadRequest attempted to read outside of the bulkdata payload, however this error is being triggered by FFileCache which is still using the handle to represent the entire .ubulk file.
- Although this is something we want to move away from in the future the read is currently valid so for now we are disabling the log message via a new define UE_ENABLE_BULKDATA_RANGE_TEST
[CL 28921144 by paul chipchase in ue5-main branch]
Discussions suggest we don't have enough data points to debug/ensure priorities are being respected, and this would be good to have in the engine in any case.
#rb simon.orr ionut.matasaru
[CL 28885835 by bhavan vaishnav in ue5-main branch]
- Simplify partial loading logic which is now only applied during flush if required
- During partial load, only remove the exact RequestID being flushed so that other requestid can be flushed independently
- Add missing timeout handling for postloads
- Add missing support to run linkerload thread-safe postloads on async loading thread
- Add unittest to make sure timeout is respected for postloads
- Add unittest to make sure behavior of IsReadyForAsyncPostLoad is respected until a flush occurs
- Add unittest for syncloads coming from thread-safe postloads and validate partial loading behavior
- Make unittest run in editor only as they rely on saving package before reloading them
- Refactor unittest for better reuse
#rb Francis.Hurteau
[CL 28799225 by danny couture in ue5-main branch]
Should also speed up loading a buffer with a lot of NULL objects considerably (see PR #6875).
#jira UE-92396
#PR 6875
#rb robert.millar
#ushell-cherrypick of 28497640 by kristof.morva1
[CL 28502883 by KristofMorva in ue5-main branch]
- Add partial flush support from loading thread
- Fix the ConvertFromType allowing to load the softobjectptr during its conversion to hardref even when called from ALT and zenloader is active
- Add unittest to exercise softobjectptr to hardref conversion in ConvertFromType
- Move asserts preventing flush from loading thread directly into legacy loader
- Added a few veryverbose logs that were missing for linker load
- Fix partial loading being applied to sync calls coming from a postload, preventing the object to be fully postloaded before finishing the sync load
#rb Francis.Hurteau
[CL 28373045 by danny couture in ue5-main branch]
- Further improve the partial load logic by avoiding some operations where possible
- Also add some very verbose logging that can help identifying load ordering issues
#rnx
#rb Francis.Hurteau
[CL 28312996 by danny couture in ue5-main branch]
- Add a new partial loading mode where flushing the requestID will exit after serialization is done (after exportdone but before postload)
- Automatically opt-in partial loading when an explicit load is called recursively from another load (treated as an import)
- During recursive loading, attach postload of the recursive load to the caller's postload
- Add loading unit tests to validate the new behavior for zenloader
- Add a way to detect which loader is currently active to run unit tests on zenloader only
#rnx
#jira UE-190649
#rb Francis.Hurteau
[CL 28227792 by danny couture in ue5-main branch]
[FYI] danny.couture
Original CL Desc
-----------------------------------------------------------------
[ZenLoader] Fix recursive loading behavior in zenloader by following more closely how legacy loading works
- Add a new partial loading mode where flushing the requestID will exit after serialization is done (after exportdone but before postload)
- Automatically opt-in partial loading when an explicit load is called recursively from another load (treated as an import)
- During recursive loading, attach postload of the recursive load to the caller's postload
- Add loading unit tests to validate the new behavior for zenloader
- Add a way to detect which loader is currently active to run unit tests on zenloader only
#rnx
#jira UE-190649
#rb Francis.Hurteau
[CL 28214800 by bob tellez in ue5-main branch]