- Generate new predownloaded cosmetic bundles FortniteBROnDemand and FortniteBROnDemandOptional. These bundles store a copy of all of the ondemand files so that users can opt-out of downloading on demand.
- Implemented new user settings to disable cosmetic streaming on Android and just pre-download all cosmetics
- New settings fallback to disable cosmetic streaming automatically if predownloaded cosmetic data is already on disk. This supports both Android Bulk builds and PC where the launcher installs this data.
- Also disable CosmeticStreaming when the predownloaded cosmetic content is installed (which is requested automatically if the user setting is flipped)
- Implemented new FortCosmeticStreamingModule modular feature to remove some hard dependencies and make code cleaner.
#rb Swarm
#tests Android Dev Client, Windows Dev Client
[CL 25331176 by thomas ross in ue5-main branch]
* Count scavenged blocks as "base" data for stats/telemetry
* Gracefully handle missing/invalid scavenge root path
* Cancel reading blocks from a particular source if a hash mismatch was found
#rb none
#jira UE-178864
#preflight skip
[CL 25326911 by Yuriy ODonnell in ue5-main branch]
- add new IShaderFormat API for separate preprocessing and compilation; backends can implement one or the other depending on the return value of SupportsIndependentPreprocessing
- add support for executing preprocessing in the cook process prior to job submission and constructing job input hashes based on preprocessed source (and a subset of the environment used as compile inputs). controlled by a cvar for now and disabled by default
- add a BaseShaderFormat class in ShaderCompilerCommon which implements common behaviour for output of debug data - note this function is only called for formats which support independent preprocessing, so is expected to be used only by formats which have been converted to use this API
- add new cvars for output of some additional shader debug data - 1. a txt file containing the input hash a.k.a. job cache key 2. a text file containing all diagnostic messages (errors and warnings) for the job
- minor change to how input hashes are constructed for pipeline jobs - sum hashes as 256-bit ints instead of adding to a buffer and re-hashing. faster and simpler, and also more collision resistant (sum of two well distributed hashes equally well distributed)
#rb Jason.Nadro
#rb Yuriy.ODonnell
#preflight 64512c88c86798f650b953d3
[CL 25317218 by dan elksnitis in ue5-main branch]
Some collections are only instantiated when required for a controller; this may not happen on worker nodes.
#preflight none
[CL 25312053 by Ben Marsh in ue5-main branch]