Fill Unity scenes with living NPCs that roam, patrol, and work. NavMesh or Transform. Wizards included. No dependencies.Living World NPC System;Drop ambient life into any Unity scene. Add one component, or run the wizard, and NPCs start roaming, following routes, visiting points of interest, working at jobs, and holding the right 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 are supported. Requires Unity 6000.0 or newer.What NPCs can do;- Roam Radius / Roam Area: wander inside a sphere volume or a sphere or box area you draw in the scene- Patrol: follow a waypoint path (loop, ping-pong, once, or random)- Seek Point: walk to a point of interest and perform its activity (chop, farm, fish, mine, or your own)- Idle: stand still, or use it as one step in a longer day- Routines: chain behaviours into a day. Work for two minutes, stroll the square, rest on a bench, repeat- Schedules: tie routine steps to a shared in-game clock. Miners head out at 08:00, villagers go home at 22:00, with optional per-agent jitter so crowds do not change jobs in unisonSetup in minutes, not a week;- Setup Wizard: movement, behaviour, character, animations, layout, review. Create in Scene builds the NPCs, their destination (area, path or points), agents, and animator wiring, and can add a pooled spawner- Make Selection Wander: apply agent, props, hand sockets, and an Animator Controller to existing characters in one undo step- Save configured NPCs as reusable Prefabs- Leave the prefab empty to get placeholder capsules and see the system immediately- If NavMesh is selected but nothing is baked, the wizard falls back to Transform movement so NPCs still walkAnimations and held equipment;- Generate or update an Animator Controller with Idle, Walk (IsMoving), optional Speed, and job states- Activity structures: Single Loop (bool), Begin / Loop / Stop (trigger, bool, trigger), or custom names- Activity Definition assets hold parameter names in one place, so points, animators, and prop binders stay in sync (for example MineBegin / IsMining / MineStop everywhere)- Prop Binder shows and hides tools (pickaxe, axe, fishing pole) when the matching activity is active- Hand sockets auto-detected: B-handProp.R/L, then B-hand.R/L, with Mixamo bone names as fallback- Avatar setup for Humanoid rigsCrowds that stay cheap;- One shared update driver, not one Update per NPC- Destination decisions are budgeted across frames, so large crowds do not spike a single frame- Pooled Wander Spawner with weighted prefab mix; fill and clear with no allocations after the first pass- Shared Profiles tune speed, radius, and timing for a whole population from one assetFor designers and programmers;- Scene gizmos and custom inspectors. Scene Overview checks for missing animator parameters, missing areas and paths, and typed names no Animator uses- C# events and UnityEvents on agents and points- Replace point selection (IWanderPointSource) or animation driving (IWanderAnimationDriver) without forking the packageIncludes;Seven demo scenes (including a day-schedule showcase), placeholder characters and tools, starter point categories, example profiles, routines, and activity definitions. Demo content is built from Unity primitives only, with no third-party art.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




