LTS 2020.3.15 Play Asset Delivery cannot load Videos on Android

Hello!
I have an Android project working with the PAD google plugin, and this morning I moved the project from 2020.3.14 to 2020.3.15, mainly to use the built-in PAD support instead of relying on the external google plugin.

The documentation here is pretty straightforward: Unity - Manual: Play Asset Delivery and I was able to build and deploy the .aab without the google PAD plugin, but here’s the catch: I have many .mp4 files inside AssetBundles and they won’t load anymore. Logcat says that:

2021/08/03 11:11:28.489 17082 17136 Warn Unity AndroidVideoMedia::OpenExtractor could not translate archive:/CAB-da7e5cc2578a42415407da10d8bd2923/CAB-da7e5cc2578a42415407da10d8bd2923.resource to local file. Make sure the file exists, is on disk (not in memory), and not compressed.

This is a well-known issue where videos in Asset Bundles need to be Uncompressed or many android devices won’t load them.

The Asset Bundles I build manually ARE set Uncompressed, but my guess is that when Unity bundles everything into a .assetpack (so, my AssetBundles from the StreamingAssets folder) it actually creates a compressed AssetBundle or more in general applies some sort of compression? If so, is there a way to control this type of compression?

Thanks for your help!

Files in asset packs are not compressed. Do you check that asset packs automatically created by Unity are downloaded before trying to load video files from asset bundles? If the asset packs are downloaded, please submit a bug report.

Hello JuliusM! And thanks for the quick reply.

I don’t download asset packs, everything is bundled in the same .aab by default, so it gets the install-time policy automatically. The size is way below the 1GB threshold mentioned in the docs. If I open the .aab with Android Studio I can see the assets there, and all other assets (texture, sounds, prefabs, scriptable objects, etc) get loaded properly at runtime. It’s only videos and only on Android with this very specific error from logcat:

2021/08/03 11:11:28.489 17082 17136 Warn Unity AndroidVideoMedia::OpenExtractor could not translate archive:/CAB-da7e5cc2578a42415407da10d8bd2923/CAB-da7e5cc2578a42415407da10d8bd2923.resource to local file. Make sure the file exists, is on disk (not in memory), **and not compressed.**

I see. Could you submit a bug report with a small project which would allow our QA to reproduce the issue? Please paste the issue ID in this thread as well, so that I could track it right away.
Edit: just in case, here are instructions on how to submit a bug report https://unity3d.com/unity/qa/bug-reporting

Thanks for the update! I will try to create a demo project to replicate the issue and report back

1 Like

Any update on this? I just ran into the same issue. I’m using Unity 2019.4.17f1. Videos from uncompressed asset bundles via streaming assets load fine when built as an APK, but i get the same loading error described above when building an AAB.

Hello @LilMako17 !
Unfortunately, for time reasons I never had the time to investigate this further and decided to keep the old existing working flow we had using Integrate asset delivery (Unity)  |  Android Developers.

Also getting the following errors right now after using Play Asset Delivery, right after all core Unity assetpacks are downloaded, and our Splash screen .mp4 should play:

AndroidVideoMedia::OpenExtractor could not translate sharedassets0.resource to local file. Make sure file exists, is on disk (not in memory) and not compressed.
AndroidVideoMedia: Error opening extractor: -10004

We’re on Unity 2020.3.35f1 for this project. Any ideas?