Flutter, React Native & Unity

Unity Play Asset Delivery: Separate Game Assets from the Base Module

Play Asset Delivery separates game assets from the base install and supports documented delivery modes. It changes the asset lifecycle, so the game must handle availability and download states rather than assume every file exists immediately.

By , FounderUpdated 3 min read

Choose delivery by player need

The Play Asset Delivery guide explains install-time, fast-follow and on-demand behavior. Select a mode according to when a player needs the content and whether the app must work offline at first launch.

Content Design question
First playable scene Must be ready at initial installation?
Next chapters Can they arrive after install?
Optional high-resolution pack Can the user request it explicitly?
Shared assets How will duplication and versioning be controlled?

Configure the app-bundle path

Use the Unity Android build manual for the supported app-bundle/export workflow and the integration appropriate to your engine/package version.

An APK plus manually copied files is not an equivalent test of Play-managed delivery.

Model asset state explicitly

Handle unavailable, downloading, ready, failed and user-cancelled states as appropriate to the API. Provide clear progress and retry behavior without trapping the user in an endless loading screen.

Do not delete old content before a replacement is verified when the game needs a safe update path.

Test real distribution conditions

Exercise first install, app update, interrupted network, insufficient storage and offline launch through a supported Play test path. Confirm that the requested pack version matches the game code's expectations.

Measure the whole trade-off

A smaller initial download can improve acquisition while delaying later gameplay. Report initial size and total content requirements separately.

APKLint's AAB and Unity tools can support package inspection, but they do not simulate Play's asset-delivery service or certify every pack state. Keep distribution tests and recovery behavior in the release checklist rather than relying only on the bundle's structure.

Design the transition from an installed game to an optional chapter

Imagine a game whose tutorial must work immediately, while a large optional chapter can be requested later. Keep the tutorial's essential content available through the chosen initial delivery arrangement and treat the optional chapter as a separate availability decision. A button that opens the chapter should inspect its current state, offer the download when needed and enter gameplay only after the content is ready.

The Play Asset Delivery documentation explains delivery modes and retrieval behavior. Fast-follow does not mean that every asset is ready at the instant of first launch. On-demand requires the application to request content. Keep these states visible in the game rather than assuming a fixed delay guarantees completion.

Test interruption without losing the player's place

Start the chapter download on a supported test distribution, interrupt connectivity and return to the tutorial. The game should remain usable within its documented offline scope. Restore connectivity, retry the chapter and verify that the UI reflects the actual operation rather than displaying stale progress from the earlier attempt. Test a user cancellation separately from a network failure because the next action and explanation can differ.

Also test insufficient storage and an application restart during the operation. Re-query the delivery state on return instead of trusting a Boolean stored when the request began. Keep saved gameplay progress separate from assumptions about whether an asset pack currently exists on disk. Obtain the content location through the supported integration rather than treating a previously observed path as permanently valid.

For an update, use a chapter asset version compatible with the new game code. Verify a returning player's saved chapter state and test recovery when required content must become available again. A successful fresh installation does not cover this update boundary. Review the Unity Google Play distribution guidance for the engine version used by the project.

Report both the initial playable download and the complete optional content footprint. Moving assets out of the base package changes when the player waits; it does not make those bytes disappear. Retain first-install, interrupted-download and update observations with the bundle identity so the release decision reflects the actual distribution experience.

Sources and further reading

  1. Android Developers: Play Asset Delivery
  2. Unity: Build an Android application

Reference review: 29 September 2026. Examples illustrate the workflow; check your installed versions, release artifact and account-specific Console requirements before applying them. This guide is not a claim that APKLint executed your project or verified your private account.

APKLint

Android inspection tools and practical release guides. About APKLint · Report a correction