How to change a material and watch the change in dedicated server?

I just did a dedicated server, but when I open a clien window, and change the material of a mesh, I can’t see the change in other multiplayer windows.

It seems to be that I just can see the player moving around the scene, from different windows, but can’t interact with the enviroment.

Am I missing something?

Does the player have authority over the actor that has the mesh you are trying to change the material? Do you replicate that mesh? How do you change the material on the mesh? C++, BP?

Set the authority into a player? I don’t know how to do that. Please if you have a link or documentation I will appreciate it very much

These are my images, they are very single:

134866-changingmaterial.png

I’m using blueprints.

Thank you in advance!!

Ok, I did some research, is like I would need to set the authority in some place, but I can’t find how to set this grant into the level or player…

In multiplayer the server has authority over all replicated actors except for Player pawns. Each player has authority over its own pawn. When you create an actor from code running on the client that object will be local, that means that other players wont see it, not even the server. If you want an actor to be seen by all players you need to spawn it server-side (and it needs to be a replicated actor). If you want to change the material, call a Client->Server RPC (client to server function) from the client that will run on the server. When you change the material from the mesh running code on the server other players will see it, otherwise they wont. Networking is very complex, I’m still struggling to make an inventory system work in multiplayer in C++. Btw, sorry if I made grammar mistakes, my main language is not english and I don’t have the english dictionary installed on this browser :p.

Thank you ItsaMeTuni, I’ll start doing some research about what you said, so I want to mark your answer as correct but I think you post just comment, please post an answer for mark it.

Thanks again!!

In multiplayer the server has authority over all replicated actors except for Player pawns. Each player has authority over its own pawn. When you create an actor from code running on the client that object will be local, that means that other players wont see it, not even the server. If you want an actor to be seen by all players you need to spawn it server-side (and it needs to be a replicated actor). If you want to change the material, call a Client->Server RPC (client to server function) from the client that will run on the server. When you change the material from the mesh running code on the server other players will see it, otherwise they wont. Networking is very complex, I’m still struggling to make an inventory system work in multiplayer in C++. Btw, sorry if I made grammar mistakes, my main language is not english and I don’t have the english dictionary installed on this browser :p.

Hi ItsaMeTuni, it’s me again :stuck_out_tongue:

By following your instructions I could do the following images, I mean, I can run from server and change the material I wanted to. But this is only in editor mode, if I package the project, and run my server shorcut with -log command, the window server obviously doesn’t run and I’m not able to press Z key from client window and change the material.

Do you know what am I missing?

The BP I post is in my levelBluePrint

alt text

134959-video_1492703904.gif