Evidence management
Important: When using the Vivox Channel Cache in the Moderation Unreal Module, all Vivox AccountIDs and ChannelIDs must be constructed with the Environment ID of the Unity Cloud Project passed into the unityEnvironmentID param. The following is an example of the format to follow:
AccountId(<Issuer>, <Name>, <Domain>,TOptional<FString>(), TOptional<TArray<FString>>(), <UnityEnvironmentId>)
ChannelId(<Issuer>, <Name>, <Domain>, ChannelType::NonPositional, Channel3DProperties(), <UnityEnvironmentId>);
When using the Vivox Unreal Module, the SDK automatically includes the list of channels the reporter and reported players are part of. As well as the list of extra players who were part of those channels.
This information is used to add details to the evidence in the report. The extra players' tracks will be included in the Safe Voice screenings and each channel in the channel list will be screened.
To ensure the voice sessions are captured and analyzed by Safe Voice, ensure your players have provided consent.
To begin the Vivox Channel Cache, pass the AccountId of the current LoginSession to UModerationSubsystem::BeginVivoxCache(AccountId accountIdToCache)
.
ModerationSubsystem->BeginVivoxCache(UserAccountId);
Note: If the AccountId is not included to identify the LoginSession, the Moderation Subsystem will search for an active LoginSession to cache, prioritizing those that are currently LoggedIn.
To better control the report context, you can alter the list of channels and players included in the report before it's sent.
FReport report = ModerationClient->GetReport(ReportedPlayerUASId, reportReason);
for (const TPair<ChannelId, TArray<AccountId>>& pair : report.VivoxChannels) {
//Perform logic on a per-channel basis here, with the Value of each Key being the array of AccountId's of the channel Participants over the period of the cache.
}
Note: Channels and players are automatically cached for 45 minutes, this is the maximum time Safe Voice can go back in time to screen.