Forum rules - please read before posting.

Using a different folder other than the Resources folder for Speech

edited October 2022 in Technical Q&A

Hello,

I've been chatting with Unity about some issues I'm having get my app, Dexter Stardust, on the Android Google Play Store. You can see our discussion here:

https://forum.unity.com/threads/upload-app-larger-than-150mb.1334297/#post-8494448

In short, Google has a new way of submitting builds for upload to the Play Store Console called an AAB file. The AAB file can have multiple APKs in it. However, the base APK must be under 150MB. Unity has a way of creating an AAB file, with those multiple APKs within (split binary).

The way to get the base APK down to under 150MB is to make use of Unity's Asset Bundles. I have done this for all sprites and audio, including speech.

Even so, my base APK is still over 150MB, at 178MB. Unity believes this to be because the Speech files are still sitting in the Resources folder, and the base-master.apk file makes use of the Resources folder.

I have found that using the Resources folder to be the most efficient way of housing the Speech files when using AC. Scene transitions are short. It works. This is why I don't use Asset Bundles for Speech playback in AC.

However, I can't move the Speech folder to any other folder, because AC cannot then locate the Speech files.

Interestingly, when I mentioned that I use AC and explained the situation, Unity responded with the following (see above Unity Forum thread for full context):

Yikes, that's terrible, our documentation explicitly recommends to avoid Resources folder: https://docs.unity3d.com/2022.2/Doc...PracticeUnderstandingPerformanceInUnity6.html

Does anybody have any ideas here? Is there a way to have AC reference a different folder for Speech that isn't Resources and still be as efficient as it is now?

Any help would be appreciated. Thanks!

Comments

  • The Speech Manager's Reference speech files field can be used to change how and where speech audio files are referenced by the game.

    By Naming Convention relies on Resources folders. It's convenient, so it's good during development, but not so much in a release build because of memory issues such as the one you describe.

    By Addressable should be the most performant, and works by assigning Addressable keys to your files that match their expected name when using "By Naming Convention".

    See the Manual's "Speech audio" chapter for details on each of the various options. It's also possible to set it to By Asset Bundle, as you mention. Once set to either this or By Addressable, the audio files can be removed from Resources.

  • Thank you so much for the response, Chris! Much appreciated, as always. I'll play around with this next week. I'm sure I'll figure something out. Thanks again!

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.