If you have a question not found on this page, reach out using the contact information on the support contact page.
This page may receive updates with frequent questions as they are received.
General
This section includes any questions that don't fall into a specific category.
Can I test the game in YouTube environment?
Yes - use the Developer Portal and follow the testing instructions.
My game is not rendering on Android or SDK test suite, what should I do?
When games are not rendering exclusively on Android or SDK test suite, it is often caused by how games are loaded in the WebView. For performance reasons, the game is initially loaded in a WebView that is not displayed to the user, resulting in the WebView viewport size being zero. To resolve this issue, the following solution is recommended:
(1) Verify that your game code executes regardless of the viewport size.
(2) Verify that your game code handles viewport resizing and that the game code doesn't wait or fail when the viewport size is zero.
Our recommendation is to listen for the window event resize
and set your
game's height only when window.innerHeight is non-zero.
Technical Requirements
This section includes questions related to the YouTube Playables technical requirements.
Can I receive an exemption for the individual file size limit?
No. The individual file size is a hard limit.
How is initial bundle size measured?
Initial bundle size is measured as the total amount of bytes downloaded by the Playable until the gameReady event is called.
Playables use HTTP compression when possible, meaning that the initial bundle size may be smaller than the total raw size of the assets. When testing the initial bundle size in the SDK Test Suite, if your local host is not compressing assets, it may result in a larger size than what will happen once your Playable is published. To see the actual initial bundle size served for a Playable, use the SDK Test Suite pointed at the index.html file from an uploaded build or modify your local server settings to enable gzip compression.
I am at or over the individual file or total bundle size limit, what should I do?
To optimize your game and improve performance, see the following articles:
What if I can't fit within the total bundle size limit?
Users may have to download assets from your game every time they play your game. To prevent long loading times and large amounts of data usage, it is recommended that the game's total bundle size be as small as possible.
We encourage games to utilize lazy loading or other types of incremental asset loading during each play session as users progress, or break up assets per level to allow assets to be downloaded in small amounts spread out over the course of a long session. In situations like these, having a larger total bundle size may not degrade the user experience, and may in fact create a better user experience by enabling more content in your game with a lower per user footprint. If you feel your game works in this way and justifies having a larger total bundle size, reach out using our support contact page to discuss your use case.
Can my internal analytics be excluded from the external call requirements?
No. Playables must not make any external calls at this time. Let your partner manager know about the kind of analytics that you are interested in so that future features in this space can be prioritized.
The game fetches data and levels from a remote database, is this acceptable?
At this time no, however we are piloting remote data access with select titles. Today, all game data must be included as part of the game bundle. If you would like to update or refresh your game assets or content, reach out using the contact information the support contact page to submit a refreshed game bundle or reach out to inquire further if you would like to be considered for our our pilot program.
SDK Integration
This section includes any questions that relate to any of the Playables SDK APIs.
I failed certification due to audio integration issues, what do I need to fix?
The most common audio issue that is seen involves games that are expecting user interaction before starting playback. However, YouTube Playables may be given focus automatically, so the game must handle this case.
For an audio setup example, check out the samples.
Unity
This section includes any questions regarding integrating existing Unity games with the YouTube Playables SDK. For examples on how to use the SDK and Unity Wrapper, see the YouTube Playables Unity Wrapper documentation.
Can I use Unity precompression?
We don't suggest pre-compressing your assets. Initial bundle size requirement uses the post compression size and files uploaded will have compression applied after ingestion. If there is still a need to precompress files see the rest of this section or reach out to the support team at our support contact page to discuss the best option for your game.
Some games will need to use precompression for Unity's .wasm
or .data
files.
Only use precompression in the following conditions as this may lead to much
slower load times:
- If you need to use Unity precompression to meet individual file size or total bundle size requirements, see "I am at or over the individual file or total bundle size limit, what should I do?".
- If you need to use Unity precompression for your game to pass certification,
the following requirements must be met:
- You MUST use zip precompression.
- You MUST decompress the files manually within your loader script. We recommend using the Compression Streams API.
These additional requirements stem from limitations of the serving architecture. At this time, support for additional HTTP headers or Brotli compression is not available.
How can I manage frame updates when the game is running in the background?
You can use setTimeout
to manage frame updates when the game is backgrounded.
This helps control behaviors such as pausing audio. You can verify background
frame management by enabling the "Run in Background" option in the player
settings.
Memory restrictions for Unity games
Some games in Unity will use a substantial amount of memory which can lead to exceeding the memory usage restrictions for playables. It is recommended to follow the development documentation for Memory in Unity WebGL.