Test Players don't have unique names in Verse when converted to messages

Summary

When using Test Players on a project, each test player gets named with “Test Player {X}”, where X represents the number/ID of that test player, whish is unique and used as identification to differentiate one for other.

This name is consistent and is displayed correctly each individual name on Scoreboards, Team Name Plates and when using devices such as Player Marker, HUD Message Device, Player Reference and Message Feed Device.

But, when using on verse, every Test Player gets the same name “Unnamed Pawn”, instead of the expected “Test Player {X}”. This is bad because we can’t differentiate one Test Player from another since their names does not get properly shown, which may be needed to debug and test gameplay logic on a project.

Please select what you are reporting on:

Verse

What Type of Bug are you experiencing?

Other

Steps to Reproduce

1- Enable Test Players on any project and set the test players count to two or more
2- Place the following device on the project, it has basic logic to display a list of names of players on the map:

using. /Fortnite.com/Devices
using. /Verse.org/Simulation

# Utility method to cast agent type to a message with that agent's name
GetParticipantNameMessage<localizes>(Participant:agent):message = "{Participant}"

player_print_device := class(creative_device) {

    OnBegin<override>()<suspends>:void = {
        # Small sleep to make sure every test player is spawned
        Sleep(3.0)
        
        # Gets all participants from map (this includes real players and test players)
        Participants := GetPlayspace().GetParticipants()

        # Get and print the name of each participant on top left of the screen (including both real and test players)
        for (Participant : Participants) {
            ParticipantName := GetParticipantNameMessage(Participant)
            Print(ParticipantName)
        }        
    }
}

Note: On this example it is printing the names on the output log to make it very simple to reproduce, but the same wrong behavior can be seen when using the Test Player Names on other places such as widget text_blocks TextBlock.SetText(ParticipantName), or using the message on several other device APIs such as HUDMessage.Show(SomePlayer, ParticipantName)

Expected Result

Test Players should display unique names as expected on Verse Messages to be coherent across other places such as Scoreboard, Name Plates and Creative 1.0 Devices

Observed Result

Test Players does not display unique names on Verse Messages, they instead share the same “Unnamed Pawn” naming without context for differentiation

Platform(s)

Windows
Console
Mobile

Upload an image


Additional Notes

I noted that the wrong Test Players names from verse messages gets affected by translation/localization settings of the project, but the correct names are not affected by translation. I don’t know if this may affect the internal behavior of how it works or if is important to help locating the cause and a fix for this issue, but this is how is displayed when using Portuguese translation for example (also shown on one of the attached images):

Correct Names:
Test Player {X} -> Test Player {X} (Does not get translated, which is expected)

Incorrect Names:
Unnamed Pawn -> Peão Sem Nome (Affected by translation for some reason)

FORT-874427 has been added to our ‘To Do’ list. Someone’s been assigned this task.