Question about storing a mobile application (specifically on Android)

hi everyone, I have a question about storage of 1 app game. when access Storage, they have 3 parts: App - Data-Cache. According to my understanding, App contain core part about code and anything in build, It will change when another version is updated on the store. Data is something that will arise when running the game (downloading new assets from unity bucket, …), and cache is memory speed when run app. So that means when we upload a new asset to unity bucket and the client downloads it, it will be counted in the data section, right? And if a new content is used in 2 addressable objects, will it load that asset once or load twice, thank you.
image

Your understanding is generally correct. Let me clarify the concepts of “App,” “Data,” and “Cache” storage in the context of a mobile app, specifically a game.

  1. App Storage:
  • This contains the core application files, including executable code, assets that are part of the initial installation package, and other resources needed for the app to run. When you update the app, this section gets replaced with the new version.
  1. Data Storage:
  • This section typically includes data that the app generates or downloads during runtime. For a game, this could include saved game progress, user settings, and assets downloaded during gameplay. New assets downloaded from a server or Unity Asset Bundles, for example, would fall into this category.
  1. Cache Storage:
  • This is often used to store temporary data that can be quickly accessed for improved performance. Cached data can be regenerated if needed. It helps the app run faster by storing frequently accessed data locally.

Regarding your question about Addressable Assets in Unity:

  • Loading Assets Twice:
    • Unity’s Addressable Asset System is designed to handle assets efficiently. If a new content is used in two or more Addressable Assets, Unity should intelligently manage the loading of that asset. In general, it will be loaded once and then shared among the different objects that reference it.
  • Asset Bundles and Downloads:
    • When you update content in Unity Asset Bundles or Unity Addressables and a user downloads new assets, these assets typically go into the “Data” storage section on the device. Unity Addressables, in particular, allows for dynamic loading and unloading of assets during runtime, which can help manage memory efficiently.

It’s important to design your game architecture and asset management strategy carefully to optimize performance and minimize unnecessary data storage. Unity Addressables, for instance, provides features to help manage assets efficiently and can reduce the need to load assets redundantly.