Top Down Stealth Toolkit

Hi, I don’t see this ‘User Defined’ category in any of the bots in the level. I am using UE version 4.16. How do I change the size of the vision cone?

Please help. Thanks.

Hi Leebaba, the previous update had added a lot of changes to the AI implementation & one of the key modifications was the use of custom blueprint components to handle different features like patrol movement, ai perception, vision arc display, etc. As a result, the AI Perception component [More info here:] now stores the parameters that define the Vision Range/Angle, which in turn is used to create the Vision Arc.

I do not have access to my PC for the next few days, & hence can’t provide screenshots to describe the solution for your query. But you can open up the BPC_AIPerception component, select the VisualPerceptionData struct & set it to ‘Editable’ in it’s properties section. Now if you go back to the bots placed in the level, & select their AI Perception component from the details panel, it should display the VisualPerceptionData in the User Defined Section. From here, you should be able to edit the Vision Range as well as Vision Angle.

Thank you for the quick response, I manage to edit it in the bots details panel.

A couple of questions:

  1. The value of VisionRange and HalfVisionAngle keep snapping to 0.0 when I change either one of the value. By default, its set to VR=300, HVA=45. After I set the VR=600, and HVA turns to 0.0 by itself. This breaks the vision arc and the bot no longer detect the player.
  2. The vision arc mesh doesn’t update visually in the editor upon changing the value in VisionRange. It would be most helpful to see how far the range reaches in the editor.

Thank you and looking forward to your solution when you have access to your PC.

Thanks for pointing that out. I know for certain that editing normal component variables in the editor works, but from what you’ve described there may be a limitation when doing the same with data stored in structs. At this point, I can’t say if it’s an engine or toolkit bug. I will definitely get back to you about that after further testing as soon as I get access to the PC.

For now, I would suggest editing these details from within the BP_PatrolGuard_Melee blueprint itself. It will do the same for all Melee bots in the level, but it should allow you to test out customized vision ranges for the bots. The Vision Arcs should also auto update themselves each time you change the values in this manner.

Hi, I tried out editing the Visual Perception Data from the editor & was able to reproduce the issue. It seems to be an engine bug, & has already been reported through the Answer Hub a couple of weeks ago. You can check out more details about it over here:

But more importantly, it seems that changes made to variables in an actor component, from the editor only gets applied when you actually start the level. But as mentioned in the previous post, all modifications made from within the actual blueprint will get applied across all instances in the editor itself. In this particular scenario, you could create publicly editable debug variables that let you test different dimensions for the Vision Arc, as shown below:

The Vision Arc Manager component uses the ‘RetrieveVisionRangeDimensions’ interface function to update the vertices of the Vision Arc Mesh at runtime. It fetches the required parameters from the AI Perception component under normal circumstances, but introducing an additional check to see if the game is running will let us return different values in the editor & runtime scenarios. If the game is not running, then it will use the test variables to construct the arc. So by controlling these variables, you can try out different radii & arc angles. Once you’re satisfied with a particular set of dimensions, you can set those values within the Visual Perception Data struct.

If you’re using this approach, just make sure to clear out the ‘VisionArcVertexArray’ at Event Begin Play within the Vision Arc Manager component. This is basically to clean up any extra vertices that could possibly be created by setting custom dimensions within the editor.

The v2.1 update for Top Down Stealth Toolkit has gone live on the Marketplace. The update primarily focuses on the introduction of new Global Alert Level system. For more details, refer the changelog below:

v2.1 Change Log:

  1. Added a Global Alert Level system that controls the activation of automated security devices like lasers & turrets, as well as the deployment of reinforcement patrol guards. The new Global Alert Level Controller class listens in all instances of stimuli being perceived by AI agents within the level, & increases the Global Alert Meter based on the threat rating of the perceived stimulus.
  2. A new AI Surveillance Controller has been introduced to control the activation of all AI agents within the level. Agents that are marked for delayed activation will not be activated at level start anymore, & instead getting activated at the behest of Global Alert Level Controller when the alert meter reaches a critical value. This system can be leveraged to create different starting conditions for a level, choosing to activate all security measures by default or have them get activated in a modular fashion based on the threat posed by the player.
  3. Added Patrol Guard Spawn Points across the map to spawn backup agents based on the number of remaining guards active across the level.
  4. Added a custom widget to the Game HUD in order to display the Global Alert Level at all times.
  5. Added world context object reference as an input parameter to functions within the blueprint function library, as part of v4.17 compatibility requirements.

Free gameplay demo for the v2.1 edition of Top Down Stealth Toolkit (Windows) now available at: Dropbox - File Deleted

All changes within the blueprints are marked with the boolean variable ‘Version2.1’ in order to easily identify the workflow changes introduced with this update. Comments are also written to describe the major changes. The new variables, functions, interfaces, & components added to existing blueprints are also marked within their event graphs as shown in the screenshot below:


Note: The v4.17 edition for the toolkit had been delayed due to an engine bug that prevents the Patrol Guard AI from executing their parent functions. I’ve tried reproducing the issue many times, even recreating entire AI blueprints from the ground up, & the issue keeps surfacing at some point along the process. So the whole process just ended up taking the time that could have been better put to work on updates that add new features to the toolkit. However, upon converting the project files to the new 4.18 preview versions, I was glad to see the AI working fine as before. As a result, I’m skipping v4.17 compatibility for the toolkit, unless Epic manages to fix the issue (unlikely as there is no bug report in the Answer Hub) in the upcoming patches for the said engine version. I also wanted to point out that the bug presents itself only in the Standalone launches, & PIE/Packaged versions work as intended. So while I would suggest sticking to v4.16 edition until the official v4.18 edition rolls out, those who are interested in converting their existing projects to v4.17 can do so if you’re fine with not testing the game in Standalone mode.

The v2.1.1 update for Top Down Stealth Toolkit has gone live on the Marketplace.


  1. Added a location-based opacity system to the Vision Arc material, thus providing the option to fade out edges of the Vision Arcs.


The hardness of the edge fading system can be controlled through the ‘OpacityMaskHardness’ variable housed within the Vision Arc Manager components. And special thanks to [USER=“4015”]Luke di Rago[/USER] for sharing the code with me.

**Note: **All changes within the blueprints are marked with the boolean variable ‘Version2.1.1’ in order to easily identify the workflow changes introduced with this update. Comments are also written to describe the major changes. The new variables, functions, interfaces, & components added to existing blueprints are also marked within their event graphs.

New post going into details about the functioning of Global Alert Level system introduced in v2.1 update: Top Down Stealth Toolkit Basics: Global Alert Level System

Added to Tutorials/Concept Overviews section as well: Top Down Stealth Toolkit - #2 by Stormrage256 - Marketplace - Unreal Engine Forums

tutorial is missing
It displays “Sorry, the page you were looking for in this blog does not exist.”
Can you fixed that? It is very important to me…
Thank you!

The old tutorial was taken down a while back because it was based on one of the earlier versions of the toolkit. I’ve published a new tutorial on how to start out with a new level. You can check it out here: Top Down Stealth Toolkit Tutorial: How to create a new level

As mentioned in the message, all the old tutorials will be ported over to the blog & updated to the latest version over the next few days. Let me know if you need help with anything in particular.

The v2.2.1 update of Top Down Stealth Toolkit has gone live on the Marketplace.

Change Log:

  1. Added Unreal Engine v4.19 compatibility.
  2. Removed redundant segments of logic from the Enemy AI & Player Character blueprints.

Bug Fixes:

  1. Fixed an issue with Stamina Bar being displayed as empty at the start of the level.
  2. Fixed a bug associated with surveillance cameras movement in the deactivated state.
  3. Fixed an issue with turrets failing to reacquire its active target after reactivation from a disabled state.

A free gameplay demo for the v2.2.1 edition of Top Down Stealth Toolkit (Windows) is now available at: Dropbox - File Deleted

All changes within the blueprints are tagged with the boolean variable ‘Version2_2_1’ in order to easily identify the alterations made in this update. Comments are also added to describe the major changes.

The v3.2 update has gone live on the Marketplace.

Change Log:

  1. Replaced the Line of Sight Visualization system with an improved version that uses a Divide & Conquer rule to detect edges, and thus deliver vastly increased performance over the previous brute force models.

It’s using the same workflow that’s employed in my new product, Line of SIght Visualization, & hence the same integration tutorial applies here as well for adding vision cones to custom characters.

As for performance benefits, you can check out raycast & vertex count for multiple configurations in this free gameplay demo:…ayDemo.7z?dl=0. I’ve also conducted some tests using a normal EQS driven brute force approach here, which like the previous visualization system requires many times more raycasts to get similar levels of edge smoothness.

I’ve submitted the v4.22 compatibility update to the Marketplace. It should be available for download within the next few days.

While there are no other major changes in this update, I did come across an issue with the footstep noise pulse emitters sometimes shifting between visible and hidden states. If anyone else is facing the same issue after converting your projects to 4.22, just make sure to add the following add vector node in your BP_PulseFXGenerator blueprint.

It will make sure that the emitter will always be just a slight bit above the ground location.

Apart from that matter, there were a few behavior tree task blueprints that were shown to have names that were too long (during packaging) despite it being less than 260 characters. Renaming the classes fixed that one. And that’s about it. The toolkit should work quite fine in 4.22 once these issues are taken care of. If anyone’s having trouble with the process, you can reach out to me through this thread or the support email id.

The v4.23 update has been submitted to the Marketplace and should be available through the launcher this coming week. I have not come across any issues upon converting the project from 4.22 to 4.23. So it’s probably safe to do it in your own projects as well. But if anyone does come across some issue, just let me know.

Edit: The 4.23 version has gone live and is now available to download from the Marketplace.

I’ve started working on the next round of updates for Top Down Stealth Toolkit, starting with a new Mouse+Keyboard driven Movement/Aiming system for the player character. It’s still a work-in-progress, but I’ve shared a preview video on Youtube:

Also just wanted to point out that the new system will not be replacing the default purely keyboard driven movement, but will instead provide an alternate form of player control system.

Hi, I’ve submitted the v3.3 update to the Marketplace. As shown in the previous video (Top Down Stealth Toolkit v3.3 WIP: Cursor-Driven Player Movement/Aiming Animations - YouTube), it adds a secondary player control system where the player character always looks at the mouse cursor while walking. I’ve added some basic interpolation to make sure that the character doesn’t immediately look at the cursor location, but instead eases into the new rotation over time. Also sprinting cancels the aiming and the character will always face the direction of the sprint.

You can switch between the new control system and the old one by heading over to the “BP_GameMode_CoreGame” blueprint, and then setting the “Default Pawn Class” to BP_PlayerCharacter_Mouse+KeyboardControl or BP_PlayerCharacter_KeyboardControl.

Edit: The update has gone live on the Marketplace. You can identify all the new changes by searching for the Version3_3 Boolean variable in blueprints.

Can’t open the project ,when update to 2.43.3! Expect auther fix it! Thank’u!

Hi, that is most certainly a result of Unreal Engine waiting for the shaders to be compiled for the first time. Just keep it running for a while and the project should open once its done. You can find more details about it here: [Solved] Unreal Editor loading stuck at 45% - #12 by TheJamsh - C++ Gameplay Programming - Unreal Engine Forums

Thank’u,I get.

Is there way to decrees visual detection chase or disable response to visual perception? For example for equipping some sort of camouflage.