Packages¶
Balancy has packages/templates system similar to same systems on other platforms (e.g. Unity packages system). It allows you to install existing public packages and templates made by Balancy team or create your own private packages for internal use.
The most known and used public packages are LiveOps package and Starter Kit package. It allows you to use [additional features] like segmentation, A/B Tests, game events, etc.
Private Packages¶
All packages created by our clients are Private by default. They are not visible to other clients.
Publisher Packages¶
In case of using our Publisher Account feature, all packages created inside the publisher will be visible to all projects of the publisher, depending on permissions set up for publisher members.
Creating Packages¶
You can create your own packages to use them in your projects. Open Packages page from Project Settings menu, go to the Manage tab and press + Create button.

After that choose the name to create a new package. Icon and description can be added later.
Leave package type as "Template" in the right corner.

Now you can choose, which parts of this project are going to this package. You can pick templates and their docs, enums.

For templates, you can choose documents to include to this package. For example, you want to include some basic items, which will be used in all your projects.

Some things to keep in mind:
- When you pick templates, don't forget to choose all related templates. In our example Item template has param of Position type. To work as intended you have to select Position template also.
- Pay attention to template flags. Static on clone specifically. If this flag is set, the template, and it's params will be updated/replaced on each package update in target project where you install this package.
- When you include template documents keep in mind that they will be installed only once. If you make an update in these docs and publish new package version, when you update this package in a target project, those changes will be not applied.
- If you include document, but after package installation delete it in a target project, this document will be added again on next package update.
Don't forget to press save after changes made. When you are ready, press publish to release a new package version. Now you are able to install/update this package in your other projects.
Package Installation¶
In your other projects you will see this package in the list in Private tab and will be able to install it.
Only the owner of the private package can install it into another projects, where this person should be a member.

After installation all templates, assets and documents from the package will be put into your project.

Dependencies¶
In some cases you want to use or depend on items from another packages. Typical use case: basic segments, which you want to use in all your projects.
In this case you can choose LiveOps (or other packages) in the Dependencies section.

If so, you will have to install those dependencies in your projects before installing the package.
LiveOps Package Dependency¶
You can use LiveOps package as a dependency. In this case you will be able to include your own script into the package. For example, it's very useful to add some common Scripts to share between your own projects.
You can select Scripts by clicking Items button opposite to LiveOps dependency.

In the opened modal window chose your Scripts.

Pay attention to Scripts flags. By default, there are no flags selected. This means, that your Script will be installed once, and will not be updated if you install new package version with changed Scripts.
If you need your Script to be updated with package update, set Static On Clone flag.
Script flags
When you update package in your project, all Scripts with Static On Clone flag set will be replaced with a new version. All you changes in these scripts will be lost. We recommend you to set this flag only for common scripts, which should be in sync among all projects.
You probably are going to use references to another items from your project: templates, documents (when you use Activate Offer Node), Smart Objects (when you use Wait User Property node). Don't forget to include all these items into the package.
Deleting Packages¶
You can delete package from your project. In this case all resources, templates, documents and other items will be deleted and the package itself will be removed from the installed packages list.