How do I define relationships between entities?

How do I define relationships between entities?

Relationships connect your campaign entities, showing how NPCs know each other, where items are located, which factions control which territories, and more. A well-connected world feels alive and helps you improvise when players ask unexpected questions.

Why Relationships Matter

Standalone entities are useful. Connected entities are powerful.

Consider an NPC in isolation:

Mira Thornwood, bartender, knows secrets, former army scout

Now consider Mira with relationships:

Mira Thornwood

  • works at The Rusty Anchor Tavern
  • served with Captain Aldric (they have history)
  • sells information to the Thieves Guild
  • knows most dock workers and sailors
  • hiding from someone from her army days

The connected version gives you:

  • Where to find her
  • Who else she knows
  • Plot hooks (who is she hiding from?)
  • Conversation starters (she and the captain have history)
  • Reasons for her behavior (Thieves Guild connection)

Relationships create depth without requiring you to remember everything. SwiftPrep shows you the connections when you need them.

Creating Relationships

From an Entity

  1. Open any entity
  2. Scroll to the Relationships section
  3. Click Add Relationship
  4. Search for and select the target entity
  5. Choose the relationship type
  6. Optionally set strength and add a description
  7. Click Save

Quick Linking

When creating entities, add relationships as you go:

  • Creating an NPC who works at a tavern? Add the "works at" relationship immediately.
  • Creating a faction leader? Link them to the faction.
  • Creating a quest item? Link it to its location.

Building connections during creation is easier than trying to link everything later.

Relationship Properties

Each relationship has:

PropertyWhat It Does
TypeThe nature of the relationship (ally, enemy, works at, etc.)
Target entityWhat this relationship points to
Strength1-10 scale for relationship intensity (optional)
DescriptionAdditional context (optional)
Is bidirectionalWhether the relationship goes both ways

Strength

Strength helps you gauge relationship intensity:

  • 1-3: Weak connection (acquaintances, passing familiarity)
  • 4-6: Moderate connection (friends, regular business)
  • 7-9: Strong connection (close allies, bitter rivals)
  • 10: Unbreakable (family bonds, lifelong enemies)

Strength is optional but useful for knowing how far an NPC will go for another.

Description

Add context that does not fit elsewhere:

  • "They were rivals until the siege, then fought side by side"
  • "He does not know she has been reporting to the Guild"
  • "She saved his daughter's life, he owes her everything"

Relationship Types

SwiftPrep provides relationship types organized by purpose:

General Relationships

TypeDescriptionBidirectional?
allyWorks together toward goalsYes
enemyActively opposesYes
familyRelated by blood or marriageYes
friendPersonal friendshipYes
rivalCompetes againstYes
romanticRomantic involvementYes
knowsAware of each otherYes
partnerBusiness or adventure partnerYes

Hierarchical Relationships

TypeDescriptionBidirectional?
employerEmploys the otherNo
employeeWorks for the otherNo
mentorTeaches the otherNo
studentLearns from the otherNo
leaderLeads an organizationNo
memberBelongs to organizationNo
servesServes or obeysNo
commandsGives orders toNo

Other Connections

TypeDescriptionBidirectional?
protectsGuards or defendsNo
suspectsDistrusts or investigatesNo
owes_debtOwes somethingNo
createdMade or builtNo
worshipsReveres or followsNo

Location Relationships

TypeDescription
located_atFound at this location
lives_atResidence
works_atPlace of employment
frequentsVisits regularly
ownsProperty ownership
guardsProtects this place
imprisoned_atHeld captive
born_atBirthplace
died_atPlace of death

Story Linking

TypeDescription
part_ofBelongs to a larger whole
involvesParticipates in
leads_toConnects or progresses to
containsHolds within
triggersCauses to happen

Bidirectional vs. One-Way Relationships

Bidirectional Relationships

When you create a bidirectional relationship, SwiftPrep automatically creates the reverse:

Create: Mira friend Aldric Auto-creates: Aldric friend Mira

This makes sense for mutual relationships: friends, allies, enemies, rivals, family.

One-Way Relationships

Some relationships are asymmetric:

Aldric mentor Young Guard Young Guard student Aldric (you create this separately if needed)

One-way relationships include: employer/employee, mentor/student, leader/member, protects, suspects, owes_debt.

Natural Pairs

Some one-way relationships have natural pairs:

If A to B is...Then B to A might be...
employeremployee
mentorstudent
leadermember
commandsserves
protects(no automatic reverse)

Relationship Sentiments

Relationships are color-coded by sentiment in the graph view:

CategoryColorRelationship Types
HostileRedenemy, rival, imprisoned_at
NegativeOrangesuspects, owes_debt
FriendlyGreenfamily, romantic
PositiveBlueally, friend, mentor, partner, protects
NeutralGrayAll others

Colors help you quickly see the emotional landscape of your world in the graph.

Building a Connected World

Start with Core Relationships

For each NPC, establish:

  • Where they live and work (location relationships)
  • Who they know (ally, friend, enemy)
  • What organizations they belong to (faction membership)

This minimum set creates a foundation.

Add Complications

Interesting relationships have tension:

  • Allies who disagree on methods
  • Friends on opposite sides of a conflict
  • Family members who do not trust each other
  • Debts that create obligations

Connect Across Entity Types

Do not just link NPCs to NPCs:

  • NPCs to locations (where they can be found)
  • NPCs to factions (who they work for)
  • NPCs to items (what they own or protect)
  • NPCs to plot hooks (what they are involved in)
  • Locations to plot hooks (where things happen)
  • Factions to factions (allies and rivals)

The more connections, the richer your world.

Use the Graph to Find Gaps

Periodically check the graph view:

  • Orphan entities (no relationships) might need connections
  • Clusters might need bridges to other clusters
  • Central nodes are important, they should be developed

Tips for Managing Relationships

Quality Over Quantity

A few meaningful relationships are better than many generic ones. "Ally" tells you less than "ally with description: They trust each other in battle but argue about everything else."

Update After Sessions

When relationships change in play:

  • Enemies become allies
  • Allies betray each other
  • New connections form

Update the relationships. Your data should reflect the current state of your world.

Use Relationship History

SwiftPrep tracks relationship history, when connections were created and how they have changed. This becomes your campaign's social history.

Let Players See Connections

When players learn about a relationship, consider making those entities Player Visible. The relationship map becomes a tool they can reference.

Related Articles

Was this article helpful?