Key Features

Editor windows for creating, editing and deleting NPCs and Skills, with functionality to import NPCs into the scene.
Relationship system with sentiment-weighted gain/loss.

Customizable skill system.
Save system for editor and runtime changes.

User manual, with step-by-step guidance and Unity-like documentation.
Technical Breakdown
Data Structures



NPC is a Scriptable Object responsible for all the NPC data defined during development.

Skill Information is the Scriptable Object used to store data for a skill defined during development.
Scriptable Objects are utilized for in-editor data due to their editability and easy-integration with the UI-Toolkit.
The data stored in these objects are never changed at runtime.

Persistent Data is the class used to store data that changes at runtime and should persist between sessions.
Two subclasses define NPC data and player’s skills data.
JSON files are used to store this type of data as they can be edited at runtime and remain on the user's PC between sessions.
Systems

Sentiment-Weighted Relationship System
Basic relationship system, with bias given for active sentiments held by the NPC.

XP-based Leveling System
API defined for adding XP and handling player levelling.
Option to reset XP to 0 upon levelling.



.png)


