Replicating changes to a dynamic material instance for one specific player?

Hello! I have a bit of an odd situation that I’m not sure how to approach.

I wish to replicate parameter value changes in a dynamic material instance, but I want the change to only affect the player that requested the change (so if player A changes to red, both players can see that A changed to red, but player B retains their original colour since they didn’t request to change).

So far, my best result has been getting changes to show up locally for one client. I can’t get it to replicate at all, let alone replicating with a target player.

Here is how I create the dynamic material instances:

I’ve tried three approaches, all of which have failed:

  1. I tried replicating the material array and setting the changes locally.
  2. I tried setting the changes via a server RPC since the pawn is replicated.
  3. I tried using a server → multicast RPC.

And here is how I change the params, the stuff that triggers the for loop is either an RPC custom event or a connection directly from the client based on which test it was.

I would be very appreciative of any advice. Thank you!

Fixed! I replaced the dynamic material instance with a very large amount of pre-made material instances, then just used good old set texture over a multicast RPC.

This whole dynamic material stuff is just too hard for a nincompoop like me, giving up and using a worse solution (though it probably runs better LOL!) is the way to go.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.