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
toUNinjaCombatAnimationAbility
. 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 theUNinjaCombatAnimationAbility
. - Marked the
InitializeAnimationTask
function fromUNinjaCombatAnimationAbility
as Blueprint Native. - Marked the
SetupAndPlayAnimation
function fromUNinjaCombatAnimationAbility
as Blueprint Native. - Reviewed the relationship between
InitializeAnimationTask
andSetupAndPlayAnimation
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 theCombatMovementComponent
. - 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
toFindAttachedWeapons
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.