Note: Developers are currently invited to begin adding Expansion Files to their applications and testing DLC under the Beta program. Please note that full DLC support in the Oculus Store is not yet available.
Following
the mobile DLC support which was launched a few months back, we are happy to announce that
Expansion Files are coming to Rift. Technically, the expansion files are known as
Generic Asset Files on the Oculus platform and are best suited for DLC (downloadable content), and any other content which can be installed after your application has already been downloaded.
Expansion files provide the ability to expand your application size and further monetize your application. It can be used in the following use-cases:
- Sellable DLC: sell extra content within your application post-install
- Implementation-detail DLC: download extra content as a user proceeds in a game
- Language Packs: download for localization data on demand
Unity and Unreal have built-in support for DLC that directly correspond to Asset Files on the Oculus platform. Please refer to the following documentation:
Integration Documentation
The API for build uploads with expansion files, and integrating them into your app via Platform SDK is identical to the mobile apps. Please address the details on the integration in
this documentation, and the
blog post.
One of the Rift-specific products which is built on top of the generic asset files, is the Language Packs.
A language pack is a special type of an asset file, which can be used for automatic i18n support in Oculus app, and downloading needed i18n data on-demand.
The main two problems developer had previously with the i18n support in their apps are:
- Packing i18n audio data for all supported languages into the main build, which could dramatically increase the installation app size
- Always need to implement a custom language selector in the app itself
With the upcoming language packs support, developers can now extract each language into an asset file, and which can be automatically downloaded by the Oculus app. Users now have access to the generic Language Selector directly in the Oculus app (the Details section of your app), and you don't have to implement a custom in-app one.
Uploading Builds with Language Packs
To upload a build with language packs, 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.
Here is an example of how to upload a build with language packs:
ovr-platform-util upload-rift-build
--app <app-id> \
--secret <app-secret> \
--channel <channel> \
--apk <main-apk-file> \
--language_packs_dir <path-to-dir-with-language-packs>
As you can see, it is controlled by the --language_packs_dir
parameter, which is the path to a directory containing all your language pack files.
Note: we use BCP47 format for language tags, and the language pack files should be named in the <BCP47>.lang
format. Examples: en-US.lang
for American English, de.lang
for German, etc.
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”.
Platform SDK for language packs
Once the language packs are uploaded, and a user has selected the needed language in the Oculus app, your application can request via SDK call information about currently installed language. Please address the
Asset Files, and
Language Packs SDK requests for full details.
Note: users select a language in the Details section of your app in the Oculus app.
If you decide to implement in addition in-app language selector, you can also use the
ovr_LanguagePack_SetCurrent
call, which spawns the Asset Files
Download request. Once the asset file corresponding to the language pack is downloaded, and installed, you can query it again using the
ovr_LanguagePack_GetCurrent
call.
The Asset Files, and Language Packs support for Rift are available now in beta form. DLC support in Oculus Stores is coming soon, so users will be able to purchase, and install the downloadable content directly from Oculus app. 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.