How do I model agents moving within a floor plan?

A user messaged us asking “what the easiest way to model agents moving within a floor plan or through an urban area”? This is a common enough question that I wanted to share one solution we frequently use:

If you create a layout or floor plan in Excel and export it as a .csv file, you can use one of our shared Index behaviors (create_layout.js) to create agents based on cell values. To get started with the behavior, your csv layout file should contain agent keys (i.e. BOX for ‘box’ agents) where you would like those agents to be initialized. Then supply the creator agent in init with the layout_files, layout_keys, and layout_templates. The Create Layout behavior will automatically supply those agents with a position based on the layout files provided.

In terms of movement, check out some of these sims to get an idea about how you want to implement agent movement within the layout environment. Some ideas include supplying routes (or possible movement locations), hard-coded movement, or using other agents.Warehouse Conveyor (conveyor belts and routes)
Wholesale Warehouse (routes)
Solar Panel Production Line (conveyor belts)
Autoclaved Aerated Concrete Factory (conveyor belts and hard-coded)