Profiles & User Properties¶
Profiles¶
Profiles introduce a dedicated section for creating and managing user profiles within Balancy.

Creating a structured, singular profile for each user is advised to house all necessary data efficiently. This organization is crucial for maintaining well-structured data, crucial for game development and operations.
Creating Profiles¶
- Unlimited Profiles: While Balancy allows the creation of unlimited profiles, a single, well-structured profile per user is recommended for simplicity and efficiency.
- Data Types Supported: Supports all primitive data types (string, int, float, etc.), lists, and Data. "Data" refers to your custom Template with its own parameters, facilitating organized data management beyond simple key-value pairs.
Technical Limitations¶
- First Layer Restrictions: Primitive data types cannot be added directly to the first layer of your Profile; only Data parameters are permitted here.
- Data Size Limit: Each Data parameter, including all its nested parameters, must not exceed 150Kb. This constraint is particularly important to consider for parameters storing lengthy strings.
Best Practices for Profiles¶
Profiles are pivotal for storing comprehensive player progress and data. To optimize profile utility and efficiency:
- Data Segmentation: Segregate stored parameters by their relevance and function. For instance, your profile might categorize data into
QuestsProgress,GeneralInfo,Characters,Scenario,Level, etc. - Meaningful Organization: Structure your profiles to reflect the game's data architecture, enhancing clarity and accessibility of player information.
By adhering to these guidelines, you can leverage profiles to maintain a detailed, organized repository of player progress and preferences, facilitating smoother game development and player data management.
Visual Scripting¶
When you specify a profile, you can use it in Visual Scripting. For example, you can store the player's level, gold coins, attribution campaign, etc... in the profile and then use that data to segment players and decide which Offer you want to give to the player.

- Wait Node awaits until the specified field in the profile reaches a specific value. For example, Gems > 33.
- Get Profile Value returns the value of the specified field. For example, Level or Gems.
- Set Profile Value changes the specified field's value in the profile.
Conditions¶
You can use the profile's parameters (aka User properties) in the conditions. For example, you can launch an event only for players who have at least 1000 Gems:

Monitoring & Editing¶
Work-In-Progress
This feature is work-in-progress and may have missing/broken features.
Currently Balancy allows to check user properties via User Profiles page. A user can be searched for by UserID, DeviceID, Username, and NutakuID. Make sure to select the correct environment where the user exists.

Editing is possible only for primitive type parameters (integers, booleans, strings, etc.) and save changes.
No deployment required. Changes are applied immediately to cloud profile after pressing Save button. User must be offline, so they will not interfere from the client side.
Editing complex structures such as Active Offers or Active Events or Inventory - is still not allowed yet.

Integration¶
It would be best to load the player's profile to make operations with it. Remember to Generate code.
Read how to get access to the profiles here.
- Local data is saved every 5 seconds
- Cloud data is saved every 20 seconds
If no data was changed, save is not called.
If the game is launched offline, Balancy uses the local profile even if it's the first launch. Balancy automatically synchronise local profile with the cloud one after the connection is restored.
User Properties¶
User Properties allow you to store specific parameters for each player, aiding in audience segmentation, triggering Game Events, and customizing game logic with Scripts.
Setting Up User Properties¶
- For a new Condition, opt for User Property ► Primitive or User Property ► In Range:

- Pick a property, like Level, for example:

- Determine the comparator and state the comparative value:

Leverage User Properties with Scripts for reading and setting values, adapting game dynamics, and more.

Example: Adjust game difficulty when a player loses three times in a row. Here, Lose Streak and Difficulty are tailored properties for the specific game.

Types of User Properties¶
User Properties come in three kinds:
- Automatically tracked built-in properties by Balancy.
- Manual setup required built-in properties by Balancy.
- Developer-defined and managed custom properties.
Built-in properties¶
Automatically tracked are read-only. For others, a manual setup is essential.
Find the full list here.