Unity Analytics clientVersion changed after RemoteConfigService.Instance.FetchConfigs

I found a strange problem that changed clientVersion after called RemoteConfigService.Instance.FetchConfigs.

First, when after UnityService initialized, clientVersion is right.
8772241--1190230--upload_2023-2-1_14-56-27.png

8772241--1190227--upload_2023-2-1_14-55-42.jpg

But, after then I called RemoteConfigSerivce.Instance.FetchConfigs.

8772241--1190233--upload_2023-2-1_14-57-43.png
8772241--1190239--upload_2023-2-1_15-1-5.jpg
After that, All my custom events clientVersion reported with changed (3.1.3+RCR).

I was initialize UnityService with our custom userId after our server login like this:

var options = new InitializationOptions();
options.SetOption("com.unity.services.core.environment-name", GetCurrentEnvironment());
options.SetOption("com.unity.services.core.analytics-user-id", userId);
await UnityServices.InitializeAsync(options);

And then called RemoteConfig fetch.

if (!AuthenticationService.Instance.IsSignedIn)
{
    await AuthenticationService.Instance.SignInAnonymouslyAsync();
}
RemoteConfigService.Instance.FetchConfigs(new userAttributes(), new appAttributes());

I'm using Unity 2020.3.40f1, and tested Remote Config 3.1.3 and 3.3.1. Also, tested with/without ENABLE_CLOUD_SERVICES_ANALYTICS define. All result are same.

I setup Game Override with all Existing Players audience. So that I guess that above Unity internal event "userAssignment" is triggered when user assigned my Game Override campaign. ("userAssignment" event automatically assigns a player to a campaign for reporting.)

Finally, there is hardly defined pluginVersion "3.1.3" in the com.unity.remote-config-runtime ConfigManagerImpl.cs. And int the constructor, RemoteConfigRequest created with this code(there is similar code in the ConfigManagerImpl2x.cs too):

_remoteConfigRequest = new RemoteConfigRequest
{
    projectId = Application.cloudProjectId ?? "",
    userId = "",
    isDebugBuild = Debug.isDebugBuild,
    configType = "",
    playerId = "",
    analyticsUserId = "",
    configAssignmentHash = null,
    packageVersion = pluginVersion + "+RCR",
    originService = originService,
};

Because the client version of "3.1.3+RCR" is very peculiar, I guessed that the problem might have something to do with this code, but I couldn't find anything more that I could do.

Thanks for reading my long post:)

Hi aronze_unity,

Thanks for reaching out! This is an incredibly detailed bug report, we REALLY appreciate that. You've identified a known issue that is being worked on as we speak. As you've mentioned, the userAssignment event is sending the wrong clientVersion value. It should be the Application Version, however, it is sending the Remote Config package version.

Please keep 'em coming I can't get enough of amazing posts like this. Thanks!

Best,
Randy

Hi again aronze_unity,

The issue regarding the clientVersion for userAssignment events has been fixed. Please let me know if you still see the issue occurring!

Best,
Randy