A downloadable tool

Buy Now$5.99 USD or more

Give your NPCs believable daily lives with time-based movement, pathfinding, and flexible visibility handling - all with beginner-friendly setup. Dynamic NPC Routines lets you assign schedules to your NPCs using a simple comment block inside their event. Watch characters walk to destinations throughout the day, disappear when they “enter” buildings, and reappear seamlessly - all with zero plugin commands or scripting.


(GIF from upcoming game Ashfield Hollow, using MalibuDarby's Horror City tileset)

✨ What Makes It Stand Out?

Unlike other routine systems that demand common events, parallel processes, or code knowledge, this plugin was built for clarity and ease of use. If you know how to type,  you already know how to use this plugin. Whether you’re a new developer or managing a complex town, it keeps things clean and scalable.

⏰ Time-Based Scheduling

  • NPC movement is driven by a single in-game hour variable
  • Define as many schedule slots as you want - characters move like clockwork

🚶 Smart Movement & Pathfinding

  • Automatically walks to destinations using built-in pathfinding
  • Routine only proceeds after the NPC arrives at their target tile

🧭 Facing Control

  • Choose which direction NPCs should face after arriving
  • Optional 30-frame delay makes facing feel more natural

🏘️ Off-Map Transitions (Enter/Exit Logic)

  • Allow NPCs to leave the map after arriving - simulating them entering a building
  • Works for inns, taverns, houses, workplaces, or any indoor destination
  • NPCs reappear automatically when their next visible routine activates
This isn’t just for going “home.” You can simulate a work shift, a tavern visit, or an NPC dropping by a friend’s house - just by assigning a new location.

🎚️ Switch Support

  • Trigger a switch when NPC is off-map for any destination (switchId2)
  • Optional second switch when the NPC is specifically at their home location (switchId)
  • Integrates seamlessly with lighting, music, or event visibility systems

🗨️ Dialogue Awareness

  • NPCs pause movement while talking to the player
  • No awkward mid-conversation disappearing

⚡ Optimized for Performance

  • Updates are staggered across NPCs to prevent CPU spikes
  • Caches previous paths to avoid recalculating unnecessarily
  • Designed to run across fully populated towns and dense maps

📝 How It Works

All behavior is defined inside a single comment block using simple key-value pairs. You specify the times, destinations, and directions. That’s it. No scripting, no common events, and no plugin commands.

Directions: 2 = down 4 = left 6 = right 8 = up 0 = leave the map (simulate building entry)

For each hour in the schedule, the NPC will move to the corresponding destination in order.

🧪 Built for Game Devs of All Skill Levels

Whether you’re making a cozy farming village, an immersive town simulation, or just want your NPCs to act like they have a life - it only takes a few lines to get started. With smooth movement, off-screen transitions, and optional logic triggers, it’s everything you need to make your world feel real.

No scripts. No clutter. Just dynamic behavior in a format anyone can use.

📜 Terms of Use

  • 🆓 Once purchased, the plugin can be used for both commercial and non-commercial projects
  • ✂️ Modification allowed for personal or project-specific use but you cannot remove the introductory metadata with instructions and developer information
  • 📦 Redistribution not allowed - do not re-upload or resell this plugin on other platforms
  • 🧩 No Credit required - credit is appreciated but not required


Updated 23 hours ago
StatusReleased
CategoryTool
Rating
Rated 5.0 out of 5 stars
(1 total ratings)
AuthorBitQuest Studio
TagsRPG Maker, RPG Maker MV, RPG Maker MZ

Purchase

Buy Now$5.99 USD or more

In order to download this tool you must purchase it at or above the minimum price of $5.99 USD. You will get access to the following files:

NPC_Routines.js 27 kB
NPC_RoutinesMV.js 29 kB

Development log

Comments

Log in with itch.io to leave a comment.

I want to get a few of your plugins, when is the next sale?

Hi! Thank you for your interest. A sale just ended yesterday so it’ll likely be a little while before I do another one.

Thanks for the quick reply. I'll keep an eye out. Thank you

(1 edit)

Is it possible to have a NPC not transition when setting up the NPC Routines? I would like to have some NPCs just stay on the map at all times?

EDIT:

You can do this by setting a routine at the same location on the 0 hour, the  character does not go "home", fantastic" plugin!

Thank you! Glad you got it to work!

I would like to request a feature for this plugin, and this might be a tall ask, but my game have minutes, and I would like to have a system which both uses hours, and minutes, and wildcard values for each values. So I can have guards which patrols each *:00, *:20, *:40 of the day.

Thank you very much! 

Minutes may be doable. I’ll have to see what’s possible. 

If an NPC dies, how can I remove all the stuff about him? On the other hand, the game I made will convert events into map combat units, and I may need to switch the event page to terminate the plugin's control of the event so that it can be better taken over by other plugins.

Can you clarify what you mean by all the stuff? I'm not sure I understand your second question either.

I mean, how do we interrupt all the routines that we have set for this person?

Plugin looks fantastic! Quick question on usage. Underneath the comment that controls the NPC routines, can you add whatever other logic you want for conversations etc? Also does this work with multiple pages in the NPC event?

Thank you. Yes, you can add any logic underneath the comment and it works with multiple pages in the NPC event. 

Here, for example, you can see I have a plugin command and two pages for the NPC. The only thing to note is that the comment should be on the first page.

Another question sorry. Can you define like a region ID to path find on to simulate only moving along roads or favouring to? 

Deleted 23 days ago

Happy to report that region ID integration is now available in the plugin. 

Hallo! Does this plugin need the clock & calendar system? (since its time triggered) thanks

It needs time saved in a variable. The routines are timed so if there is no time there is no routine.

You can set up the time system yourself and don’t need my clock and calendar system. Getting both together will just make the process a lot easier.

can i have it explained to me like I'm  a newborn? I've got both installed, but my npc is not visible at all. I don't think my time variable is working.

Please email me screenshots of your setup and I'll take a look: bitqueststudio@gmail.com.

I'm getting the hang of it now. I've managed to give my NPC a 9-5 job, three meals a day and a sleep schedule. He's got a better life than I do.

Haha glad to hear it!

I see this says for " or any /indoor/ destination " does this work for them moving across multiple outdoor maps? what if you're entering their indoor destination map just before they do, are you going to see them come inside and walk to where they stand or is it built so they just suddenly appear in their standing destination in the " indoor map " ?
I'm looking for a plugin that allows dynamic movements between multiple bigger maps without causing jankiness like if you were to jump back and forth between maps while the NPC is traveling, for example.

Also do you know if its compatible with visustella plugins? the SiroGames one was exactly what i needed but unfortunately it isn't compatible.

Hello, the plugin can simulate transition movements indoors but does not handle multi-map routines.

I do not use Visustella so cannot comment on its compatibility.

Darn, this seemed like it could have been a good fix for my problem. guess i'll have to keep my eyes out for a solution then ^^; 

So just a quick question before I buy. I do just use the standard rpg maker mz character sheets. I see that you have an idle animation when there standing still. Will that be a problem for me? Since I don't have idle animations for my characters?

Hi! The plugin is designed to accommodate the standard RPG Maker MZ character sheets. You don’t need anything additional for the plugin to work.

(1 edit)

Awesome! Sorry for so many questions! But i do have one more. I have a custom time common event that caluclates Seconds, Mins, Hours and etc that i use. Would that be usable with this plugin for tracking the hour? I see that the plugin says that it uses a variable for hour. So wasn't sure if you allowed us to set that certain variable!  For instance my Hr variable is 12. 

Yes, you can pick the hour variable in the plugin parameters. It allows you to tell it which variable you're using for hour. In fact it relies on it. And no need to apologize. Happy to respond to any questions you have!