Following the
single static expansion file support that we launched a few months back, we are happy to announce the support for
multiple dynamic expansion files. Technically, dynamic expansion files are known as
Generic Asset Files on the Oculus Mobile platform and are best suited for DLC (downloadable content).
Starting today, you can launch new content for an application that already exists on the Oculus Mobile Store. Whether you're introducing an extra character, a new level in a game, additional images and media files, or new chapters, DLC support will enable larger application sizes and additional revenue from your application after it has been purchased.
Note: we use terms “DLC”, and “Asset File” interchangeably.
Use Cases for DLC
DLC opens an opportunity to expand your application size and provides ability for further monetization. It can be used in the following use-cases:
- Sellable DLC: sell extra content post-installation
- Implementation-detail DLC: download extra content as a user proceeds in a game
Engine Support
Unity and Unreal have built-in support for the DLC and directly correspond to the Asset Files on the Oculus Mobile Platform. Please refer to the following documentation:
Uploading Builds with Asset Files
To upload a build with asset files, you will need to use the
ovr-platform-util tool.
Note: Asset files are versioned. They have to be uploaded together with the main binary.
Note: The upload process uses patching uploads and downloads. Subsequent asset files will transfer faster since the upload only includes new files.
Here is an example of how to upload a build with asset files:
ovr-platform-util upload-gear-build \
--app <app-id> \
--secret <app-secret> \
--channel <channel> \
--apk <main-apk-file> \
--assets_dir <path-to-dir-with-assets>
As you can see, it is controlled by the --assets_dir
parameter, which is the path to a directory containing all your asset files.
Once uploaded, you can manage all asset files belonging to the build in the Dashboard. Go to “Manage Builds” → from the context menu of a release channel select “View Channel Builds” → from the context menu of a build select “View Expansion Files”.
Important: We perform automatic updates of asset files. This means that a new version of an asset is automatically downloaded and installed if the asset with the same file name was already installed in the previous version.
Specifying Price via IAP
DLC can also have a price and be purchased via a corresponding IAP (in-app purchase) item. To configure your IAP item, you'll need to specify a price and then upload the
--asset_file_iap_configs
parameter.
Example:
--asset_file_iap_configs '[{"filename": "Asset1.obb", "sku": "Asset1_IAP"}, ...]'
Or you can move the config to a JSON file and use the --asset_file_iap_configs_file
parameter instead.
Note: Price can also be set or updated in the dashboard on the expansion files management page.
We will automatically check the IAP entitlement on download of an asset file or DLC.
Platform SDK Integration
When you upload your application with asset files or DLC, the asset files or DLC can be downloaded
on demand from within your app. This will happen at any time
post-installation. Please refer the
SDK documentation (available since v. 1.24) on how to integrate asset files or DLC into your app.
At runtime, the list of asset files can be retrieved via ovr_AssetFile_GetList()
call and then calling ovr_AssetFile_DownloadById
for the actual file download. The async ovrNotification_AssetFile_DownloadUpdate
notification allows you to control transferred bytes and implement a download progress bar.
A Note About Beta
The
Asset Files support is available now in
beta form for the Mobile Platform. Rift support is coming soon. We encourage you to experiment with it using Release Channels before pushing asset files or DLC to live users. As always, we'd love to hear your
feedback.