How to Handle NPC Customer AI? (Pathfinding, Queues, Shelf Logic)

Hi DevForum,

I’ve been looking at the game Supermarket Simulator and i was curious about how the NPC customers behave and how i can acheive a similar result using Path-finding. They walk into the store, browse shelves, grab items, queue up at checkout, and then leave once checked out— all in a smooth loop. I’m currently building a supermarket game myself and im currently at that phase of development where i need to start working on the AI NPC’s, and I’d love to better understand how a system like this is structured.

What i have tried so far:
I tried using the SimplePath module script that was made by Grayzcale, i think the module is amazing, but im having issue from my end actually implementing it into my game and getting the logic i want.
I have also tried just making my own pathfinding logic using the PathfindingService, it worked out fine too but as i mentioned before, im having trouble actually understanding the full structure of the whole system, like how the Queuing at checkout is handled and so on.

Questions for the Community:
How do i use pathfinding the best way, is there a module out these that people usually use that i haven’t heard of? (other than SimplePath)
How do you think the game (Supermarket Simulator) handles pathfinding to specific shelves and queue points?
Do you think they use Attachments, Nodes, or another method to manage queue formation?

If you’ve built a similar AI customer system — or can recommend best practices (e.g. performance optimization for large numbers of NPCs, handling blocked paths, etc.) — I’d love to hear your advice!

Thanks in advance to anyone who shares insights — systems like this can get quite complex under the hood, and I’m trying to approach it the right way from the start.