- This feature allows different chunk layout on different platforms.
- Most mapping work is done in AssetRegistryGenerator.
- Terminology of ChunkID and Pakchunk Index are now separated and they are no longer the same if chunk id to pakchunk index mapping is defined. The ChunkIDs in FAssetData is not renamed to keep consistency, but it actually is pakchunk index. FAssetData.ChunkIDs is used for ChunkInstall.
- Chunks with encryption key guid or unique assetregistry name are not allowed to be mapped. There are code to filter out those chunks and log errors while initializing mapping
- CheckChunkAssetsAreNotInChild() and ResolveChunkDependencyGraph() is skipped when making build for XboxOne and PS4, since they are not needed. If for some reason, we need chunk dependency on console builds, we need to implement per-platform dependency graph, since now we support different chunk layout on different platforms.
- Disabled a few pak file overide rules for console builds, since they should only be applied to builds with Kairos chunk layout.
#test A preflight was kicked and tested on PS4 and XboxOne. No new issue was found.
#rb Daniel.Lamb
#ROBOMERGE-SOURCE: CL 5470414 via CL 5474050
[CL 5474308 by hongyi yu in Main branch]
Also addresses a non-regression issue with nativized child widgets that utilize the WidgetTree instance from a parent class.
#jira UE-66681, UE-71564
#rb Jason.Stasik
[FYI] Nick.Darnell
#lockdown Cristina.Riveron
#ROBOMERGE-SOURCE: CL 5459757 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5459766 by phillip kavan in Main branch]
- Future plan would be not to use OpenSSL directly, but to go via PlatformCrypto or something like it which could provide platform specific RSA functionality if it exists
- Also contains some compensation code for platforms that are still stuck on an older version of OpenSSL (everything except windows)
- On platforms that use OpenSSL < 1.1.1, register a locking callback so we can provide mutexes and stop it crashing horribly when the same RSA key is used concurrently on different threads
Changed default key size in the CryptoKeys plugin to 4096 bits.
#jira UE-71377
#rb ian.fox, robert.manuszewski, ryan.gerleve
#ROBOMERGE-OWNER: graeme.thornton
#ROBOMERGE-AUTHOR: graeme.thornton
#ROBOMERGE-SOURCE: CL 5447433 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5447485 by graeme thornton in Main branch]
#rb none
#jira
#ROBOMERGE-SOURCE: CL 5437980 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5437990 by ben marsh in Main branch]
#jira UE-71698
#rb none
#ROBOMERGE-SOURCE: CL 5434778 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5434784 by mark satterthwaite in Main branch]
#jira UE-71589
#rb none
#ROBOMERGE-SOURCE: CL 5419941 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5419946 by mark satterthwaite in Main branch]
#rb none
#jira UE-71589
#ROBOMERGE-SOURCE: CL 5415631 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5415651 by mark satterthwaite in Main branch]
* Removed code to invalidate makefiles when adding new source files. UBT should be reliable enough to make this determination itself nowadays, and ignored -invalidatemakefilesonly argument was causing modules to be recompiled.
* Fixed incorrect config section name when determining whether to allow hot reload from IDE. Now prevents hot reload from IDE when live coding is enabled.
* Added error message when trying to add a new class with Live Coding enabled.
* Added error messages when trying to start Live Coding after a hot reload has taken place.
* Added error messages when trying to hot reload with Live Coding enabled.
#jira UE-71253
#rb none
#ROBOMERGE-SOURCE: CL 5403464 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5403485 by ben marsh in Main branch]
Automation - Adding more options for forcing and waiting for loading and streaming to finish and more utilities for waiting for that to happen entirely for tests.
Lauren.Ridge
#ROBOMERGE-SOURCE: CL 5382989 via CL 5383481
[CL 5383540 by nick darnell in Main branch]
- CryptoKeys plugin can now be told how many bits to use for keys. Defaults to 2048 as a happy medium between security and performance
- After creating the OpenSSL RSA key, use the exp/mod values directly rather than recomputing from primes
- Added RSA.h with some TBigInt based helpers for RSA keys
- Added FPakSignatureFile to wrap the contents of the pak .sig file, including determining that it is of a new format that supports versioning. Wraps the encryption and decryption of he master table hash
- Changed pak master signature hash from crc to SHA1
- Modified access to executable embedded public key data so that it is just an array of bytes. Will allow custom key sizes in the future.
#rb joe.barrett, stefan.boberg
#jira UE-71280, UE-71377
#ROBOMERGE-OWNER: graeme.thornton
#ROBOMERGE-AUTHOR: graeme.thornton
#ROBOMERGE-SOURCE: CL 5381335 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5383057 by graeme thornton in Main branch]
hlslcc was incorrectly converting conditionals to mix. When one of the operand is a nan, this conversion is incorrect, as the nan will propagate, and thus we get weird bugs where the nans stick around.
#jira UE-71386
#rb rolando.caloca emil.persson
#ROBOMERGE-SOURCE: CL 5380320 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5380325 by jonas meyer in Main branch]
#rb none
#jira UE-71399
#ROBOMERGE-SOURCE: CL 5365389 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5368509 by ben marsh in Main branch]
#rb none
#jira UE-71379
#ROBOMERGE-SOURCE: CL 5362145 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5368489 by ben marsh in Main branch]
#rb none
#jira UE-71269
#ROBOMERGE-SOURCE: CL 5361379 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5368488 by ben marsh in Main branch]
#rb none
#jira UE-71270
#ROBOMERGE-SOURCE: CL 5361279 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5368485 by ben marsh in Main branch]
#rb none
#jira UE-71359
#ROBOMERGE-SOURCE: CL 5361201 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5368484 by ben marsh in Main branch]