It’s worth saying it may not be as bad as it first appears (can’t test because servers are down) but the verse does still compile even with the scary error message.
A while ago I was commenting with someone about how getting agent name is inconsistent with other APIs after we received the description_component.
I was expecting something like this yo be consistent now that we have the component:
(This is not a confirmation, just how I expect it to work on a consistent environment based on other existing API usages)
MessageFromAgent<public>(Agent:agent)<reads>:message =
Agent.GetComponent[description_component].Name or Err("did you accidentally the component?")
# Ex. When an annonymous player left the experience and you try to query it later
Loc_Common_UnknownAgent<public><localizes> : message = "Unknown Player"
Loc_Common_AnnonymousAgent<public><localizes>(PlayerIndex:int)<computes> : message = "Annonymous Player {PlayerIndex}"
MakeAnnonymousPlayerName<public>(Agent:agent):message =
PlayerIndex := Agent.GetPlayspaceForEntity[].GetParticipants().Find[Agent] or (return Loc_Common_UnknownAgent)
Loc_Common_AnnonymousAgent(PlayerIndex)
MakeLocalizableValue<public>(Agent:agent):message =
Agent.GetComponent[description_component].Name or MakeAnnonymousPlayerName(Agent)
Then for example:
description_component on pawn = skin/animal name (Boar, Fishstick, Jonesy)
description_component on agent = player/npc name (Sprintermax, Ninja, MyPersonaNPC)
not in case.
i tried to use this code
ToMessage(Agent : agent): message = Agent.GetComponent[description_component].Name or Err(“did you accidentally the component?”) and all seems to be back right
That was a suggestion from me about usage of description component to retrieve player name (since now we have it). This to be more consistent with other places where it is already being used, such as NPCs, Persona Devices, Wildlife, Test Players and so on…
It is not currently being used and we don’t even know if it will ever become a thing. Is just how I wanted to have it (since now we have that component, before we did not have it…)
The current method of just MessageFromAgent<public><localizes>(Agent:agent):message = "{Agent}" is still the correct approach to get player name.
The errors shown on the the VSCode from Verse LSP is just a visual error, code still compiles and work fine
Since 40.40, VSCode/LSP now reports errors on these systems, and in some cases player names appear blank inside Verse UI or billboard text.
This is a major issue for RP and management maps because displaying Fortnite usernames inside custom Verse UI is essential for many gameplay systems.
The player_reference_device still displays names correctly, so the data obviously still exists internally, but Verse UI currently behaves inconsistently with localized agent/player names.
Please either:
restore stable support for localized player names in Verse UI/billboards,
or provide an official replacement API for safely displaying Fortnite usernames in custom UI systems.