ALSUtilityCombine
by Zach Kolansky
ALS Community Version: https://github.com/dyanikoglu/ALS-Community
My Standalone UtilityAI System: https://www.unrealengine.com/marketplace/en-US/product/utilityai-with-replicated-weapon-stat-and-status-effect-systems
Standalone Github for my UtilityAI System: https://github.com/ZacharyDK/UtilityCombatSample
My Standalone UtilityAI System Documentation: https://docs.google.com/document/d/1XkaUs4PwrAyDM_PV1cD-ulRLw5Ykb_6LmlaFsxnZIcQ/edit?usp=sharing
This sample project combines my UtilityAI system with the community version of the ALS plugin. Reasoning: ALS offers a robust animation system, with mantle, camera shake, aim, overlay system, and a very good movement system. All of which are great, and done much better than I could ever do.
I wanted to make it easy to drag and drop into your project. See the content combined folder ing the plugins to find classes that I edited. I wanted to keep each system as pure as possible, with minimal changes. For example, the RangeAndMelee anim BP in the UtilityAI system is not changed, the ALS Anim BP is unchanged, and I made a copy of the ALS Anim BP named ALS_Combined_AnimBP. That is where I made my changes. The character that implements the numerous interfaces from the UtilityAI system named ALS_Combined_BP. I handled that part for you and left MannequinCharacter_BP unchanged.
-
ALVS4_CPP.uplugin now dependent on UtilityCombatPlugin. ALSV4_CPP.Build.cs also dependent on UtilityCombatPlugin
-
UtilityCombatPlugin now loads PreDefault, see .uplugin. This ensures I can make ALS dependent on UtilityCombat
-
AALSAIController is now a AUtilityAIController .
-
AALSPlayerController is a AUtilityPlayerController .
-
UALSMantleComponent has OnMantleStart and OnMantleEnd Delegates
-
UALSMantleComponent remembers the LastMantleHitResult, new BlueprintReadOnly variable
-
UALSMantleComponent has a TArray called ForbiddenMontages, if any of these montages is playing, the character will not be able to mantle.
-
UALSMantleComponent now has a variable that lets you toggle binding to the jump key.
-
Exposed some action events in AALSBaseCharacter to Blueprint
-
UALSCharacterAnimInstance has a new variable called bIsHumanCharacter = true. If this is false, the animation instance will terminate NativeUpdateAnimation() early, skipping the calls UpdateAimingValues(DeltaSeconds); UpdateLayerValues(); UpdateFootIK(DeltaSeconds); and all other update functions. Set bIsHumanCharacter to false if you want to possess a non human character (like a car) but still use the ALS controller.
-
Added three new overlay states. EALSOverlayState::MeleeOneHand, EALSOverlayState::MeleeAndShield, EALSOverlayState::MeleeTwoHand
-
Edited FALSOverlayState to account for the new overlay states. ALS_Combined_BP handles my changes.
-
Modified GetMantleAsset() in the BP child of UALSMantleComponent to account for the new overlay states.
-
ALS_Combined_AnimBP has an upperbody slot, for montages that you only want to play on the upperbody.
-
I was messing around with the UINavigationPlugin (Link: https://www.unrealengine.com/marketplace/en-US/product/uinavigation) There shouldn't be any dependencies YET, BUT I will add working menus in the future. Install this in the Plugins folder if I accidently left a dependency.
This plugin is subject to same EULA as Epic's Paragon assets, the general UE4 EULA, and the EULA from using assets downloaded from the Unreal Engine Marketplace.
This plugin is only for Unreal Engine users. If you don't use Unreal, the most you can do read the source code.
This plugin contains animations from Paragon assets retargeted to the manniquin. Do not use these animations for anything other than an Unreal project.
This plugin contains animations from Advanced Locomotion System. This are subject to Ue4's EULA and Epic's EULA.
Free, have fun.
License: MIT license.