Skip to content
Shi Johnson-Bey edited this page Feb 3, 2024 · 16 revisions

Welcome to the wiki for TDRS

TDRS (Trait-Driven Relationship System) is a Unity package for modeling dynamic character relationships for life sims, dating sims, visual novels, and adventure games. It enables game developers to track relationships between social entities (NPCs, players, factions, etc.). Designers can create and tag relationships and characters with various traits that modify how characters feel about each other. Also, they can dispatch various events that change relationships and build interpersonal histories between characters. Game designers can leverage this package to add a semblance of social intelligence for NPC decision-making and dialogue.

Warning ⚠️: The API for TDRS yet stabilized. So, The information in this wiki lags behind the latest changes. Please see the sample scene in within the repo for the most up-to-date example of TDRS in action.

System Overview

system overview diagram

TDRS manages an internal social graph data structure containing agents and directed relationships between the agent. Agents may be characters, groups, items, religions, concepts, or anything that someone might have a relationship toward. You can think of relationships as arrows that point from one node to another. Each relationship has an owner and a target. A relationship's job is to describe how the owner feels about the target and track traits that describe the nature of their relationship. Finally, Traits are tags of information that can be attached to nodes and relationships within the social graph. Their job is to provide additional information about the node/relationship and apply various effects that change its state, such as stat buffs. Traits can represent relationship statuses (dating, rivals, estranged, siblings, soulmates), faction affiliations (Jedi, Sith, Separatists), and emotional states (angry-at, sad, excited, content).

Installing TDRS

To add TDRS to your Unity project, you must download the latest version of the package from GitHub. TDRS is not available in the Unity Asset store. All releases are on the Unity-TDRS GitHub Releases page. Please follow the steps below.

  1. Find your desired release.
  2. Download the unity-tdrs_<VERSION>.tar.gz from under the Assets dropdown (<VERSION> should be the release version you intend to download).
  3. Open your project in Unity
  4. Navigate to Window > Package Manager in the top menu.
  5. Click the + icon in the top left and select Add package from tarball....
  6. Find and select the downloaded tarball
  7. You should now see "TDRS" appear in the Unity Package Manager window with a version number matching your downloaded version.
  8. Close the Package Manager window