Skip to content

Changelog

Quick Icons

For each item in the change sets, a quick icon description can be found:

New Feature | Improvement | Bugfix | Deprecation Warning

Released

Version 1.0.0 - 15/03/2024

  • First release, compatible with Unreal Engine 5.3.

Version 1.2.13 - 01/04/2024

  • Added Poise/Stagger mechanics. Hit Reactions can be "default" and "stagger" reactions.
  • Added a Movement Manager Component. For now, it handles "walking while blocking" and "strafing while locked on target".
  • The default Weapon Manager Component will load weapon actors attached to the owner.
  • The default Weapon Manager Component allows subclasses to access the replicated weapon array.
  • The Target Ability can be activated/deactivated from external events. Activation takes a target Actor in the payload.
  • The Attack Ability provides functions that can be overridden to fine-tune Gameplay Effects and Levels.
  • The Attack Ability automatically sets damage and poise to Gameplay Effects, if interfaces will provide them.
  • Melee and Projectile interfaces can provide their respective Effect Levels.
  • Melee and Projectile interfaces can provide damage and poise consumptions to Gameplay Effects, as "Set By Caller" magnitudes.
  • Updated the Evade Ability to use the new Directional Evade Animation Provider.
  • The Default Weapon Actor replicates its Gameplay Tags.
  • Added a default setting to globally define the Motion Warping setting for Gameplay Abilities.
  • Added a setting to determine the duration of Melee Scan debug information on screen.
  • The Damage Calculation will properly trigger conditional Gameplay Effects, if the damage output is greater than zero.
  • The Combo Manager is properly replicated to better support dedicated server scenarios.

Version 1.2.16 - 04/04/2024

  • Improved flexibility to provide specific projectile classes to the Attack ability (weapon > owner > notify > ability).
  • Modified access to many properties in the base projectile, they are now marked as BlueprintReadWrite.
  • Fixed scenarios where projectiles wouldn't launch correctly without a gameplay effect assigned to them.

Version 1.8.12 - 30/04/2024

  • Added a base Animation Instance class that contains the commonly expected movement values, plus bindings to the Combat System.
  • Introduced the Model-View-View-Model (MVVM) pattern to Combat Widgets. You can learn more about this in the docs.
  • Added a new Damage Handler for Camera Shakes.
  • Added a new Damage Handler for Dissolving Materials.
  • Added Opportunity Abilities (for attackers and victims). It can be used as a base for backstabs, stealth takedowns, ripostes, etc.
  • Added the Parry Component and Animation Notify, which connects to the Opportunity functionality and can be used to create Parry Attacks.
  • Enhanced the Block ability to automate common tasks. For more information please check the Block Ability page.
  • Enhanced the Evade ability to automate common tasks. For more information please check the Evade Ability page.
  • Added lenient test functions for Actor Components that should implement Combat System interfaces.
  • Improved multiple debug messages/ensure/assertions to hopefully facilitate troubleshooting.
  • Added the Dead state tag as a blocker to any applicable Combat Ability and cancelation tags to the Death ability.
  • Improved the Motion Warping System by allowing fine-tuning the target position via Scene Components.
  • Upgraded to Unreal Engine 5.4.
  • Breaker hits won't have the "blocked" tag in their context anymore. This simplifies the setup of Hit Reactions.
  • Fixed the way rotations are set in Hit Reactions, so it can replicate propertly.
  • Fixed a bug where the Death Ability could occasionally raise a scope lock assertion.
  • Added the MinimalAPI class modifier that was missing in some interfaces.
  • Fixed the Damage Handler definition, to support generic Actor Components instead of the specific Damage Manager.

Version 1.11.3 - 21/06/2024

  • Added a configurable reusable Actor to indicate the Target Lock.
  • A flexible Actor Pool, used on Projectiles and Cast actors.
  • A Weapon Manager integrated with the Ninja Inventory/Equipment, usable if Ninja Inventory is detected in the project/engine.
  • Improved the Actor destruction in the Damage Manager, allowing setting a lifespan instead of destroying actors immediately.
  • Added velocity settings for strafing on the Movement Component.
  • Created a schema for Combo Trees, validating the combo context and providing easier access to the Combo Manager (5.4 and above).
  • The Gameplay Effect used to initialize attributes will be removed in favor of the Datatable initialization.

Version 1.12.9 - 27/06/2024

  • Added a Animation Task interface and a base class for common Animation Montages. This simplifies creating taks for other types of animations (i.e. Paper2D).
  • Re-enabled all blueprint activations for combat abilities, with an option to disable them via properties.
  • Renamed UNinjaCombatMontageAbility to UNinjaCombatAnimationAbility. A class redirector was added to avoid issues with Blueprints, but your C++ classes will have to be reparented.
  • Removed the requirement of a UAbilityTask_PlayMontageAndWait in the UNinjaCombatAnimationAbility.
  • Marked the InitializeAnimationTask function from UNinjaCombatAnimationAbility as Blueprint Native.
  • Marked the SetupAndPlayAnimation function from UNinjaCombatAnimationAbility as Blueprint Native.
  • Reviewed the relationship between InitializeAnimationTask and SetupAndPlayAnimation to support other Animation Tasks.
  • Ensured that the Ability System's Actor Info will collect the combatant's main Skeletal Mesh Component and Animation Instance.
  • Fixed the flag bStrafeWhileLockedOnTarget being ignored in the CombatMovementComponent.
  • Fixed the assigned Scan Class being ignored by the UAnimNotifyState_MeleeScan.

Version 1.13.3 - 08/07/2024

  • Added an integration with Ninja Factions, to allow members of the same faction to have friendly fire enabled or disabled.
  • Improved the Actor Pool to provide more extension points to users needing to expand on it.
  • Ensure that the End Melee Scan event is not triggered if a Melee Start Scan was not triggered as well.
  • Fixed the edit condition for the weapon query in the Melee Scan.

Version 1.15.4 - 17/07/2024

  • Added more methods to the Default Weapon Manager, allowing adding and removing weapon actors.
  • Added exclusive delegates to the Default Weapon Manager that will broadcast weapons that were added or removed.
  • Added more logs to the Default Weapon Manager, to help troubleshooting the weapon initialization.
  • Renamed the function LoadAttachedWeapons to FindAttachedWeapons to better convey its purpose.
  • Added more logs to the Melee Scan Notify to help troubleshooting.
  • Fix the weapon check in the Melee Scan Notify, to ensure it's compatible with both C++ and Blueprint Weapons.

Version 1.15.10 - 18/07/2024

  • Added more checks for the Critical Damage Calculation, to avoid possible crashes.
  • Added more verbose logs to damage and defense systems.
  • Exposed damage details in the Damage Handler, for easier access in Blueprint implementations.
  • Fixed the calculation of Health, Stamina and Magic totals, ensuring that these are updated at the right time.
  • Reinforced components in the Damage Received fast array serializer, to avoid crashes in more complex actor hierarchies.
  • The Gameplay Effect used to initialize attributes have been removed.

In Progress

Version 1.15.14 - 18/07/2024

  • Refactored the Evade Direction structure to support generic Animation Directions.
  • Added support methods in the Hit Reaction Ability.
  • Fixed crash when created damage info structs too soon when the world is created.
  • Fixed configuration of the Melee Scan for weapons.

Planned

"Projectile" and "Cast" pass

  • Added Hitscans
  • Added support for Gameplay Ability Targeting Actors to Cast Ability.
  • Added Widgets for Cast Confirmation.
  • Fixes (to be expanded).

"Opportunity Attack" pass

  • Revamped Opportunity Attacks to be fully data-driven/ability-oriented.
  • Reviewed/added attacks: Backstab, Takedown, Parry, Riposte, Execution, Environmental
  • Fixes (to be expanded).

"AI" and "UI" pass

  • AI Combo Task for Behavior Trees and State Trees.
  • Review all widgets, remove unnecessary ones.
  • Review all viewmodels.
  • Fixes (to be expanded).
  • All initial goals for Ninja Combat are completed.