Unity Best Practices for Online Distribution

For games built in Unity, follow this checklist to ensure your package is optimized for render streaming distribution at scale on the PureWeb Reality platform.

Reduce Package Size

Before preparing your package for cloud deployment it’s important to optimize your game and reduce the file size if possible. AWS instances used within the PureWeb Reality platform have limitations on the maximum file size.

Keep the file size below 25GB, ideally 5GB or less.

Smaller package files result in shorter load and startup times (the time it takes for the stream to start once a user has connected to a cloud hosted session) and transfer times (copying packages to instances as part of scaling operations), which improves the overall end user experience.

We strongly recommend following the Reducing the File Size of Your Build guide by Unity.

Optimize Performance

The base performance of the game is the single most important factor for a high-quality streaming experience. A fine-tuned and optimized game will support a greater number of concurrent users per server which can significantly reduce costs. It will also improve the frame rate resulting in a more compelling streaming experience.

See Understanding Optimization in Unity for suggestions on optimizing your game.

Check Run State

Ensure that your game runs from a clean state on every launch, and does not require configurations or other data to be written to the local file system.

In a cloud streaming environment, different users will be accessing a game on a given cloud instance. To ensure that each user has the same experience, it is necessary that the game does not make any changes on the local file system as this may impact the experience of successive users.

Test Loading Time

To provide your on-line users with a good experience you ideally want the game to load to an initial screen in under 20 seconds. This will also ensure that various system/network timeouts are not reached when loading the game.