Deprecation Notice: Legacy Asset IDs #17861
Labels
kind/deprecation
Categorizes issue or PR as related to a feature/enhancement marked for deprecation.
needs-triage
Indicates an issue or PR lacks a `triage/foo` label and requires one.
sig/content
Categorizes an issue or PR as relevant to SIG Content.
Deprecated APIs
void AssetRegistry::RegisterLegacyAssetMapping(const AZ::Data::AssetId& legacyId, const AZ::Data::AssetId& newId);
void AssetRegistry::UnregisterLegacyAssetMappingsForAsset(const AZ::Data::AssetId& id);
AZ::Data::AssetId AssetRegistry::GetAssetIdByLegacyAssetId(const AZ::Data::AssetId& legacyAssetId) const;
LegacyAssetIdToRealAssetIdMap AssetRegistry::GetLegacyMappingSubsetFromRealIds(const AZStd::vector<AZ::Data::AssetId>& realIds) const;
Alternatives APIs
There aren't any alternative APIs, rather, users should recreate the legacy assets in order to generate a new asset id. Also be sure to update any components which reference that asset.
Any projects started in O3DE should already be in the clear; they are using modern asset ids. For projects started in Lumberyard and converted to O3DE, developers can run their game and look out for legacy asset warnings printed to the log. Search for "Deprecated asset id warning!"
Last Release
Tentatively the next release
stabilization/2410
Additional Context
"Legacy" UUIDs date back to the Lumberyard days (prior to O3DE's existence in 2021). Each asset's legacy-type uuid is stored and so grows linearly as games add more assets. This results in a doubling of the storage size requirements for bookkeeping assets (storing the modern asset id and then a fallback legacy asset id).
While a single UUID leaves a small memory footprint, keep in mind, source and product assets (the assets that end up being generated in the cache folder) are not 1-to-1. A single source asset can result in generating many game-ready product assets. For example, it's common for a project with 30,000 assets, to end up with 100,000+ product assets.
The text was updated successfully, but these errors were encountered: