Setup Custom Montages
Last updated
Was this helpful?
Last updated
Was this helpful?
Animation Montages are crucial in Soulslike Framework for handling actions like attacks, dodging, weapon abilities & interactions. They allow you to play animations dynamically while also triggering gameplay events using Notify States.
Animation Notifies and Animation Notify States are powerful tools designed to synchronize animations with gameplay systems. They enable seamless integration with the framework’s core systems, such as combat & visual feedback.
Soulslike Framework comes equipped with various Animation Notifies & Animation Notify States for you to use out of the box.
Let's start simple. Locate your relevant multi-directional dodging/rolling animations.
Ensure that you are working with Root Motion animations.
Open up your Animation asset and ensure "Enable Root Motion" is ticked and that the root motion is working correctly.
Right-click the relevant animation asset and select to Create -> Create AnimMontage to create your Animation Montage.
Adjust the start/end of the Notify State accordingly.
Start: Input is queued in the Input Buffer to avoid interrupting the animation.
End: Input is enabled, allowing the player to seamlessly transition to the next action.
Start: Player will become invincible to all damaging attacks.
End: Invincibility window finished, player can be damaged by attacks.
(Optional) You can also add a new notify track and add the Unreal-provided "Disable Root Motion" Notify State to disable root motion temporarily. This Notify State is particularly useful when you want the player to have periodical freedom from Root Motion locking. You can check out some of the provided montages to see how we've utilized it.
Create rest of your dodging montages similarly.
Soulslike Framework handles combo's through the Montage Section system provided by Unreal Engine. Luckily, it is very easy to work with. Lets see how we can create new combo's below.
In this example, we'll be creating a Light attack combo for a weapon with the Light Sword animset:
Create a montage from the First attack animation/sequence.
Drag and Drop rest of the sequences to the Montage Track:
After you're done, your Montage Track should look like this:
Right click the Montage Track (above the sequences) and add Montage Sections at the start of each sequence.
For a light attack combo, use the following naming for the sections
"Light_01" -> "Light_02", etc.
For a heavy attack combo, use the following naming for the sections
"Heavy_01" -> "Heavy_02" etc.
After you're done, ensure that all chains/links are cleared in the Montage Sections tab. If you do not have this tab, you can open it from Window -> Montage Sections.
We can add another Notify Track and add the Disable Root Motion Notify State to allow player to move minimally at the start of the attacks. This will also allow the player to rotate quickly at the start of each section.
That is it for the fundamental notifies. Rest is up to your liking! Here's an example on what notifies could be added furthermore:
Open up the newly created Animation Montage asset. Now we must utilize one of your Animation Notify States to ensure that this montage is compatible with the Input Buffer. Right-click the Notifies Track and add new Notify State -> ANS_InputBuffer.
Add a new notify track and similarly add the ANS_InvincibilityFrame Notify State.
(Optional) Add a new notify track and add the AN_TryGuard notify. This notify will check if player wants to "guard" at that specific time.
Now, the framework has complete control over this montage. However we will need to setup necessary Anim Notifies to get our new combo montage working. Head into the first Notify Track (1) and add a new Notify State -> ANS_RegisterAttackSequence. Add this Notify State to each section and ensure that the Queued Section is set correctly.
Add a new Notify Track and add the ANS_InputBuffer Notify State so that the montage can communicate with the Input Buffer component. This Anim Notify will enable/disable input detection.
Lets add another Notify Track and add the Notify AN_InterruptMontage. Place it somewhere before the blend-out stage of the attack sequence. You can tweak the Blend Out Duration to your liking per notify. This Notify allows the user to break out of the blend-out part of an attack animation.
Add yet another Notify Track and add the Notify AN_TryGuard. Place it somewhere after the Input Buffer Notify State. This notify will ensure that player can go back to the Guarding state if they're trying to guard (holding the guarding key).
Finally, lets add our Notify State responsible for weapon tracing. Add another Notify Track and add the ANS_WeaponTrace Notify State. Ensure that TraceType is set correctly relevant to your animation.
For more information about the provided notifies, you can check out
Now, how do we utilize these new montages?