Verse error

using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/UI }
using { /Verse.org/Colors }
using { /Fortnite.com/UI }
using { /UnrealEngine.com/Temporary/SpatialMath }

Helper function to convert string to message

StringToMessage(InString: string) : message = “{InString}”

vault_room_manager := class(creative_device):

@editable
VaultBarrier : barrier_device = barrier_device {}

@editable
OpenVaultTimer : timer_device = timer_device {}

@editable
CloseVaultTimer : timer_device = timer_device {}

var ActivePlayers : [player]logic = map{}

var OpenVaultTimerText : ?text_block = false
var CloseVaultTimerText : ?text_block = false

# Runs when the device is started in a running game
OnBegin<override>()<suspends>:void=
    # TODO: Replace this with your code
    OpenVaultTimer.SuccessEvent.Subscribe(ONOpenVaultTimerComplete)
    CloseVaultTimer.SuccessEvent.Subscribe(ONCloseVaultTimerComplete)

    GetPlayspace().PlayerAddedEvent().Subscribe(OnPlayerAdded)
    for (Player : GetPlayspace().GetPlayers()):
        if (PlayerUI := GetPlayerUI[Player]):
            CreateOpenVaultTimerHUD(PlayerUI)
            CreateCloseVaultTimerHUD(PlayerUI)
            OnPlayerAdded(Player)

CreateOpenVaultTimerHUD(PlayerUI : player_ui) : void =
    OpenVaultText := text_block{
        DefaultText := StringToMessage("Open Vault Timer: 00:00"),
        DefaultTextColor := NamedColors.White,
        DefaultJustification := text_justification.Left
    }
    set OpenVaultTimerText = option{OpenVaultText}

    OpenVaultSlot := player_ui_slot{
        ZOrder := 0
    }
    PlayerUI.AddWidget(OpenVaultText, OpenVaultSlot)

CreateCloseVaultTimerHUD(PlayerUI : player_ui) : void =
    CloseVaultText := text_block{
        DefaultText := StringToMessage("Close Vault Timer: 00:00"),
        DefaultTextColor := NamedColors.White,
        DefaultJustification := text_justification.Left
    }
    set CloseVaultTimerText = option{CloseVaultText}

    CloseVaultSlot := player_ui_slot{
        ZOrder := 0
    }
    PlayerUI.AddWidget(CloseVaultText, CloseVaultSlot)

UpdateTimerText(TimerText : text_block, TimeRemaining : float) : void =
    if (Minutes := Floor[TimeRemaining / 60.0]):
        if (Seconds := Floor[TimeRemaining - (Minutes * 60.0)]):
            TimerText.SetText(StringToMessage("{Minutes}:{Seconds}"))

OnPlayerAdded(Player : player) : void =
    if (set ActivePlayers[Player] = true):
        StartOpenVaultTimer(Player)

StartOpenVaultTimer(Player : player) : void =
    if (ActivePlayers[Player]):
        OpenVaultTimer.Start(Player)

StartCloseVaultTimer(Player : player) : void =
    if (ActivePlayers[Player]):
        CloseVaultTimer.Start(Player)

ONOpenVaultTimerComplete(Agent : ?agent) : void =
    if (Player := player[Agent?]):
        VaultBarrier.Disable()
        StartCloseVaultTimer(Player)
    if (Text := OpenVaultTimerText?):
        Text.SetText(StringToMessage("Vault Opened!"))

ONCloseVaultTimerComplete(Agent : ?agent) : void =
    if (Player := player[Agent?]):
        VaultBarrier.Enable()
        StartOpenVaultTimer(Player)
    if (Text := CloseVaultTimerText?):
        Text.SetText(StringToMessage("Vault Closed!"))

OnPlayerRemoved(Player : player) : void =
    if (set ActivePlayers[Player] = false):
        Print("Stopped tracking player")

I can’t figure out how to fix the StringToMessage errors. If anyone can help I would greatly appreciate it

You forgot to use the <localizes> attribute.