Hello, I’m writing here my researchs on the subject. Please, note that I am maybe wrong.
So a payload is the data in package .uassets files. This is the bulk data that the documentation is speaking of. We can find some informations in Engine\Source\Runtime\CoreUObject\Public\UObject\PackageTrailer.h on the subject.
For asset virtualization, the file payload_metainfo.txt regroups all perforce depot synchronized assets concerning with the virtualization. It is filled with command p4 print -q {depot_stream}/payload_metainfo.txt. I suppose it is used by external scripts to know which asset is virtualized.
The UnrealVirtualizationTool is searching for a specific condition. There are different reasons for which an asset can’t be virtualized :
- The asset type of the owning UObject ;
- The path of the owning UPackage ;
- The payload size is below the minimum size for virtualization ;
- The owning editor bulkdata had virtualization disabled programmatically ;
- The package is either a UMap or the owning editor bulkdata is under a UMapBuildDataRegistry.
These informations are found in Engine\Source\Runtime\Core\Public\Virtualization\VirtualizationTypes.h and Engine\Source\Runtime\CoreUObject\Private\UObject\PackageTrailer.cpp:807.
I don’t understand the details yet. I continue searching on the subject.
I’m surprised that there isn’t any package that can be virtualized in the test project. I am sure that I overlooked something.