Implemented independent logic for each platform Android and iOS
No platforms were affected besides the target ones
#rb Peter.Sauerbrei
[CL 35630820 by anderson ramos in ue5-main branch]
remove Platform_IOS hardcode and drive the NonUFSShaderLibPaths using ini's.
To add an extension whose path will be added to NonUFSShaderLibPaths you now have ExtensionList in the section InstallBundleManager.Shaderlib of the InstalledBundle ini
#rb carl.lloyd, Graeme.Thornton, Justin.Marcus
[CL 35018639 by florin pascu in ue5-main branch]
Also fix some FOnDemandIoStore issues
- Support FOnDemandToc being loaded by game code
- Some support for OnDemandIoStore cache directory having different names depending on target - still needs more work to support forking servers.
- Fix BuildInstallData not returning missing packages
- Make sure BuildInstallData installs always downloaded chunks for a container without any packages (not sure this can actually occur)
- Disable pak mount callbacks - these don't work right and causes errors without global HTTP endpoint configured.
- Fix FOnDemandIoStore not being created without a global HTTP endpoint configured.
[REVIEW] [at]Daniel.Lamb [at]Per.Larsson
#rb Per.Larsson
[CL 34122045 by justin marcus in ue5-main branch]
Allow bundle sources to add additional bundles to be canceled when they get a cancel request. This is useful if the source has internal dependencies between bundles.
[REVIEW] [at]Daniel.Lamb
[CL 34105889 by justin marcus in ue5-main branch]
- Add EInstallBundleReleaseRequestFlags::SkipReleaseUnmountOnly
- Update relevant analytics
- only trigger ensure about -UsePaks if Paks will actually be mounted
[REVIEW] [at]Daniel.Lamb [at]Will.Brown
[CL 33034298 by justin marcus in ue5-main branch]
- FInstallBundleSourceType is extensible by game code. Possible values are automatically gathered from config
- Add a utility function to read configured bundle sources
- Fixes for enum functions in InstallBundleUtil to better support deprecated enums on clang
[REVIEW] [at]Daniel.Lamb [at]Per.Larsson [at]David.Harvey
[CL 32390707 by justin marcus in ue5-main branch]
- Overhead is only applied to cache reserved bundles that need to be patched
- Overhead becomes 0 after they are updated
- Add overhead size to cache stats
- Add some missing FStringView versions of BPS manifest functions
- Fix some BPS manifest functions that weren't being mocked
#rb Daniel.Lamb
review-30046427 [at]Daniel.Lamb
[CL 30128923 by justin marcus in ue5-main branch]
- This doesn't instatiate a GFP state machine and doesn't leave install bundles in a reserved cache state when it finishes. This makes ideal to use in situations where a download cache pre-warm is desired but actual GFP creation should be deffered.
- Fix install bundle manager issue that could cause bundles that skipped mounting to not be properly released to the install bundle cache.
[REVIEW] [at]Daniel.Lamb [at]Mitchell.Fisher
#rb Daniel.Lamb
[CL 29388041 by justin marcus in ue5-main branch]
- Can be disabled with CVarAllowForceMonolithicShaderLibrary.
- FGameFeaturePreMountingContext can disable shader library loading in cases where we may want to control it externally.
- Install bundle manager now tracks if a bundle contains chunks
- GetPakchunkIndexFromPakFile now uses string views and string builders instead of temporary strings
- GetPakchunkIndexFromPakFile is no longer duplicated in IPlatformFilePak
- FPakPlatformFile::HandleMountPakDelegate no longer does a linear search to find the just mounted pak file
[REVIEW] [at]Dave.Belanger [at]Thomas.Ross [at]Bob.Tellez
[CL 28049947 by justin marcus in ue5-main branch]
GFP state machine
- Avoid async GetContentState calls if possible. These waste time and delay getting initial HTTP requests queued. The allows all the requests to be queued on the same tick.
BPS download service
- Move HTTP callbacks off game thread. This doesn't have much effect yet since the download service is still ticked on the game thread. I'll follow this up with changes to fix that.
Install bundle stats
- Additional ensures to help catch operations happening out of order. I caught and fixed an issue where VK bundle source was sending completion callbacks too early.
[REVIEW] [at]Daniel.Lamb [at]Mitchel.Fisher [at]Leigh.Swift
[CL 27317611 by justin marcus in ue5-main branch]
- useful on platforms that do not support a lot of named chunks, allowing multple bundles to reference the same named chunk.
- also allows XYZOptional bundles to work again, linking them to their main XYZ bundle state on platforms they're not supported on.
#jira UE-146398
#rnx
#rb Justin.Marcus
[CL 26770845 by david harvey in ue5-main branch]
* Moved dllexport from type to methods/staticvar in all Engine runtime code. This improves compile times, memory and performance in dll builds
[CL 26082269 by henrik karlsson in ue5-main branch]