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.
What changed in v2
The biggest change is that all shared AI logic (pathfinding, jumping, grounded checks, stuck recovery) is now centralized. Fixes and improvements apply across all behaviors automatically instead of being duplicated between scripts.
Chase AI now only recomputes paths when the target moves a meaningful distance or when the current path is exhausted. This significantly reduces load when running multiple NPCs.
PatrolAI’s chase handling was fully reworked. The old version used a blocking inner loop, which caused edge cases and unpredictable behavior. It now uses a proper state machine.
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) |
UPDATE — v3.1.1 (Stability & Architecture)
- Reduced dependency on global structure
- Improved checkpoint consistency and behavior
- Fixed issues where reinstalling AI could wipe data
- General internal cleanup and stability improvements
UPDATE — v3.2 (Search State & Chase Improvements)
- Added last-known-position search — when a player breaks line of sight or leaves the chase radius, the NPC navigates to where they last were before returning to patrol/idle
- Progress-based chase exit — NPCs no longer chase indefinitely if they can’t close distance; they give up intelligently after a configurable number of failed attempts
- Consecutive path-failure limits for both chase and search states
- Centralized state transitions with waypoint index resets (fixes stale path bugs)
- Debug overlay: set
DEBUG_MODE = truein the script CONFIG to get a head label + search marker in-game - Patrol checkpoint references now stored as live
ObjectValuepointers — moving a checkpoint part in the editor is reflected immediately at runtime
UPDATE — v3.2.1 (Bug Fixes & UX)
Fixed TurnSpeed not working — the rotation formula was frame-rate dependent and produced nearly invisible turning at normal values. Replaced with exponential decay; the usable range is now 0.5(slow) →5(snappy) →10+(near-instant)
Fixed crash on mesh rigs — the plugin now validates that a rig has a HumanoidRootPartbefore installing AI, with a clear error shown in the panel instead of a silent runtime failure
Fixed NoobAI is not a valid member of ServerStorageerror — plugin now usesscript.Parentfor all internal references, removing the hardcoded path dependency that caused this
Added Remove Checkpoint button — you can now delete checkpoints directly from the plugin panel; it removes both the list entry and the Workspace part
Version badge now shown in the plugin header
Fixed several UI elements rendering with Enum.Font.Unknown
TurnSpeed default updated to 1to match the new formula range
UPDATE — v3.3 (Pathfinding Overhaul)
This update focuses entirely on pathfinding quality and movement feel. All fixes apply to both Chase and Patrol modes.
-
Fixed TurnSpeed not rotating correctly The old rotation used CFrame:Lerp()on the full CFrame, which had two problems: it took the long way around past ±180° (the NPC would spin 270° instead of 90°), and it fought with Roblox physics by interpolating position alongside rotation mid-movement. Replaced with a Y-axis-only shortest-path angle lerp usingatan2— the NPC now always turns the short way, and physics is never interfered with. The usable range remains0.5(slow) →5(snappy) →10+(near-instant). -
Fixed NPC walking off ledges / buildings when out of range When a path was empty or mid-recompute, the NPC fell back to a raw humanoid:MoveTo(lastTargetPosition)which completely ignores geometry. If the player was far away and up on a building, the NPC would just walk straight toward the target position — off any ledge in the way. The fallback now only fires when the NPC is already very close to the target. If it’s further away, it waits for a proper path instead. -
Fixed prediction causing the NPC to overshoot corners and chase into walls The old velocity prediction used the raw 3D AssemblyLinearVelocity, which includes the Y component from jump arcs. This sent predicted positions underground or airborne, confusing PathfindingService. Prediction is now horizontal-only and speed-capped at 24 studs/s — enough for sprinting players, but prevents overshoot when a player stops suddenly or turns sharply. -
Fixed repath oscillation (“nervous” NPC zigzagging) When waypoints ran out, the NPC could immediately request a new path and repeat on the very next tick, causing rapid back-to-back ComputeAsynccalls that produced slightly different routes each time. Added a minimum repath interval (0.35s) so consecutive recomputes are always spaced out, giving each path a chance to actually be followed. -
Tighter waypoint settings for stairs and slopes WAYPOINT_RADIUSreduced from 5 → 3 studs,WAYPOINT_SPACINGreduced from 6 → 4 studs. The NPC now follows path nodes more precisely, which fixes the “bunny hop on stairs” and “refuses to climb small geometry” issues reported by several users.
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







