Unity Gaming Services CLI

You can use the Unity Gaming Services CLI to interact with triggers. The CLI allows you to manage trigger configurations from the command line.

Note: The CLI doesn't support triggers with filters. To create triggers with filters, use the Triggers Admin API.

Prerequisites

For a more comprehensive information on the CLI, follow the steps in the Unity Gaming Services CLI Get Started guide.

To follow this guide, you first need to complete the following actions:

  1. Install the UGS CLI.

  2. Configure your Project ID and Environment as such:
    ugs config set project-id <your-project-id>
    ugs config set environment-name <your-environment-name>

  3. Configure a Service Account with the required roles for Triggers and environments management. Refer to Get Authenticated.

Using the CLI

For a full reference of all commands and options, refer to the Triggers Command Line documentation.

Note: The ugs triggers command is also available as ugs tr.

Deploy triggers

Run the new-file command to create a trigger configuration locally:

ugs triggers new-file <file-name>

The configuration file contents can look like the following:

{
  "$schema": "https://ugs-config-schemas.unity3d.com/v1/triggers.schema.json",
  "Configs": [
    {
      "Name": "example-trigger",
      "EventType": "com.unity.services.scheduler.{{EVENT_NAME}}.v{{EVENT_VERSION}}",
      "ActionUrn": "urn:ugs:cloud-code:MyScript",
      "ActionType": "cloud-code"
    }
  ]
}

You can also modify a configuration file to include multiple triggers:

{
  "$schema": "https://ugs-config-schemas.unity3d.com/v1/triggers.schema.json",
  "Configs": [
    {
      "Name": "example-trigger",
      "EventType": "com.unity.services.scheduler.{{EVENT_NAME}}.v{{EVENT_VERSION}}",
      "ActionUrn": "urn:ugs:cloud-code:MyScript",
      "ActionType": "cloud-code"
    },
    {
      "Name": "example-trigger-2",
      "EventType": "com.unity.services.scheduler.{{EVENT_NAME}}.v{{EVENT_VERSION}}",
      "ActionUrn": "urn:ugs:cloud-code:MyScript",
      "ActionType": "cloud-code"
    }
  ]
}

You can use the Deploy command to promote your local trigger configuration files to the remote environment.

You need to deploy the configuration files for them to become active triggers:

ugs deploy <path-to-triggers-file> <path-to-triggers-file>
ugs deploy <path-to-directory>

If you associate the trigger with an existing Cloud Code script or module, then emitting the event with the specified eventType fires the trigger and executes the associated Cloud Code script or module.

Retrieve triggers

You can use the Fetch command to retrieve multiple triggers from remote at once.

The provided path is a directory where the triggers are saved to:

ugs fetch <path>

Delete triggers

To delete a trigger, you can run the deploy command with a --reconcile flag.

Warning: Reconcile is a destructive operation. It deletes all triggers that are not present in the provided path. You can check the output of the command with the --dry-run flag before running the command without it.

ugs deploy --services triggers <path-to-triggers-file> --reconcile