Introduce new property in sight config Gain Decay allowing user to define how quickly should the gain value be decaying when its greater than 0 and the target is not visible. More details can be found on the Reference page.
Introduce new concept of “wait time”. This property defines the time required to pass when a target is not visible but was spotted. Until this time passes, the gain value will not be decaying. More details can be found on the Reference page.
Advanced Sight Component has now set of properties allowing to define multipliers for gain rate, gain decay, wait time and forget time. This allow user to have a fine control over different properties per agent in runtime without modifying the sight info data asset. All introduced concepts and properties are described either on the Reference or API page.
Advanced Sight Target Component has now set of properties allowing to define multipliers for gain rate, gain decay, wait time and forget time. This allow user to have a fine control over how this target should be perceived by all other agents. For example, if a target is inside a tall grass, user can modify the gain rate multiplier making the gain value for all other agents grow slower.
v1.6.1 (16.11.2024)
Add support for Unreal Engine 5.5
Add two new blueprint exposed functions for checking team relationship between two agents: GetAttitudeBetweenTeams and GetAttitudeBetweenActors
v1.6 (26.09.2024)
Lose sight range now supports custom FOV that can be set in the sight config instead being fixed to 360 degrees
Change the order used for determining team id. Previously if a character was implementing IGenericTeamAgentInterface and the Advanced Sight Team Component, the value returned from the interface was read. Now the value defined in the component attached to the character is the priority.
3 new functions for Advanced Sight Target Component: IsSpotted, IsPerceived and IsRemembered. They all return boolean value and an array of actors that make the assertion true. All mentioned functions are blueprint exposed
Implement SwitchTeam function for Advanced Sight Team Component. This allows to dynamically switch teams for a character during runtime. The function is blueprint exposed.
v1.5 (05.09.2024)
Fix bug with debug drawing showing a target as lost despite its actual state being perceived (debug drawing bug only)
Add verbose output log logging to make debugging easier
Add visual logger logging to make debugging easier
v1.4.2 (12.08.2024)
Fix issue with Set Perceivable function not clearing the target from spotted, perceived and remembered targets for all advanced sight components registered to the system
Fix compilation warning about Attitude property not being initialized
Prevent some events from being broadcasted if certain conditions are not met i.e. do not broadcast On Target Lost if a target actor passed as parameter wasn’t either spotted nor perceived
v1.4.1 (07.08.2024)
Fix crash when destroying an actor that is a sight system target
Fix warnings on gym maps caused by team component not being created while system was attempting to register an actor as a target
Prevent the game from crashing when advanced sight component is used on a none controller based class; previously it was printing an error but wasn’t terminating the function; it is now returning early allowing user to read the error from the output log
v1.4 (06.08.2024)
Fix crash caused by dynamically spawning actor with Advanced Sight Target Component (thanks ToffelsKater for reporting)
Fix issue with system not always properly registering agents to the sight system when spawned dynamically
Fix sight indicator not working properly for blueprint only agents on the gym map
Fix issue with target actors not being able to be perceived again after they have been set as not perceivable due to their id not being cleaned up from registered targets when setting them as not perceivable (thanks Feanix for reporting)
Add few more examples to the Gym map
Add new property Gain Rate in Advanced Sight Target Component allowing to set custom gain rate for any target. This can be updated in runtime by calling Set Gain Rate function (thanks Feanix for reporting)
Add new custom scene components which must now be used as visibility points; custom visibility point components allow not to define Gain Rate per visibility point. This means that you can set Gain Rate for bigger body parts to value greater than 1 making this agent to be perceived faster when this point is visible, or less than 1 making this agent to be perceived slower when this point is visible. These can be updated in runtime. If multiple points are visible at the same time, the one with highest Gain Rate will be used for calculating the new gain value in the system (thanks Feanix for reporting)
v1.3
Add “SetPerceivable” blueprint callable function to the Advanced Sight Target Component allowing a target to become “invisible” or “perceivable” to the NPCs
Add data table row definition allowing to define custom team relationships (friendly, neutral, hostile). Previously, teams with different IDs were always considered hostile
Add “AddGainToTarget” blueprint callable function to the Advanced Sight Component allowing to manually add specified gain value for a selected target
Add “UpdateTeamsRelationship” blueprint callable function to the Advanced Sight System allowing to update relationship between teams in runtime
Add “ForcePerceiveTarget” blueprint callalbe function to the Advanced Sight Component allowing to user to forcefully perceive a selected target
v1.2
Add new component that allows to define agent’s team id without using base C++ character class
Fix issue with plugin’s content not appearing properly when using it with versions older than 5.4
Fix warning appearing first time PIE is started caused by advanced sight system defining it supports Editor worlds instead only PIE and Game
v1.1
Move some advanced sight system properties from protected to public access modifier so they can be easily accessed outside of the system to write custom logic