Struct: Agent Characteristics
| Name | Agent Characteristics |
|---|---|
| Script Path | /Script/ProjectArco.AgentCharacteristics
|
| Purpose | Defines movement, productivity, traits, guild, and appearance for Agents. |
| Used In | Function: Set New Map Starting Agents |
| Category | Category:Agents/Whiskers |
Struct: Agent Characteristics
Struct: Agent Characteristics is a core data structure in the Project Arco framework (used internally by Whiskerwood). It defines all initialization parameters required to create and configure an NPC Agent, including movement, productivity, traits, guild affiliation, appearance, and various behavioral modifiers.
This struct is used when:
- Generating starting agents for new maps
- Spawning new villagers or migrants
- Applying traits and appearance
- Initializing agent data during world loading
- Creating custom agents via modding
The struct appears in Blueprints as the node: Make Agent Characteristics.
Overview
Struct: Agent Characteristics acts as a blueprint for an NPC. The struct does not represent an agent itself, but instead defines the properties the Arco Framework uses when creating one. When passed to functions such as Function: Set New Map Starting Agents, the system constructs:
- Movement values
- Productivity and work capability
- Appearance settings
- Trait sets
- Guild/education status
- Behavior modifiers
- Identity fields (name, portrait)
Structure Definition
The struct is defined under:
/Script/ProjectArco.AgentCharacteristics
It contains the fields listed below. All fields shown here are derived directly from Blueprint-reflected data.
Fields
Movement
| Field | Type | Description |
|---|---|---|
speedAt100Percent |
float | Movement speed when efficiency is 100%. |
base_speed |
float | Baseline walk speed before modifiers. |
turnSpeed |
float | How fast the agent rotates (degrees/second). |
agentScale |
Vector | Scale multiplier for agent’s mesh (default is 1,1,1). |
Work & Productivity
| Field | Type | Description |
|---|---|---|
base_productivity |
float | Base crafting/work efficiency. |
baseCarryCapacity |
int | Maximum items agent can carry. |
Spawn / Initialization
| Field | Type | Description |
|---|---|---|
spawnDelay |
float | Delay before the agent appears after queued to spawn. |
arrivalCost |
int | Cost associated with agent recruitment/arrival. |
Traits, Guild, Education
| Field | Type | Description |
|---|---|---|
traits |
Set<name> | List of assigned trait IDs (from the Trait Lookup Table). |
education |
EAgentEducation | Education tier affecting job eligibility. |
guild |
name | Current guild or faction. |
GuildProgress |
float | Current experience within assigned guild. |
GuildTarget |
name | Rank, specialization, or next objective within guild. |
Appearance
| Field | Type | Description |
|---|---|---|
skinColor |
Color | Appearance tint / fur color. |
Portrait |
name | ID of portrait asset to use in UI displays. |
agentName |
string | Display name. Leave empty for auto-generation. |
Behavioral Modifiers
| Field | Type | Description |
|---|---|---|
ignoreTerrainDebuffs |
bool | If true, agent ignores movement penalties on bad terrain. |
ignoreFarmFieldDebuffs |
bool | If true, agent avoids farm-work slowdowns. |
travelVarianceOffset |
Vector | Offset used for natural wandering behavior. |
Expectations
| Field | Type | Description |
|---|---|---|
expectationExcess |
Map<EExpectationType, float> | Modifiers for individual expectation categories (food, comfort, housing, etc.). |
Progression
| Field | Type | Description |
|---|---|---|
CraftsmanProgress |
float | XP in crafting-type professions. |
ScholarProgress |
float | XP in academic/knowledge professions. |
Identity
| Field | Type | Description |
|---|---|---|
ID |
int | Unique agent identifier. Leave 0 or -1 to auto-generate. |
Usage in Blueprints
In Blueprints, the struct is created via:
Make Agent Characteristics
Once constructed, these structs are typically collected into an array and passed to functions such as:
This allows the Arco Framework to register and later initialize the starting population of Agents for a new map or game state.
Modding Tips
- Use
traitsto grant custom or modded traits. - Increase
base_speedandspeedAt100Percentfor faster NPCs. - Set
ignoreTerrainDebuffsto create “super workers.” - Adjust
baseCarryCapacityto improve hauling efficiency. - Leave
IDempty unless loading an existing saved agent. - Customize
skinColorandPortraitfor unique villagers. - Guild and education progress values influence job eligibility and skill trees.
Example Blueprint Initialization
Make Agent Characteristics
├ speedAt100Percent = 400
├ base_speed = 250
├ base_productivity = 1.5
├ traits = { "rude", "swift" }
├ skinColor = (R=0.9,G=0.8,B=0.7)
├ agentName = "Marlo"
└ guild = "Farmers"
Related
| Primary Pages: | Modding Main Page · Getting Started · Unreal Engine Resource Links |
| Mod API: | Mod API Properties · Mod API Functions |
| Arco: | Arco Structs · Arco Functions · Arco Properties · Arco Enums · Arco Classes |
| Struct: Agent Characteristics |


