So i been trying to make a character selection screen and no matter what i do the client is not sending any information to the server so it ends up not updating at all,yes i am using RPCs and have all the right things “replicated”, i tried the same exact setup on a new project and it worked just fine so naturally i made a new project and migrated my files there incase it’s the the project settings (which i haven’t even changed) but still it didn’t work.
the workflow goes as following:
the widget sends the choice ID to the player controller
the controller switches the ID depending on what you pick, then when you get the confirm button in the widget (until here it works fine as it’s all local) then the controller sends the ID to the Server through the GameMode BP (that fails on the client - on the faulty version)
as you see i am using an RPC so even if the client doesn’t have access to change anything it should be able to send the info i need to the server
Then the Gamemode spawns the character with the information relied from each controller seperately (the character does spawn and is possessed by the right controller) but the ID fails to get through to it
then with that information the Character changes its mesh on beginplay
just to save some time for whoever will be generous enough to help
i did waste a lot of time trying the elimination process:
- Controller:it’s not that i tried a different controller (and yes has replication on)
- character:tried different Pawn BPs (and yes has replication on )
- widget: i cant even see how it would be the problem but i still tried different widget BPs
- Gamemode: tried that too
- project: as mentioned in the start of the question
also i would like to add a note : it’s not just that which is not replicating from the client…everything the client does (except for movement) is not being sent to the server even with RPCs.
whoever out there who will have it in them to solve this issue will have my gratitude forever…i squeezed my brain for 72 hours straight to get this thing working and it was just a dead end.