针对不同平台打包资产

在Unreal Engine项目开发中,我有这样一个需求:

我希望针对不同平台(比如PC和Android)打包时,只包含本平台需要的资源,剔除掉其他平台的资源。

具体来说,比如我有一个DataAsset文件,里面分别存储了PC和Android平台各自需要的资源引用(硬引用)。

我希望在打包PC版本时,只把PC相关的资源打进包体,不包含Android相关资源;打包Android版本时,只包含Android相关资源,不包含PC资源。

举例:

UCLASS()

class UMyDataAsset : public UDataAsset

{

UPROPERTY(EditAnywhere)

UObject\* PCObject;



UPROPERTY(EditAnywhere)

UObject\* AndroidObject;

}

打包PC时,只希望PCObject被打包,AndroidObject不被打包。

打包Android时,只希望AndroidObject被打包,PCObject不被打包。

Steps to Reproduce

您好,UObject有个函数可以处理这个功能 NeedsLoadForTargetPlatform

可以修改这个函数,在里面读取某个列表并判断