Skip to Content
Unity SDKAPIExperiments

Experiments

This API is used to read the experiments the local user is currently enrolled in.

For more information about Experiments, visit the Experiments Guide.

Enrollment happens automatically: fetching a configuration evaluates active experiments for the local user, and the values returned by the Configs service already include the assigned group’s changes. This service exists for display, analytics segmentation, and debugging.

var gamebeastExperiments = GamebeastSdk.Experiments;

Types

ExperimentAssignment

public sealed class ExperimentAssignment { public long ExperimentId; public string ExperimentName; // The name of the experiment. Null until the experiment catalog has loaded. public long GroupId; public string GroupLabel; // The label of the assigned group. Null until the experiment catalog has loaded. public string ConfigurationAlias; // The alias of the configuration the experiment applies to. public string Source; // "weightedHash", "roundRobin" or "manual". }

Assignments

→ IReadOnlyList<ExperimentAssignment>

This property contains the local user’s active experiment assignments across all fetched configurations. It is empty until the first configuration has been fetched.

Usage

foreach (var assignment in gamebeastExperiments.Assignments) { Debug.Log($"User is in group {assignment.GroupLabel} of experiment {assignment.ExperimentName}"); }

OnAssignmentsChanged(callback)

→ IDisposable

This callback is triggered with the full assignment list whenever it changes, including when experiment names finish resolving.

callback

Action<IReadOnlyList<ExperimentAssignment>>

The callback function to be invoked when the assignments change. The updated assignment list is passed as a parameter to the callback.

Usage

gamebeastExperiments.OnAssignmentsChanged(assignments => { Debug.Log($"User is now in {assignments.Count} experiment(s)."); });