UE5 Packaging problem for Android Meta Quest when using USD

I wanted to see if I could import a USD file at run time in UE5… which works fine in Windows with the Set Root Layer node as documented here: Universal Scene Description in Unreal Engine | Unreal Engine 4.27 Documentation

However – when trying to package this same simple example to Android for Quest a cook error states UsdStageActor is not a module available on the Android platform. This appears to be because Android is not a supported platform for USD according to the official Pixar USD github repo.

Once it is officially supported in the Pixar repo I believe Epic would support it – but until then… how could we utilize all of the benefits of a runtime USD workflow if our target is Android/Meta-Quest? The packaging error I’m talking about is below.

1. LogPlayLevel: Error: LogCook: Error: Failed to cook /Game/VRTemplate/Maps/VRTemplateMap for platform Android_ASTC. It imports class /Script/USDStage.UsdStageActor, which is in a module that is not available on the platform

Thank you @ben.unsworth and welcome to the forums. Unfortunately, our plugin does not provide the functionality that you are requesting. Adding USD support for Android within Unreal is not currently part of our scope.

Thanks for responding. My question was actually directed more towards the Official Pixar USD repo not supporting Android (which is why Unreal doesn’t support it).

Do you have any information on that? Or is there an nVidia USD repo that does support Android? That would help create a reason for Epic to add support for Unreal cooking for Android.

Hello @ben.unsworth. Unfortunately, we are not aware of any current efforts at Pixar to support USD on Android. “They said they are open to accepting reasonable PR’s geared at making USD more mobile-friendly.” I will keep you updated on any possible internal efforts, but as of now, this doesn’t appear to be part of the roadmap. Here is a link to a community effort in case that can be of any use.

GitHub - syoyo/USD-build-aarch64: USD build script for aarch64 target

1 Like

@ben.unsworth Some additional insight. There is the possibility of streaming USD to an android client. This would be more like pixel streaming, in case that could fufill your needs. Also, another repository possibly worth looking at is also included below.

GitHub - syoyo/tinyusdz: Tiny, dependency-free USDZ/USDA/USDC library written in C++14

1 Like

@ben.unsworth Yesterday it was announced that Qualcomm and Adobe are bringing USD to Android. Hope this helps with your efforts in the near future.