中EN

Asynchronous Asset Loading

  • Works identically in development and cooked data.
  • Hard UObject pointer property → loaded with containing object; careless use loads 100% of assets at startup. FSoftObjectPath (string, handles cooking and redirects); TSoftObjectPtr is basically a TWeakObjectPtr wrapping FSoftObjectPath, templated to restrict editor UI. Get(); ToSoftObjectPath().
  • Asset Registry: metadata searchable without loading (AssetRegistrySearchable; FAssetData). ObjectLibrary: list of loaded objects or FAssetData from a path; designers add assets without master list.
  • FStreamableManager (put in global singleton e.g. GameSingletonClassName); SynchronousLoad blocks (may stall main thread); RequestAsyncLoad loads group and calls delegate. StreamableManager keeps hard references until the delegate is called, then releases — hard reference elsewhere to keep them.
  • Converting gameplay code takes time but yields far fewer stalls and lower memory.

引用这一章的笔记

输入关键词开始搜索

滚轮或双指缩放 · 拖动平移 · 双击放大 / 还原