I’ve been looking at the anim montage code in gameplay abilities and noticed the system is really only built for playing a single montage on the main actor. All the internal data structures and function handle the single montage.
I’m hoping to be able to play as many montages as I want on the current actor and any other anim instances. For example if my character is dual wielding guns, I want to play a montage for the right arm and the left arm independently. Nothing about the animation system itself prevents you from playing multiple montages on a single anim instance. Montages can have different slots and they all play out just fine. Also I want to play montages on the weapon mesh and any other meshes that may be attached.
I really want to avoid having to have a separate gameplay ability component per anim montage slot or actor.
I currently have a state machine system already built that allows me to do all of this, only none of it is built for replicating, so I’m interested in switching that out for gameplay abilities. I’ve previously built this system using gameplay abilities already so I know it’s possible, but then switched over to another system, and then back to my old simple state machine system and figure out replication later. But there’s already so much replication built into GAS.
In the past I actually had a gameplay ability component for each actor that needed anim montages to play, but then I had to somehow synchronize all of these gameplay abilities which became a nightmare and why I switched off of GAS. Now I’m thinking about revisiting this and possibly doing some rewrites? Like the gameplay ability system component needs to be rewritten to support a collection of FGameplayAbilityRepAnimMontages like it does for gameplay cues and effects.
Hey, sorry for necroposting but I’m researching exactly the same issue and google led me to this thread.
Basically what I want to have is the – well – ability to play replicated montages on different meshes that belong to the character. Have you maybe found out a solution to your problem?
I also wonder if you might have seen the implementation from the GASShooter where they state:
Play replicated montages on multiple Skeletal Mesh Components belonging to the AvatarActor in an ability
The relevant source code is here:
and here downwards:
However I didn’t manage to make it work. The montage gets replicated only on the first execution and afterwards doesn’t get replicated to simulated proxies.
I didn’t solve the issue and am not using GAS at all at the moment. I had this state machine system I wrote way back in the day in versions of the engine before GAS was a thing and am just using that. It’s similar to the states in the Unreal Tournament source code except I don’t have replication. Not sure yet how I will handle multiplayer later. I did hear they might do an overhaul of GAS later.