Relationship System

v1.1.0

Installation

Follow this guide to install Relationship System in your Unity project.

Prerequisites: Make sure you have Game Creator 2 Core installed before proceeding.

System Requirements

ComponentVersion
Unity Editor2021.3 or higher
Game Creator 2 CoreLatest version
TextMeshPro3.0.6 or higher (for UI)

Installation Steps

Follow these steps to install Relationship System in your project:

  1. Download the Package

    Download the Relationship System package from your source (Unity Asset Store or direct download)

  2. Import into Unity

    Assets → Import Package → Custom Package → Select the downloaded .unitypackage file

  3. Wait for Compilation

    Unity will import all files and compile scripts. This may take 1-2 minutes.

  4. Verify Installation

    Check that the folder structure exists and components are available (see below)

  5. Install the Examples

    Five example scenes ship with the package but are not unpacked on import. Install them via either Game Creator → Install... → Relationship / Examples, or by selecting Relationship.Examples.asset and pressing Open in Install in the Inspector. They unpack to Assets/Plugins/GameCreator/Installs/Relationship.Examples@1.0.0/.

Success: If you can add the Relationship Manager component to a GameObject, installation was successful!

Assemblies Installed

The package adds six assemblies. RelationshipSystem.Tests is editor/test-only and excluded from player builds, which also fixes builds that previously failed to compile when test code shipped inside the runtime assembly.

  • RelationshipSystem.Common — shared constants, all platforms
  • RelationshipSystem.Common.Editor — editor-only menu items (new)
  • RelationshipSystem.Runtime — core system + GC2 integration, all platforms
  • RelationshipSystem.UI — UI components + UI Instructions, all platforms
  • RelationshipSystem.Editor — inspectors, settings window, editor-only
  • RelationshipSystem.Tests — editor/test-only, excluded from player builds

Project Structure

Verify that the following folder structure exists in your project:

Assets/
├── Plugins/
│   └── GameCreator/
│       └── RelationshipSystem/
│           ├── Runtime/
│           │   ├── Core/
│           │   │   ├── Interfaces/          (IRelationshipEntity, IRelationshipStore, ...)
│           │   │   ├── Relationship/        (RelationshipManager, RelationshipState, RelationshipKey)
│           │   │   │   └── History/         (HistoryTracker, RelationshipHistory)
│           │   │   ├── Subsystem/           (EntityRegistry, RelationshipStore, RelationshipResolver,
│           │   │   │                         DecayProcessor, ModifierProcessor, InheritancePropagator,
│           │   │   │                         CapProcessor, RelationshipEventBus)
│           │   │   └── Faction/
│           │   │       └── RuntimeFaction/  (RuntimeFaction, RuntimeFactionRegistry)
│           │   ├── Components/              (CharacterRelationship, AutoHostility, ...)
│           │   ├── Diplomacy/               (DiplomacyManager, DiplomacyState)
│           │   ├── UI/                      (IRelationshipUI, RelationshipViewBase, ...)
│           │   └── VisualScripting/
│           │       ├── Instructions/        (~23 files)
│           │       ├── Conditions/          (~13 files)
│           │       └── Events/              (~9 files)
│           ├── Editor/
│           │   ├── Relationships/           (RelationshipDefinitionEditor, FactionEditor)
│           │   ├── Events/                  (RelationshipEventListenerEditor)
│           │   └── Windows/                 (RelationshipManagerWindow)
│           └── Tests/
│               └── Runtime/
│                   ├── Subsystem/           (Unit tests per subsystem)
│                   └── Integration/         (GC2 integration tests)
└── (Your project files)

Verify Installation

Test that everything works correctly:

  1. Create a new empty scene
  2. Create empty GameObject → Add Component: Relationship Manager
  3. Check Inspector — component should show Settings, Logging, Decay, and Pending Queue headers
  4. Open Relationship Editor window: Window → Relationship System → Relationship Editor
  5. Window should open successfully with 5 tabs
Next: Continue to the Getting Started guide to create your first relationship!

Troubleshooting

Component not found in Add Component menu

Wait for Unity to finish compiling (check bottom-right spinner). If still missing, check Console for compilation errors and ensure GC2 Core is installed.

Compilation errors after import

Ensure Game Creator 2 Core is installed and up to date. The Relationship System depends on GC2's base classes for Instructions, Conditions, and Events.

Entity ID migration warning

Select the CharacterRelationship component in the Inspector and set the ID Mode to "Manual" with a stable identifier, or use "AssetBased" with an EntityIdAsset for prefab entities.