[Blueprint Graphs] Dynamically Changing Value not Translating to Dedicated Servers

I am setting “Required Level to Access” to a certain value in a Supply Drop’s Blueprint Graph. It is working perfectly in the mod environment and also in single player. It does not work on live servers. Anyone have an idea on how to fix this? Other values are changing fine within the Supply Drop Structure.

Respectfully,

-RR

Edit: I have put a delay between Event On Spawning In and Switch Has Autority. I have also tried a custom event “On Server” to call the set node.

I believe you are dealing with the problem of replication. Looks like the server and each client have their own version of the variable “Required Level To Access” so what you are doing there is changing it only for the server (Authority) and not on the clients (Remote). Some variables are replicated while others are not in ARK and the way you find out which is which is watching the mod fail in multiplayer. Then you know it’s not replicated.

Attached below is a picture of how I deal with it, but my variable is a boolean while yours is an int so adapt it to your variable type.

Here is a rundown if the picture doesn’t make enough sense but look at the picture first because the text itself might not make sense:

  1. Create a new variable of the same type as the one you are changing (yours is int). Set the replication of your variable to “Replicated”, that way when the value is changed on the server, it is changed for all clients (and new clients will get the up to date value)

  2. Set the value of your new variable to the value that you would have given to your actual variable. So in your case, set it’s value between the the second to last and last code blocks.

  3. Set the value of the actual variable you want to change to the value of your new variable.

  4. On the client, just set the value of the variable you want to change to the value of your replicated variable.

For Your Case) Since your value only gets changed if that first boolean is true, I’d create a second replicated boolean variable and set that to the value you get from “Get Bool Option Ini” so right before that branch that goes to the next “Get Int Option Ini”. Then in the client, create a branch to only set the value of the variable to the replicated variable’s value if the boolean replicated variable’s value is true, otherwise do nothing.