Fill Unity scenes with living NPCs that roam, patrol, and work. NavMesh or Transform. Wizards included. No dependencies.Living World NPC SystemDrop ambient life into any Unity scene. Add one component — or run a wizard — and NPCs start roaming, following routes, visiting points of interest, playing job animations, and showing the right held tool. Works with a baked NavMesh or with direct Transform movement, so it fits a village interior and an empty test scene equally well.No third-party assets. No extra packages to import. Built-in, URP, and HDRP all work.What NPCs can doRoam Radius / Roam Area — wander inside a sphere or a box you draw in the scenePatrol — follow a waypoint path (loop, ping-pong, once, or random)Seek Point — walk to a point of interest and perform an activity (mine, farm, sit, fish…)Idle — stand still, or use it as one step in a longer dayRoutines — chain behaviours into a schedule: work two minutes, stroll the square, sit on a bench, repeatSetup in minutes, not a weekSetup Wizard — movement, behaviour, character prefab, animations, layout, then Create in Scene. Builds the crowd, the area/path/points, agents, animator wiring, and a pooled spawnerMake Selection Wander — pick existing characters and apply agent, props, sockets, and an Animator Controller in one undo stepLeave the prefab empty to get placeholder capsules and see the system immediatelyIf NavMesh is selected but nothing is baked, the wizard falls back to Transform so NPCs still walkAnimations and held equipmentGenerate or update an Animator Controller: Idle, Walk (IsMoving), optional Speed, plus job statesStructures: Single Loop (bool) or Begin / Loop / Stop (trigger–bool–trigger)Activity Definition assets keep parameter names in one place — point, animator, and prop binder cannot drift (IsMine vs IsMining)Prop Binder shows/hides tools (pickaxe, rod, hoe) when the matching activity is activeHand sockets auto-detected: B-handProp.R/L, then B-hand.R/L, Mixamo names as fallbackAvatar field for Humanoid rigsCrowds that stay cheapShared update driver — not one Update per NPCDestination decisions are budgeted across frames so a large crowd does not spike a single framePooled Wander Spawner with weighted prefab mix; fill and clear without allocating after the first passShared Profiles retune speed, radius, and timing for a whole population in one assetFor designers and programmersScene gizmos and custom inspectors. Scene Overview validates missing parameters, empty areas, and name mismatches. C# events and UnityEvents on agents and points. Swap point selection (IWanderPointSource) or animation driving (IWanderAnimationDriver) without forking the package.IncludesDemo scenes and dummy characters, starter point categories, example profiles, routines, and activity definitions.RequirementsUnity 6 LTS (6000.0) or newerMono or IL2CPPBuilt-in RP, URP, or HDRPNo third-party dependenciesNavMesh uses Unity’s built-in AI module (NavMeshAgent). Transform mode needs no bake and no floor collider (snaps to ground when a collider exists; otherwise walks at spawn height)RuntimeOne WanderingAgent per NPC: Deciding → Moving → Performing → Dwelling, with Blocked retry if a destination is unreachableMovement: NavMesh pathfinding or Transform (ground raycast, optional obstacle sphere-cast)Behaviours: Roam Radius, Roam Area, Seek Point, Patrol, IdleWanderRoutine steps: behaviour, category filter, speed multiplier, complete after N visits or after duration; sequential, random, or weightedWanderPoint: category asset (not a hardcoded enum), priority, capacity with ring slots, cooldown, atomic reservationWanderProfile: speed range, wander radius, dwell/stuck/blocked timing, Speed / IsMoving parameter namesWanderActivityDefinition: shared job contract (display name, structure, stages, category)WanderPropBinder: show/hide held meshes from the same definitionWanderSpawner: object pooling, weighted entries, spawn area/radius, profile/path/behaviour overridesWanderUpdateManager: single tick loop, configurable DecisionBudgetPerFrame (default 8)No LINQ, no per-frame allocations, reused selection buffersEvents: StateChanged, DestinationReached, ActivityChanged; point AgentArrived / AgentLeft (C# + UnityEvent)EditorSetup Wizard (population + character wiring)Make Selection Wander (existing prefabs: activities, props/sockets, animator)Scene Overview (live state + validation)Create menus: Point, Area (sphere/box), Path, Spawner, Profile, Routine, Activity Definition, starter categoriesAnimator Controller create/update (does not delete existing states)Undo-friendly scene creation; source prefab assets are not mutated (scene instances / spawn templates are configured)ExtensibilityNamespace: PandaDev.WanderingNpcIWanderPointSource for custom point picking (quests, factions, time of day)IWanderAnimationDriver if you are not using Unity AnimatorPlay, Pause, Stop, Teleport, ForceNewDestination, SetRoutine / SetProfile / SetArea / SetPathNot included / not claimedNot a full RPG AI, combat, or dialogue systemDoes not generate character meshes or animation clips (you supply clips and optionally let the wizard build the controller)NavMesh pathfinding still requires a baked NavMesh in the scene



