# Unity Gaming Services CLI

> Use the UGS CLI to manage Remote Config files from the command line.

You can use the [Unity Gaming Services CLI](https://services.docs.unity.com/guides/ugs-cli/latest/general/overview) to interact with Remote Config files.
The CLI allows you to create, deploy, and manage Remote Config files from the command line.

## Prerequisites##prerequisites

For a deep dive into the CLI, follow the steps in the [Unity Gaming Services CLI Get Started guide](https://services.docs.unity.com/guides/ugs-cli/latest/general/get-started/install-the-cli/).

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

1. [Install the UGS CLI](https://services.docs.unity.com/guides/ugs-cli/latest/general/get-started/install-the-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 [Remote Config](https://services.docs.unity.com/docs/service-account-auth/index.html#remote-config-api-editor) and [environments management](https://services.docs.unity.com/docs/service-account-auth/index.html#unity-environments-admin). Refer to [Get Authenticated](https://services.docs.unity.com/guides/ugs-cli/latest/general/get-started/get-authenticated/).

## Using the CLI##using-the-cli

Refer to the [Remote Config Command Line documentation](https://services.docs.unity.com/guides/ugs-cli/latest/remote-config/Remote%20Config%20Command%20Line/overview/) for a full reference of all commands and options.

> **Note:**
>
> The `ugs remote-config` command is also available as `ugs rc`.

### Deploy resources##deploy-resources

Run the `new-file` command to create a resource locally:

```bash
ugs remote-config new-file <file-name>
```

You can use the `Deploy` command to promote your local resources to the remote environment and publish them at once.
The local resources must be deployed to become available to the game client.

```bash
ugs deploy <path-to-file> <path-to-file>
```

```bash
ugs deploy <path-to-directory>
```

### Retrieve resources##retrieve-resources

You can use the `Fetch` command to retrieve all the Remote Config keys from the remote into a single file.
The provided path is a directory where the keys will be fetched to:

```bash
ugs fetch <path> --services remote-config
```

### Environment synchronization##environment-synchronization

You can move all your modules from one environment and deploy them to another environment.

Run the following command to produce an archive of all the modules in your current environment:

```bash
ugs remote-config export <out-dir> <file-name> --environment-name <environment-to>
```

You can then import the modules and deploy them to another environment by running the following command:

```bash
ugs remote-config import <in-dir> <file-name> --environment-name <environment-to>
```
