Reference
Customising instances
Overview
Instance customisation is used to dynamically modify the runtime options of individual instances of a Pixel Streaming application.
The way instance customisation works in Scalable Pixel Streaming is via an instance customisation plugin using gRPC. The plugin is designed to be implemented by the individual for their specific custom use case. Protocol Buffers are used to provide an API for the instance customisation plugin, which allows the API consumption to be handled by any language that supports protocol buffers.
Example use cases and benefits
Instance customisation is an advanced feature of Scalable Pixel Streaming. The main benefit of instance customisation is that applied customisations are at a per-instance level, independent from application configurations.
Some of the use cases and benefits include:
- Applying custom storage volumes to instances;
- Accessing each unique instance ID;
- Changing resolution of individual instances;
- Modifying the list of command-line arguments of instances;
- Ability to take full control of how your instances handle the loading of maps, such as:
- Allowing an instance to join a dedicated server;
- Loading of custom maps/levels in your Unreal application instances.
Obtaining the customisation plugin API
The instance customisation plugin can be obtained as a Go package from the Scalable Pixel Streaming APIs repository.
If you do not wish to use the Go package, you are free to use the protocol buffer files in the Scalable Pixel Streaming APIs repository to generate files in your language of choice.