UE 5.4/5.5 - AdventureGameLocomotionSystem V1.2.0 | (Project Files) [No Replication, only Windows]
Informations about animations:
Not all animations are included in the project.
Animations such as Stealth Finishers or Melee Attack come from the UE Marketplace. You don't need to own these animation packs to open the project in the editor. The main consequence of missing animations will simply be poorly looking sequences like attack or some interactions.
Here’s a list of animation packs not included in the project (not all sequences from the packs are used in the project):
"Stealth Finishers - knife and hand" by RamsterZ
"Brutal Finishers - Hand and Knife" by RamsterZ
"Ultimate Traversal Anims" by RamsterZ
A full list of animation sequences used in the project is attached.
If you have the necessary additional components, the implementation into AGLS is very simple. You just need to export the required animation sequences to .FBX files. Then, assign the appropriate file names and reimport them into AGLS. This process was demonstrated by the user 'Clydiie' in this video:
Without these animations, the project will run normally.
I present the v1.2 update of the AGLS project. In this version, I’ve mainly focused on developing many systems and mechanics related to AI design. I attempted to implement Companion AI logic, mainly inspired by adventure games such as Uncharted 4. However, at this stage it is not a full implementation of the AI controller. This is due to the fact that the entire system is very complex, requiring the creation of many algorithms for accurately analyzing the environment in which the AI operates.
Therefore, v1.2 focuses primarily on C++ code and the ‘Advanced AI Logic’ plugin, which serves as the core foundation for the CompAI system. Many base classes originally prepared by Epic Games have been modified by me, including SightPerception, PathFollowingComponent, and NavLink component.
List of major components and new features for version 1.2:
Climbing Navigation System - The system mainly consists of: BP_ClimbNav_NavigationData, BP_ClimbNav_Generator and AGLS_NavClimbingComponent. The purpose of BP_ClimbNav_Generator is to generate points located on shelves and save them as components in BP_ClimbNav_NavigationData, where you can then generate navigation. In the NavigationData instance, there are many parameters that affect the density of points, the maximum acceptable distances between them, and others. The PreferLowerAltitudesWeight and SameAnglePreferenceWeight parameters are also important, where the first one affects whether the algorithm should prefer points at the same height when searching for a path, and the second one affects the preference for the same angle. Note that in the case of values greater than zero, the Path Finding algorithm will not search for the most optimal path. With high values, there may be a complete lack of an optimal route. A short information showing how to generate navigation can be found after hovering over the asset blueprint in the Content Browser.
If the navigation data is not visible, it is worth making sure that the 'AGLS.ClimbNavigationData.Show' command is set to true
Cover Points Generator - In this case, it’s an older system. It was implemented back in the IWALS project, but I’ve only now found a use for it. Previously, it wasn’t feasible because, with the 'Call In Editor' function, you could only create temporary components by default. To avoid this, new functions had to be created. The purpose of this generator is to determine points where it is possible to take cover. At the moment, most of the script is created through BP, but this might change because C++ allows for a much more detailed analysis of navigation mesh.
Auto NavLinks Generator - This is another generation script, but this time it is automatically created NavLinks components, stored in a single instance of the ‘NavLinksStorage’ class. Based on this data, Companion AI will be able to perform Traversal actions.
Important note. My approach to generating this data focused only on the AI being able to find paths where there is a large difference in height between the NavMesh. I will also point out that after generating the data, it will not always be automatically included in the navigation. To refresh the navigation Mesh, simply find the NavLinksStorage instance in the outliner tab and then try to change the actor's transformation.
Visibility of 'NavLinksAutoGenerator' actors can be changed using the command: AGLS.AutoNavLinksGenerator.Show false | true
I’ll also mention that Epic Games implemented their own solution in this area for the UE5.5 engine version. Unfortunately, I wasn’t aware that they had this planned.
AI Controller Components: Advanced Tasks And Function -
This is a component containing computationally complex functions, the main purpose of which is to analyze navigation data, including e.g. ClimbNavPoints or CoverPoints. One of the most important functions or queries is ‘Try Find Hiding Position Sync’. The result of this function is to select such a point from among CoverPoints so that CompAI remains undetected by enemy AI. This function takes as input a DataAsset containing a large number of query configuration parameters:
I will point out that the function does not guarantee 100% effectiveness. To get close to such a value, you would have to send the function precise data related to its movement path. I based the position prediction on data from the Trajectory.
'Companion AI' Controller Implementation (Based on BP Controller and Behavior Tree)
Important information regarding the "Companion AI" controller. For AGLS version 1.2, it has not been fully completed. The entire development process is very complex and time-consuming, which can result in numerous errors and bugs. Even the creation of additional navigational elements—such as AutoGenerateNavLinks, a cover points generator, or climbing navigation—took an enormous amount of time.
At this point, some initial logic related to following the player and stealth movement has been implemented. I’m not entirely satisfied with the AI’s behavior when the Gait is set to Jog. In this configuration, the character sometimes makes abrupt turns. This is likely related to determining the position of the Focus Actor, but so far I haven’t managed to come up with a better algorithm.
Added more pivots animations for Jog gait:
Implemented a large part of MotionMatching animations from GASP v1.2
Changed overlay state animations for PushingObject and HoldingKnife
Added MeleeFight component for CompanionAI
Fixed incorrect blending arms during Turn In Place animation
Fixed Vehicle System
Information about the version for the UE5.5 engine
To open a project in the UE5.5 engine version, you need to replace the plugin files:
First, download the project for UE5.4.
Next, launch the engine in version 5.5 and try to open the AGLS v1.2 project. At this point, the program will ask if you want to attempt an automatic conversion to the newer version. Choose the option that suits you.
After this process, a message will appear about missing appropriate binary files for the C++ code. At this point, you can skip the automatic compilation attempt, as it will always fail.
Having downloaded the plugins for UE5.5, simply go to the Plugins folder and replace its entire contents.
After restarting the engine and selecting the project, you should now be able to open the full editor.
Note: The AGLSv1.2 version for UE5.5 was not fully tested. After a brief test, I noticed two issues:
Predictable Jumps do not work correctly. The direction of the jump is determined incorrectly.
Echantent Inputs not working for Player Character. Additional change to fix InteractionInput:
Plugins Content For AGLS v1.1 UE5.5 (Old version)
Plugins Content For AGLS v1.2 UE5.5 (Current Version)
DOWNLOAD PROJECT FILES LINK (UE5.4, No Replication)
Can it be used for commercial purposes?Yes, but there are certain limitations. Most importantly, distributing project files (in the same way I provide them) is strictly prohibited. For commercial purposes, distribution should only be in the form of a packaged project (preferably in shipping configuration). This means that publication should be done in a format that does not allow easy extraction of AGLS project content. In short, the permitted format would be a compiled program, such as a .exe file for Windows.
It is worth reading the full license of use. You can find it at the link (PDF)
Some important Discord threads:
Aiming looking wreid for Rifle overlay
IWALS Documentation (created by Minty and Anarky)
I hope the project will be able to meet your expectations. At the moment, it may contain errors or bugs, but over time, most of them should be fixed. On a scene without any AI controllers, my computer was able to generate around 80 to 95 FPS on high graphics settings. PC specification: AMD Ryzen 7 3800X, 32 GB RAM, NVIDIA GeForce RTX 3060.
I would also like to mention a small request. Namely, it is about private messages sent on Patreon. I would ask that this method of communication be limited, due to its large constraints. If your question is about the project, please send it on the Discord server, or in the comments under the Patreon post. In other cases, I would suggest an email or possibly via a Patreon mailbox. Please note that due to the large number of messages, I am unable to reply to all of them. Most often I answer questions asked on the Discord server, followed by emails, comments under the Patreon post, and Patreon private messages. Thank you for your understanding.