System developed in Unity to allow NPCs have a schedule and move through the world freely
- Very scalable and allows for changes to the NPCs at any point of the development
- NPCs can travel through scenes and be updated off-screen in a performant way
- Supports different waypoints (Idle, sitting, wander, perform an action)
- Easy map/waypoint creation
The NPCScheduleSystem consists of 5 types of objects:
- SceneMapping: Contains information of the multiple areas and it's waypoints inside of a scene
- World: Contains a collection of SceneMappings that belong to a same zone and establishes the connections between them
- NPCCharacter: A simple container for the NPC specific info (such as name, group, 3D model, etc...)
- World NPCs: A list of the NPCs that populate a World
- Schedule: Container of the actions that each group or individual npc should perform at a given time