Upgrade Instructions

Upgrading the Genvid SDK from one version to another may include some manual steps. This page includes any steps required to update to version 1.17.0 from the last version. If you’re upgrading an older version of the SDK, start with any special upgrade instructions for your version found here.

Upgrading the local installation

To set up the new SDK locally:

  1. Install the new SDK.
  2. Run the script install-toolbox.py from the new SDK.
  3. Run genvid-bastion reinstall --reconfigure -b mybastion -uml to update your bastion.

Updating your broadcast website

If you used code from the samples we provide in your own project, note that we recently enforced a best practice concerning service discovery using consul in those samples. You should check again the samples and update your project accordingly. We invite you to use the consul health api instead of the catalog api to fetch the url of your services, since it is more likely that the url will point to a healthy service.

Updating your game

To update your game without applying new features, just replace the old genvid.dll from the previous SDK with the one from the new SDK. The old plugins and integration should work as-is, with the exception of the specific upgrade instructions below.

Attention

Always follow the full upgrade path for the Genvid SDK version you’re using. For example: If you’re upgrading from version 1.6.0 to 1.10.0, start by upgrading from 1.6.0 to 1.7.0 then continue with each version.

See the full list of upgrade instructions for your specific version.

Warning

Genvid SDK 1.14.0 contains a new version of Consul. This new version requires special care to upgrade from the previous version. If you still need to upgrade to 1.14.0, please follow the instructions under Upgrade Bastion before upgrading from 1.13.0 to 1.14.0.

Note

If you haven’t upgraded to 1.15.1, you can upgrade directly from 1.15.0 to 1.16.0 without upgrading to 1.15.1 first. However, you should review the 1.15.1 release notes and upgrade notes for important information about the changes.

Upgrade the Javascript API

You should also upgrade the Genvid JavaScript API on your website.

Upgrading your cluster

We strongly recommend keeping your old clusters as-is and creating a new one for the update.

To create a new cluster, follow the standard instructions:

  1. Set up a new wingame AMI that matches the new version.
  2. Create new clusters.

Once you have replaced all your clusters, you can remove the old SDK repositories from the Modules Section page.

Upgrading an existing cluster

Warning

Upgrading your cluster can replace all your instances and even erase your current configuration. We recommend not upgrading a live cluster. If you do, carefully check the changes before applying the plan.

You can update the module used to build your cluster by clicking on Modify/Reimport Module in the module section of your cluster infrastructure, then select the module new version and import it. Finally, click apply in the Terraform section.

Note

Some changes can take time to propagate to AWS. This is especially true for IAM roles and policies, which could then create some conflicts when recreated. Re-applying the Terraform plan should fix the problem.

Upgrade from 1.16.0 to 1.17.0

Deprecation of CommonJS distribution of the Web API

In this release, we decided to bundle all our distributions of the Web API. With this last change, no difference exists anymore between the browser version and the CommonJS version. You now can simply change the path from file:commonjs to file:browser.

Bundling of the Node version of the Web API

The Node version is now bundled in a single file. This could lead to some problem if you were used to import individual module. Instead, we decided to export all symbols under the genvid namespace.

UE4 Genvid Module

The Unreal Engine 4 Genvid Module is now compatible with Unreal Engine version 4.20.1.

While it’s not mandatory to update to the last version, we recommend that you migrate your code to the new version.

Note

If you choose to not update to the last version, you can only update your Genvid library GenvidPlugin/ThirdParty/GenvidSDK/win 32|64 /genvid.dll to the 1.17.0 version. to use the last SDK.

How to upgrade to 1.17.0

Some explanation

The changes are minimal. A few functions related to Blueprints events has been renamed to allow the compatibility with the Unreal Engine 4.20.1:

  • ReceiveEndPlay into InternalReceiveEndPlay
  • ReceiveTick into InternalReceiveTick
  • ReceiveEndPlay into InternalReceiveEndPlay
The concerned classes are:
Migration

Normally, the migration should be easy and will be done without any problems depending on the Blueprint events you are using.

The Unreal Engine will be able to recognize all the renamed function and link them automatically with your blueprint events.

If your Blueprint classes contain the Tick Event, you may have to relink the DeltaSeconds argument.