Gameplay Ability System - Sanity Check

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 :stuck_out_tongue:

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!

Wondering the same exact thing. Replying for moral support and in hopes that someone provides an answer :frowning:

Yes GAS works on the network but it is probably not the way described above. Attributes and tags are replicated and Gameplay Cues are started based on that.

If you are still looking for resources on GAS I would suggest you read Tranek’s GAS Documentation