How to change text of TextRenderActor from map via Widget?

How to change text of the TextRenderActor from MAP via Widget?
i just wanna create big text on the building and client players can change it from game?
its like Building name and player can change building name (label).

image

From the widget, you can get input and feed it to this node. Let me know if you need more help, its pretty easy to do.

1 Like

its like Building on top of the Building and user can change it from their own widget?

Yeah I understand what you mean. It’s simple, I’d go about it like this:



Not the best way to do it, especially if there will be multiple text render actors however it’s a simple way to achieve what you’d like. You can improve on it a lot. Just try to understand the logic and workflow when communicating with actors from blueprint.

1 Like

thank you its works on single player. but for dedicated server and clients model its not working. Other players can’t see changes. i think i need to Multicast to other players. So how to do that?

i tryid this way:

SR_Ganbaa is:
image

CL_Ganbaa is:
image

but its not replicating

I understand. Double check to see if your TextRender actor is replicating itself.
image

Here is how I do it in my project:

BTW where are you calling these events? Widgets are client only so I’d suggest handling it from the controller. For example from your widget, you can call a normal custom event in the player controller when the name is set, which will go and call a server event, which will then do the multicast.

I did something simple in my project without the widget part, but it’s possible!

1 Like

this is my widget:

this is my TextRenderActorBP:

this is my PlayerController:

this is my GameMode:

if you zoom in your browser then you can see it clearly
where i lost?
please help me

Hmm. I believe GetActorOfClass won’t be good for multiplayer unless there will be just one home/building. What I would do if I were you, I would spawn the text render actor from the controller, then feed the text to it, and get a reference to it while doing that for future use. So:

TextRender actor:


Player controller:

Widget:

Final result:

sorry i don’t know this part. how to get this part?
i don’t know how to cast like that

image

its not regular player controller casting right?
please help me
sorry for inconvenience

Hey, no worries, you have to cast to the player controller you are using. You can check it from your game mode or world settings. I believe in your case it’s “BPController”. Just cast to that.

i did like that and its working like you.
thank you

but text how to change “Building No.9” name?
i think your version creates every user text but i want to change Buiding name “Building No.9” only.
please help me

maybe its stupid question but i confused on it :pray:

If there is going to be just one text render actor, you can use get actor of class instead of spawning and using the same logic change it’s text. However if each player will have their own building names you can just spawn the names whenever / wherever you want. Sorry it’s very late here I’ll help tomorrow if you cannot solve it, but answer is in this post!

ok thank you. i’m testing now.

this is not working

@isikdev thank you i did it by using timer. maybe its bad idea please check it:

TextRenderActor:

PlayerController:

Widget: