I have a rhythm game that I am almost finished working on but have hit a bit of a snag. We have an in-app store where users can purchase additional "song packs" for money. These packs contain song files (text asset), song banner images (png) and the songs themselves (mp3). This data is stored on our server, and the Unity app communicates with the server after a successful purchase is made. The server script validates the purchase via the Google Play Purchasing API (with the purchase token) and then if its valid, downloads the zip file of the data and extracts it into the Unity app. This part is working great.
However, I seem to not understand in what format I need to have the content or where exactly to put it. Furthermore, my game makes use of Addressables tags to load data between scenes. This works, but I am not sure how exactly I would handle this for downloadable content. Can I create new addressable tags via the API at runtime? I want to be able to add additional downloadable content to the app without needing to update the base games Addressable information. Is this even possible?
My main questions are:
How do I deliver my downloadable content? Do I need to package it in some type of Asset Bundle? Would this keep the import settings like audio compression that I set in Unity?
What folder should I extract the downloaded content on Android? StreamingAssets?
Can I create Addressable tags at runtime? Is this possible and is this a good idea?
Thank you for the help!