Upgrade from 1.22.0 to 1.23.0
Changes to the Cube Samples
The Tutorial sample is now called the DirectX Cube sample.
The DirectX sample, the Unity Cube Sample, and the
Unreal Engine 4 Cube sample no longer have a web part integrated in
them. This function is assumed by the new Web sample.
Each engine used to have its own web site included in the same folder. For example for Tutorial it was in /samples/tutorial/web
.
Now the new Web sample is the web site for any engine and is located in /samples/cube/web
.
The new samples DirectX Cube, UE4 Cube, Unity Cube, the Web sample, and
Twitch extension are now located in /samples/cube/
.
You need to build and load the new Web sample as an independent sample on your
clusters in order to get a website running. Here’s how:
Go to the
/samples/cube/web
directory.Build the website.
py web.py build
Load the website.
py web.py load
The Twitch extension is now just an extension. You can use it with any of the DirectX, Unity, or Unreal samples. You will need the Web sample to run at the same time as it serves as the backend for the Twitch extension.
The plugins for UE4 and Unity are now located in the folder
/engine-integration/
. The file package.py
for Unity is in
/engine-integration/unity/
and has to be used from there.
The UT4 sample is now located in /samples/
.
Engine Integration
We changed the location of the engine integration plugins. They are now
located in the /engine-integration/
folder.
The /engine-integration/ue4/
folder contains a script to help you
install the Genvid SDK along with other useful classes and plugins for
Unreal Engine 4 projects. How you prepare, build, and load your UE4 project
remains the same.
The /engine-integration/unity/
folder contains a script to help you
generate the genvid.unitypackage
asset package along with the asset
package itself. You need to create the Unity package for your project before
preparing, building, and loading your project.
py package.py all
See the Engine Integration section for more information.
command
Service is Now Named webgateway
We’ve updated the command
service, which is now webgateway
. You should
check your integration backend code and change the Consul discovery queries so
that they look for the service webgateway
instead of command
.
The webgateway secret
is now located at genvid/webgateway in Vault.
You need to modify your HCL configuration accordingly.
If you modified the Nomad templates for the Genvid services, you may want to
pass the secret through the GENVID_WEBGATEWAY_SECRET
instead of
GENVID_COMMAND_SECRET
.
If you don’t want to or can’t modify your existing project, you can also set
the Consul key genvid/compatibility/legacy_command
to true.
Tick and Studio Sample Changes
We have increased the memory requirement for the rootd
process, which can
now use a majority of the memory available on the default internal_worker
instance type. If you are using the Studio or Tick samples, this could lead to
some of the tasks not being able to be allocated if you are running a single
instance.
We recommend you add an extra instance on your cluster when running the Tick samples to avoid cases where some services won’t start. See the TICK Stack Metrics and Genvid Studio Service documentation for information on how to do this.
Terraform Modules Changes
We renamed the alb_ssl_cluster
and alb_ssl_cluster_vpc
to be more
consistent with the basic_cluster
convention.
Previous Name |
New Name |
---|---|
alb_ssl_cluster_vpc |
basic_cluster_alb_ssl |
alb_ssl_cluster |
minimal_cluster_alb_ssl |
Twitch Embedded Player and SSL Support
Using the Twitch Embedded Player now requires an SSL protected website. This
means you must use SSL clusters with names that terminate in ways that
indicate they use SSL (such as _alb_ssl
).
When using an SSL module, you need to load its leaf endpoint and a web
endpoint in your cluster configuration using the loadEndpoint()
method
in /samples/cube/web/web.py
.
def loadEndpoint(self): leaf_endpoint = self.get_leaf_endpoint() web_endpoint = self.get_web_endpoint() config = { 'version': '1.7.0', 'config': { 'cloud': { 'endpoint': { 'leaf': '', 'web': '' } } } } config['config']['cloud']['endpoint']['leaf'] = leaf_endpoint config['config']['cloud']['endpoint']['web'] = web_endpoint return config
If you want to stream Twitch embedded on your website, you need to load
twitch.sample.hcl
located in samples/streaming_services
to
ensure that it is populated accordingly. It has a new configuration to allow
embedding.
config { embed_ssl { enabled = true } } // end of config