Hi everyone, it’s been a bit since I’ve posted here, man the site has changed so much, I can’t even find things anymore
Anyways, I wanted to start looking into using the GAS plugin to see if it might be a better tool for scripting all of our gameplay for one of our projects (a multiplayer FPS game).
We’re using Blueprint scripting for now and the Gameplay Ability System plugin. Getting player abiltiies, like jump for example, is pretty easy to setup in a GAS blueprint. However, something that I really need a sanity check on- is if replication actually works in GAS? I have a simple “jump” as a quick test to see if that function will replicate across all clients, but no matter if I tell my GAS bp to replicate, it simply won’t.
Here’s some debugging info from my testing to try to see where I may be introducing user error:
-
as a sanity check, I replicated my player jump (using inherit Jump from character movement component in the character class) the old fashioned way; i.e. custom events, running on server, multicasting, etc.- this works perfectly, and helps set the baseline to rule out the function or setup from being the problem
-
I have a GAS bp with the jump functionality inside it, and I call it from the player pawn when the jump button is hit (using enhanced input system); this works perfectly…if PIE is set to standalone mode or as a listen server
-
as soon as I try to jump with PIE set to client mode, the jump no longer works
-
as an additional sanity check, I’m printing the bool output of the Try Activate Ability function to see if the ability is in fact getting run; and to my surprise, the bool will print as True, so I know the function is running- BUT will not run the logic inside of it, unless…it’s run as a server or standalone…no replication to clients
Has anyone been able to successfully get GAS blueprints to run logic and replicate it correctly across clients in a multiplayer project? I’ve looked all over and can’t find anything, it doesn’t look like a lot of folks are using GAS yet?
Appreciate any help if anyone can chime in, thanks!