Search Unity

  1. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Feature Request Promote changes to different environment

Discussion in 'Economy' started by francesco-included, Jun 23, 2023.

  1. francesco-included


    Oct 29, 2021
    It's fairly standard to add/edit/delete resources in an environment, e.g. development, test the changes and then apply those to another environment, e.g. production.

    It seems like there's no convenient way to achieve this workflow with the existing UI, other than manually adding/editing/deleting each individual resource, with a good dose of copy & paste, which can be quite error-prone.

    Are there any plans to offer a more convenient way to promote changes through environments?
  2. GabKBelmonte


    Unity Technologies

    Dec 14, 2021
    Hi Francesco!!
    I'm gonna try and be succinct as all of your posts are sort-of interrelated, so I'll use the same answer, and we can elaborate a bit more on each one of them.

    Part of the UGS platform team that works cross-services, we have two solutions:
    a. The Deployment Window in the editor (for rapid local iteration)
    b. The UGS Command Line Interface (CLI) (for automation, CI/CD , customization)

    The Deployment Window and the CLI allows to deploy service configuration files to any environment, the CLI also allows to bring them back from the service (fetch). Currently it supports CloudCode, RemoteConfig and Leaderboards, we're actively working on Economy, and it will be part of the next release.
    The CLI also supports admin APIs of other services.

    To your first and third question, doing an import/export/promote (or just import from your local economy files) will be easily be achieved from the editor or the CLI.

    Visualizing unpublished changes diffing can be done through diffing the files, as they can be treated as regular configuration files.

    Reuseable item templates can easily be achived by having a file you copy-paste around and tweak, though we're definitely interested in the use-case, as we might learn how to improve tooling from this.

    The reason we're picking files for this is simply that it also enables things like versioning code along side configuration in your version control, rollback, etc, and a more native coupling with the editor.