🩹[Beta] Patching

What is patching?

HyperPlay supports differential updates where users only have to download new content when a game is updated.

How do I join the beta test?

As a developer, you can request to join in the beta test of this feature by reaching out to the team directly.

For developers participating in the program, you can continue to publish your builds the same way you have already been publishing them, and HyperPlay will handle the rest.

Best Practices

There are some general guidelines you can follow to optimize your patch size.

In particular for Unreal Engine games:

Estimating Patch Size

To get an estimate of the patch size, you will need to first get the project_meta_id for two separate releases.

  1. Go to https://developers.hyperplay.xyz/api/v1/listings in your browser and find your game

  2. Find the channel you are releasing on.

  3. Copy channels[i].release_meta.release_id to your records as oldReleaseMetaId

  4. Perform a new release on the channel

  5. Copy channels[i].release_meta.release_id to your records as newReleaseMetaId

  6. Make a note of the platform id from channels[i].release_meta.platforms to pass in the following url

  7. Go to https://developers.hyperplay.xyz/api/v1/patches/compare?old_release_id=<paste_oldReleasemetaId_here>&platform_name=<platform_name_here>&new_release_id=<paste_newReleasemetaId_here>

Here is a sample response:

{"differentBlockPercentage":85.08110505639335,"estimatedPatchSizeInKB":13749760}

The value for differentBlockPercentage is the amount of new data that was downloaded for the patch divided by the size of the new release on disk.

As a developer, you can use this tool to experiment with your build pipeline on private (i.e. gated) channels to optimize for patch size.

Last updated