Verse UI - How to convert strings from exposed properties into messages, to use with SetText()?

It might be because of this line that it needs the “decides”, which basically means it could fail, so check first. Try this:

if (NewCanvas := MakeCanvas()):
    myPlayerUI.AddWidget(NewCanvas, player_ui_slot{InputMode := ui_input_mode.All})
    set Canvas = option{NewCanvas}