Skip to main content
M
16d ago

Difficulty Setting Text at Runtime in Unreal Engine

I am trying to change a text run in a nested artboard at runtime in Unreal Engine and cannot seem to get it to work. I get the following error when I run my level despite following the documentation closely:


"Blueprint Runtime Error: Accessed None trying to read property CallFunc_GetArtboard_ReturnValue. Node: Set Text Value at Path"

Following the guide in the documentation, I have set the "Export Name" flag in the Rive editor on the text run I wish to change and have also given it a unique name. This text run lives in a nested artboard called "Background_UI" in my main artboard that I export.

After successfully importing the .riv file into Unreal I dive into the Rive Widget Blueprint and set the rive widget to "isVariable" so I can access it in the blueprint graph. In the blueprint graph I take that reference to the widget, use a "Get Artboard" node to get a ref to the artboard (which is apparently named "RiveArtboard_0" as reported by a Print String node), and I plug that into a "Set Text Value at Path" node so I can change the text in my nested "Background_UI" artboard. On the "Set Text Value at Path" node I also set the name of my run in the "In Input Name" field and set the text I want to show in the "In Value" field. In the "In Path" field I set a reference to my nested artboard using "RiveArtboard_0/Background_UI". After hitting play I get the error quoted above.

Assuming that the path I used in the "In Path" field to reference my nested artboard is what I am doing incorrect I have tried various ways of trying to reference it but nothing seems to work. If I place some text in the main artboard so it is not nested I am able to change it just fine using the "Set Text Value" node, which indicates I must be doing something wrong with the "Set Text Value at Path" node. The Rive example project for Unreal Engine does not have any examples of this, and I've looked at the Unreal Plugin Text as well as the Text Runtime documentation pages for help setting this up.

I am using Unreal Engine 5.4 with Unreal Rive Plugin V 1.0. My system is running Windows 11.

1 reply
15d ago

I've found that it's best to bind an event to On Rive Ready first and then get your artboard and set the text in the bound event after On Rive Ready fires. This is what it looks like in a widget blueprint:

Bind to On Rive Ready

Create a matching function or event that gets the artboard and sets the text