NoobAI: NPC AI Plugin [v3.4.0] | Chase, Patrol & More | 1,600+ Downloads | Actively Updated

So the original NoobAI hit 1,000 downloads in about 2 months, which was way more than expected for a first release. Thanks to everyone who tried it and gave feedback — it directly shaped this version.

This isn’t just a patch update. A lot of the internals were reworked because looking back at v1, the code had issues: duplicated logic, inefficient pathfinding, and messy control flow. PatrolAI had a nested chase loop that didn’t make architectural sense, and ChaseAI was recomputing paths every tick even when the target wasn’t moving. All of that is fixed now.

What does NoobAI actually do?

It’s a Studio plugin that injects AI behavior into any rig — no scripting required.
Select your NPC, choose a mode, tweak values in the panel, and hit Apply.

Modes:

  • Chase: finds the nearest player and pursues them. Includes prediction, jump/obstacle detection, wall-stuck recovery, and a hysteresis zone to prevent flickering in and out of chase
  • Patrol: three modes — Loop, Bounce, and Random. Can optionally switch to chase when a player gets close, then return to patrol when they escape

Both modes support R6 and R15, and all values (speed, radius, wait time, etc.) update live so you can tweak during playtests without reapplying.


Patrol modes at a glance

Mode Behavior
Loop Goes through checkpoints in order, then wraps
Bounce Moves forward through points, then reverses
Random Picks a new random point each time (no immediate repeats)

Change Log: NoobAI ChangeLog · GitHub


As always, drop any bugs or requests below, still actively working on this.

Plugin Asset: https://create.roblox.com/store/asset/103757316856794/NoobAI-NPC-AI-Generator
Showcase Video: https://www.youtube.com/watch?v=jpq1qVNfLAs
Discord Server: Justice Nova

You can try everything in the official test place: NoobAI: Official Test Place! | Play on Roblox

19 Likes

Hi,
Plugin has error when you select a rig…

08:52:45.620 NoobAI is not a valid member of ServerStorage “ServerStorage” - Edit
08:52:45.620 Stack Begin - Studio
08:52:45.620 Script ‘cloud_103757316856794.NoobAI.NoobAICore’, Line 260 - function installAI - Studio
08:52:45.620 Script ‘cloud_103757316856794.NoobAI.NoobAICore’, Line 478 - Studio
08:52:45.620 Stack End - Studio

this is a mesh rig if that matters

3 Likes

the showcase video links to the plugin too

1 Like

Hey, thanks for reporting! Already aware of both issues and working on a fix now, should have an update out shortly. Sorry for the inconvenience!

1 Like

Thanks for telling me lol, mistake of mine. Will be updated shortly

Can you also make an editable testing place with some patrolling combat npcs ?

also what about other npc characteristics, like attack and then run away, then patrol

1 Like

:counterclockwise_arrows_button: Just pushed a major update (v3.1.1)

  • Improved architecture and modularity
  • Fixed checkpoint inconsistencies
  • No more data loss when reinstalling AI

Also cleaned up a lot of internal systems for better performance and scalability.

Full details are in the main post :backhand_index_pointing_up:, let me know if anything breaks or behaves differently.

Yeah that’s a good shout, I’ve been thinking about making a demo place with some pre-set NPCs so you can just drop in and see patrol/combat working straight away.

I’ll probably put one together soon.

For stuff like attack → run away → go back to patrol, that’s not in yet, but the way it’s built now makes it a lot easier to add those kinds of behaviors. It’s definitely something I want to expand on.

If there’s specific patterns you’re looking for, lmk. Helps me decide what to work on next.

Plugin works better now, but the npc is walking side ways on checkpoints .. they are not in a straight x y z line… but the npc is not turning and facing the way it is walking to…

  1. Also I will test it, but can the check points be added server side (scripted), real time during game play and change , like more can be added, deleted , moved around?

  2. can the npc be set up in serverstorge and cloned?.. it seems the plugin wants unique rig names…

  3. the NPC was patrolling between the two checkpoints, then I jumped over the wall, it saw me as I jumped ( it was where the line is at) , now it is stuck going back and forth, but cannot see me… must know my last position , and is going back and forth where the arrows are at.. and NOT reseting to the check points.

npc testing.rbxl (116.2 KB)

to duplicate it, stand at the check point, then jump over the wall

then the npc is stuck , going back and forth to the arrows..

while it is stuck going back and forth, if I move to left it then will come and get me… so maybe it is related to it know where I went, but does not jump of the wall (fine) , but then perhaps the total distance around the wall is greater then a setting? (my guess)… but it should be resetting to checkpoints )

3.5) it might be nice to have a line of sight follow / attack option … or perhaps it thinks to go where you might be at, or line of sight, if no longer at that point, start a new patrol pattern from THAT last line of sight position.. like a hunter..
4) might be good to add some debug toggle setting somewhere that is global (or perhaps in the rigs model properties, then add info the the output log , to see and debug things like this and or show pathfinding dots like some npc systems have, so you can see what it is thinking for trying to do. (Not the default roblox pathfinding link pathway thingy) …

  1. offhand is your pathfinding based on any open source project? like simple path, simplerpath, justice
1 Like

Appreciate the detailed testing, this is really useful.
From what you described, the sideways movement is probably in the turn/facing side of PatrolAI rather than the checkpoint system itself, so I’m going to check the rotation handling on that.

For your questions:

  1. Runtime checkpoints: yes, the patrol system is built in a way where checkpoints can update at runtime/while running, since it reads live checkpoint references/positions.
    I still need to make sure that’s cleanly supported from the plugin side too.

  2. ServerStorage / cloning: the runtime AI should be much more flexible than the plugin installer itself, but right now the plugin workflow does still care about unique rig names in some places. That part needs improving.

  3. The chase reset issue sounds valid. Right now it’s probably holding onto chase state / target position logic longer than it should when you break around a wall, instead of cleanly dropping back to patrol.

  4. Line-of-sight / “hunter” behaviour:
    Right now detection is distance-based rather than vision-based, so it doesn’t track last seen positions or do that kind of search/reset behaviour yet. The “move to last seen position → search → return to patrol” idea is really solid though, that would be more of a separate behaviour layer I’d add on top.

  5. Debug tools:
    Agreed, a proper debug mode would help a lot. Things like state info, logging, or even visualising paths/decisions would make it much easier to see what the NPC is doing internally. That’s something I’ve been considering adding.

  6. Pathfinding:
    It’s using Roblox PathfindingService directly, not based on SimplePath/SimplerPath.

The line-of-sight / last-seen-position / “hunter” style behavior is a really good suggestion too, since that’s not really how it works yet.

Keep sending cases like this if you find them, this kind of testing is super helpful.

1 Like

feel free to DM me here and privately when you got updates , fixes / new features to test out.

1 Like

Both issues are fixed in v3.2.1! (just published):

The ServerStorage error was caused by the plugin trying to locate ServerStorage.NoobAI by name at install time: which broke if the folder had been renamed or the plugin was loading fresh. It now uses script.Parent to reference itself directly, so it’s fully path-independent.

Mesh rigs: the plugin now validates that your selected rig has a HumanoidRootPart before attempting installation. If it doesn’t, you’ll see a clear message in the plugin UI instead of a silent runtime error. Most mesh rigs in Roblox do include a HumanoidRootPart, so if yours is missing one you’d need to add it for the AI to function (this is a Roblox character requirement, not specific to NoobAI).

Let me know if you run into anything else after updating!

1 Like

v3.3 Is Out!

This one’s a pure pathfinding and movement quality patch: No new features, just fixes for the most common issues people were running into:

  • NPC walking off ledges/buildings when the player was out of range
  • TurnSpeed spinning the wrong way or barely doing anything
  • Jittery “nervous” chasing when the player micro-moves or jumps
  • Bunny hopping on stairs and refusing to climb small steps
  • Prediction overshooting corners and sending the NPC into walls

The ledge one in particular was a real problem, the fallback MoveTo used when the path was being recomputed completely ignores geometry, so if the player was on a rooftop the NPC would just beeline straight toward their position and walk off whatever was in the way. That’s now gated to only fire when the NPC is already basically on top of the target.

TurnSpeed also had a silent bug where the old CFrame:Lerp rotation took the long way around past ±180° : so instead of turning 90° right it would spin 270° left. Replaced the whole thing with a proper shortest-path angle interpolation.

Full breakdown in the main post above. Let me know if anything feels off, still actively testing across different map layouts and rig types.

I was testing out the updates. The NPC still is not rotating and facing the direction they are moving.
Here they are running right after me, but facing up as they move.

also during play mode, switching to server, I move one of the waypoints and now the movement on the npc is stuttery, when it is going to the way points , it now moved in like 5 studs, stops moves 5 studs , then stops , moves 5..

Thanks for the detailed report and the screenshots,
Both bugs are fixed in v3.3.2, just pushed to the asset page.

The rotation issue had two layers. First, the atan2 math was extracting the wrong angle:
CFrame.fromEulerAnglesYXZ(0, yaw, 0) produces a LookVector of (-sin yaw, 0, -cos yaw), so the correct extraction needs negated arguments. The old version used atan2(lv.X, lv.Z) which consistently gave a 180° offset, making the NPC face exactly backwards.

Second, the CFrame was being written every single Heartbeat frame even when the NPC was already aligned, each write resets the physics engine’s velocity integration, which is what caused the move-stop-move-stop pattern you and others reported.

The waypoint stutter was a stale path issue. Paths are baked as absolute world positions at compute time, so when you move a checkpoint Part, the NPC keeps following the old positions — that messy looping path in your screenshot is the NPC loyally chasing ghost waypoints. Fixed by watching the checkpoint Part’s position via GetPropertyChangedSignal and immediately clearing the current waypoints when it moves, forcing a fresh compute on the next tick.

Let me know if anything still feels off.

1 Like

I tested out the AI on a r6 rig and its a little choppy and isn’t as smooth seen in the video. This is a good plugin by the way.

1 Like

Thanks!
Yeah I have to rework the plugin as I’ve received multiple reports, but thanks for your message! As I wasn’t aware of the issues with R6 rigs; expect changes in a couple days, the updates will be on here.

2 Likes

umm, I updated the plugin, and re did the npc, but it still does not face where it is going.. runs sideways or even backwards.. I was also thinking maybe for version control , add it into one of the scripts as to what version it is… I will get a simple testing place going to show the issue..

3 Likes

Hey everyone!
Just wanted to drop in and say the project is still very much alive. I know things have been quieter on the thread lately but that’s just because most of the work has been happening behind the scenes.

v3.3 was a pretty big internal cleanup and I want to make sure it’s solid before piling new stuff on top. Next update is already in progress, won’t say too much yet but there are some quality-of-life things and a couple of frequently requested features that are nearly there.

Keep the bug reports and feedback coming, it genuinely helps. Thanks for sticking around. :folded_hands:

1 Like

DEBUG_MODE = true : v3.4 sneak peek. Blue dots = walk waypoints, red = jump waypoints. Zero overhead when off.