Profile settings#
Everything an AI perceives, and how sharply, is set on its Perception Profile (a Data Asset). These are all of its settings, in the order and groups of its Details panel. A new profile works as it is: every setting has a working default.
Composition#
ParentProfileInherit every setting from this profile, keeping only the fields changed here.
A field counts as changed when it differs from the class default — exactly the fields the Details panel marks with a revert-to-default arrow. Leave a field alone and it tracks the parent; edit it and it is yours.
Start a child from a NEW profile rather than a duplicate of the parent. A duplicate carries every one of the parent's tuned values as changed fields, so it would inherit nothing and drift the moment the parent moves on.
To pin a value that happens to equal the class default, put it in Overrides below — that list is read after inheritance and always wins.
Composition is resolved once, when an agent starts or swaps profiles, into a private copy owned by that agent. Editing the parent therefore affects agents that spawn afterwards, not ones already running.
Use Show Composition to see exactly which fields are inherited.
OverridesExtra changes stamped on after inheritance is resolved.
Rarely needed on an asset — editing the field directly is the normal way to override one. This exists for values a Blueprint wants to compute, and it is the same list the component uses for per-agent tweaks.
Archetype#
ArchetypePreset to stamp onto this profile when Apply Archetype is pressed.
Applying overwrites the fields the archetype cares about and leaves the rest alone. It is a starting point, not a mode — nothing reads this at runtime.
Workbench#
CompareToThe profile Compare With reports differences against.
Senses#
Setup#
SenseClassesSense classes to instantiate on this AI. Order = slot index.
A new profile starts with Vision and Hearing already here, so an AI works the moment you assign the profile. Add Smell, Touch, Vibration, Damage, Pain or Echolocation as you need them — or remove Hearing for an AI that only sees. An empty list means the AI perceives nothing at all.
SenseWeightsPer-sense confidence weight. Missing = 1.0.
SenseIntervalsHow often each sense updates, in seconds, by sense. A sense not listed uses its own: Vision 0.15, Smell 0.25, Echolocation 0.3, the others 0.1.
Pain#
PainVisionFloor0 to 1The least that pain or low health can dull vision to, 0 to 1. Other senses can go to 0.
Touch#
bAutoWireTouchEventsAutomatically route the owner's collision hits and overlaps into the Touch sense. Without this every bump has to be hand-wired from Blueprint.
bAutoWireOverlapAsGrabonly when Auto Wire Touch Events is onTreat the AI's overlaps as a held Grab, not only its blocking hits as Bumps.
Policies#
FusionPolicyHow several senses combine into one confidence value.
ThreatPolicyHow dangerous a target is. The level is still derived from the Brain|Threat thresholds below, so a policy only supplies the score.
AttentionPolicyWhich target the AI commits its focus to.
Ranges#
VisionMaxRangeat least 1Vision: max sight distance (cm).
HearingMaxRangeat least 1How far hearing reaches when a sound has no Sound Type of its own, and part of how far away AI look for targets at all (cm). Each Sound Type sets how far its sound carries.
SmellMaxRangeat least 1Smell: max scent detection range (cm).
VibrationDetectRangeat least 1Vibration: max ground vibration range (cm). Passes through walls.
EchoRange100 to 10000Echolocation: sonar pulse range (cm).
bAutoConfidenceFromDamageOn: being hurt raises the AI's confidence in the attacker to the damage taken from them so far ÷ 100, at any range. Off: damage only fires On AI Damaged, and it adds nothing to threat or emotions either.
Detection#
VisionHalfAngleDeg1 to 180Half the width of the main (focal) vision cone, in degrees: 60 sees 60° to each side.
VisionSampleCount1 to 5How many of the built-in sample points (head, chest, pelvis, shoulders) vision traces, 1 to 5. Only for targets without an APS Target Component and when Default Visibility Samples is empty.
DarknessMinDetection0 to 1How much the AI still sees in total darkness, 0 to 1: 0 is blind in the dark, 1 ignores darkness (infrared).
EyeHeightOffsetHow high the eyes are above the actor's origin, in cm: used without Use Eye Socket, or when the socket doesn't exist.
VisionDistanceCurveOptional: replaces the default distance falloff. X is the distance as a share of the range (0 to 1); Y is how much confidence is left.
VisionAngleCurveOptional: replaces the default falloff across the cone. X is the angle as a share of the cone's half-width (0 to 1); Y is how much confidence is left.
MotionBonusCurveOptional: replaces the default movement bonus. X is the target's speed in cm/s; Y multiplies confidence (kept between 0.5 and 1.5).
HearingBaseThreshold0.01 to 2Does nothing in APS 3.0. No code reads it: there is no noise floor. Use Suspect Threshold, and a Sound Filter Profile's Min Alert Level.
WallAbsorptionCoeff0 to 1How much each wall between a sound and the AI muffles it: each wall multiplies the sound by e to the minus this (0.4 takes about a third off).
bSoundEventOnlyModeDoes nothing in APS 3.0. No code reads it: hearing is always event-only (it hears only the sounds you emit).
SoundFilterOptional sound filter — which categories/alert levels this AI hears.
SoundAccumulationRate0.01 to 5How fast repeated sounds build up confidence.
SoundAccumulationHoldTime0 to 10Seconds of silence before accumulated sound confidence starts decaying.
SoundAccumulationDecayRate0.01 to 5Confidence decay rate per second after hold time expires.
SmellAccumulationRate0.01 to 5How fast smell confidence builds per second while in range.
SmellDecayRate0.01 to 5How fast smell confidence decays per second after target leaves range.
VibrationMinSpeed0 to 1000Minimum target movement speed (cm/s) to produce detectable vibration.
TouchConfidence0.1 to 1Does nothing in APS 3.0. No code reads it: touch strength comes from the contact report and the contact type's multiplier.
TouchMaxImpulseForFullStrengthat least 1Physics impulse magnitude that maps to Strength=1.0.
TouchPersistentAccumulationRate0 to 5Confidence gained per second while a persistent contact is held.
TouchMaxPersistentBonus0 to 1Maximum extra confidence from persistent contact duration.
bEchoDirectionalEcholocation only pings forward: it ignores targets more than about 101° off its facing.
Eyes#
bUseEyeSocketTake the eye position from a mesh socket instead of Eye Height Offset: sight then starts where the head really is, as it animates.
EyeSocketNameonly when Use Eye Socket is onSocket / bone the eyes sit on. Typical: "head", "eyes", "S_Eyes".
EyeDirectionModeWhere the cone's FACING comes from. Socket Rotation makes the cone follow the head bone.
EyeSocketAlignmentonly when Eye Direction Mode is EAPSEyeDirectionMode::SocketRotation || EyeDirectionMode == EAPSEyeDirectionMode::BlendedHow the socket's rotation becomes a look direction. On Automatic you can name a plain bone (head, eyes) and APS works out how it is oriented from the skeleton's rest pose: the cone starts along the character's forward and follows the bone.
EyeSocketRotationOffsetonly when Eye Socket Alignment is Manual OffsetA correction you set by hand, used only when Eye Socket Alignment is Manual Offset: it turns the socket's forward onto the character's forward.
EyeSocketRotationWeight0 to 1only when Eye Direction Mode is Blended (actor + socket)With Eye Direction Mode Blended: how much of the facing comes from the socket, 0 (all actor) to 1 (all socket).
EyeTurnRateDegPerSec0 to 1440How fast the AI's view may turn, in degrees per second. 0 turns instantly (Unreal's own perception snaps to a Move To target before the body has turned). Set it near your character's real turn rate so it can't see you before it has turned to look.
Visibility#
DefaultVisibilitySamplesSample points traced when the target has no APS Target Component. Offsets are in the target's LOCAL space, so they rotate with it — a prone or turned target samples the right places. Leave empty to use the built-in head / chest / pelvis / shoulders set.
MinExposureToRegister0 to 1How much of a target must be visible (0 to 1, weighted by its points) before it counts as seen at all. 0: one visible point is enough. Raise it so a sliver of shoulder behind cover isn't seen.
MinVisiblePoints_Standing1 to 16How many of a standing target's sample points must be visible before it registers at all. 1 by default for every stance, so stance changes nothing until you raise these.
MinVisiblePoints_Crouched1 to 16How many of a crouched target's sample points must be visible before it registers at all. 1 by default (stance changes nothing); raise it to 2 for stance-aware stealth.
MinVisiblePoints_Prone1 to 16How many of a prone target's sample points must be visible before it registers at all. 1 by default; raise it to 3 for stance-aware stealth.
Occlusion#
VisionOcclusionChannelsThe collision channels that block sight. Empty means Visibility only. A list replaces Visibility, so include it if your walls block it. Each extra channel is one more trace per point.
bPawnsBlockSightBodies block sight: the Pawn channel is traced too, so squadmates hide what is behind them.
SurfaceVisionTransmissionHow much sight passes through each physical surface, 0 to 1: 1 fully see-through (glass), 0.4 partly (foliage, smoke). Surfaces not listed block completely.
Cones#
bUseSeparateVerticalFOVUse a separate vertical half-angle, making the cone elliptical instead of perfectly round. Essential for games with verticality.
VisionVerticalHalfAngleDeg1 to 180only when Use Separate Vertical FOV is onHalf the height of the vision cone, in degrees, with Use Separate Vertical FOV.
bEnablePeripheralConeEnable a wider, weaker peripheral cone outside the focal cone.
PeripheralHalfAngleDeg1 to 180only when Enable Peripheral Cone is onHalf the width of the side cone, in degrees. It must be wider than Vision Half Angle Deg to add anything.
PeripheralConfidenceScale0 to 1only when Enable Peripheral Cone is onConfidence multiplier for detections made in the peripheral cone.
PeripheralRangeScale0.05 to 1only when Enable Peripheral Cone is onHow far the side cone reaches, as a share of Vision Max Range.
bEnableRearMotionConeEnable a rear cone that only registers MOVING targets — Thief's "false vision" cone. Stops players walking straight up behind an AI with impunity, without making the AI omniscient.
RearMotionHalfAngleDeg1 to 180only when Enable Rear Motion Cone is onRear cone half-angle measured from directly BEHIND the AI (degrees).
RearMotionMinSpeedat least 0only when Enable Rear Motion Cone is onTarget must move at least this fast (cm/s) to register in the rear cone.
RearMotionConfidenceScale0 to 1only when Enable Rear Motion Cone is onConfidence multiplier for rear-cone detections. Keep low — this is a hint, not sight.
RearMotionRangeScale0.05 to 1only when Enable Rear Motion Cone is onHow far the rear cone reaches, as a share of Vision Max Range.
Light#
bUsePerTargetLightSample light AT THE TARGET rather than using one global ambient value. Without this, a dark corner is indistinguishable from broad daylight — the global level only models day/night.
bTraceSunShadowonly when Use Per Target Light is onWith Use Per Target Light: trace from the target toward the sun to see whether it stands in shadow. Needs Set Sun Direction on the APS Subsystem.
ShadowLightLevel0 to 1only when Use Per Target Light is onThe light level a target in shadow gets, 0 to 1. Shadow only ever darkens.
SunTraceDistanceat least 100only when Use Per Target Light is onHow far the shadow trace reaches (cm).
Keyhole#
bKeyholeVisionMake the focal cone wide up close and narrow far away.
KeyholeNearAngle5 to 180only when Keyhole Vision is onHalf the cone's width up close (within Keyhole Near Distance), in degrees.
KeyholeFarAngle1 to 90only when Keyhole Vision is onHalf the cone's width at full range, in degrees.
KeyholeNearDistanceat least 50only when Keyhole Vision is onUp to this distance (cm) the cone is at its near width; beyond it narrows toward the far width.
Loss#
VisionLossHow the AI loses a target when vision is the sense that last had it: Grace Time (0.3 s) before it may count as lost, Direct Cut (on: straight to Lost) and how fast belief then fades (× 3).
HearingLossLosing a target heard last: a 3 s grace, steps down through the states rather than cutting to Lost, normal fading (× 1).
SmellLossLosing a target smelled last: a 20 s grace (scent lingers), steps down, slow fading (× 0.3).
TouchLossLosing a target felt last: a 0.5 s grace, steps down, fading × 2.
VibrationLossLosing a target felt through the floor: no grace (stop moving and it's gone), steps down, fast fading (× 5).
DamageLossLosing an attacker: an 8 s grace (it remembers being hit), steps down, slow fading (× 0.5).
EcholocationLossLosing a target pinged last: a 0.6 s grace, straight to Lost, fading × 2.
Fusion#
CorroborationBonus0 to 0.5What each extra sense that reports a target adds on top of the strongest one. Vision 0.8 alone is 0.8; with hearing too, 0.9. 0 uses the strongest sense alone.
ConfidenceRiseRate0.01 to 10How fast confidence rises toward what the senses report. Higher is snappier detection.
ConfidenceDecaySmoothing0.01 to 10Does nothing in APS 3.0. No code reads it. Use Confidence Rise Rate, and each sense's Confidence Decay Multiplier in the Loss settings.
StandingDwellRate0.01 to 1Extra confidence per second, while the AI keeps sensing a target standing still: the longer it looks, the surer it gets (never above what the senses report).
MovingDwellRate0.01 to 1The same for a target moving fast (600 cm/s or more); speeds in between blend the two.
ConfidenceReduceDelay0 to 10Does nothing in APS 3.0. No code reads it. Use Confidence Rise Rate, and each sense's Confidence Decay Multiplier in the Loss settings.
Memory#
DecayCurveOptional: how much of its last confidence the AI keeps (Y) after so many seconds without sensing the target (X). Empty fades exponentially at Default Decay Exponent.
LongTermDecayCurveOptional: how much long-term memory strength is left (Y) after so many seconds without sensing the target (X).
DefaultDecayExponent0.01 to 2How fast belief fades once no sense has the target, when there is no Decay Curve. Higher forgets faster.
MemoryRefreshBonus0 to 0.5Extra confidence, given once per loss, when the AI senses again a target it had Lost or Remembered: finding you again locks on faster.
MemoryExpireThreshold0 to 0.2Below this confidence a Remembered target Expires and its slot is freed.
MinTimeInLost0 to 60Minimum seconds the AI must spend in Lost before it can transition to Remembered. 0 = no delay (default). Increase to make the AI search longer before giving up.
MemoryMaxSubjects1 to 512Distinct subjects one agent may hold memories about. The least recently written is dropped when this is exceeded.
MemoryMaxTagsPerSubject1 to 64Distinct tags per subject. The oldest is dropped when this is exceeded.
MemoryRetentionSecondsat least 0Seconds a memory (Remember) lasts without being written again. 0 keeps it for the whole session.
Awareness#
SuspectThreshold0 to 1Confidence to enter Suspected state.
DetectThreshold0 to 1Confidence to enter Detected state.
TrackThreshold0 to 1Confidence to enter Tracked state.
FullAwareThreshold0 to 1The confidence at which the AI's awareness becomes Fully Aware.
MinTrackDurationat least 0Minimum seconds in Detected before transitioning to Tracked. Prevents instant lock.
Attention#
AttentionStickinessTime0 to 30The least time, in seconds, the AI stays focused on its attention target before it will consider switching: for example 0.5 for a camera, 2 for a guard, 5 for a zombie.
AttentionSwitchThreshold0 to 1How much better a rival must score to take the AI's attention.
Spatial#
bEnableSpatialModelKeep track of where targets are: Last Known Position, Uncertainty Radius and Predicted Position.
bEnablePredictionWork out where a lost target is heading: Predicted Position moves ahead of the last known position, along its last movement.
PredictionHorizon0.1 to 5How far ahead, in seconds, Predicted Position looks along the target's last movement.
MaxPredictionTimeThe longest Prediction Horizon allowed, in seconds.
UncertaintyGrowthRateRate at which uncertainty radius expands after losing target (cm/s).
MaxUncertaintyRadiusMaximum uncertainty radius (cm).
bVelocityScaledUncertaintyIf true, fast-moving targets produce larger uncertainty when lost.
VelocityEMAWeight0.05 to 1How quickly the AI's measure of a target's speed follows changes, 0 to 1: lower is smoother, higher reacts faster.
Performance#
bAsyncVisionTracesRun vision's traces off the critical path. The exposure it reports is one vision update old (about 0.15 s). With more than one occlusion channel or any Surface Vision Transmission, APS traces normally anyway.
BaseUpdateInterval0.016 to 2How often perception runs, in seconds. Lower is more reactive and costs more; doubling it halves the cost.
MaintenanceInterval0.1 to 5How often, in seconds, the AI tidies away beliefs that have expired.
MaxTrackedTargets1 to 32How many beliefs this AI can hold at once. The slots are set up when it starts, so it is memory as well as time.
bDistanceTickThrottlingLet AI at tier 3 and 4 (far away and idle) update their component only every 0.1 and 0.25 s. Their perception timing doesn't change. For an idle AI those tiers start at about 150 m and 225 m from the nearest camera.
SortWeightConfidenceHow much confidence counts in a target's sort score (which picks the top target and who keeps a slot in a crowd).
SortWeightRecencyHow much having sensed the target recently counts in its sort score.
SortWeightProximityHow much being close counts in its sort score.
MaxSortDistanceBeyond this distance (cm) being close adds nothing to the sort score.
Crowd#
bEnableStatisticalTierLet distant AI (from Statistical Tier Threshold) perceive by chance instead of tracing: cheap, but it doesn't see walls, so a statistical AI can notice through them.
StatisticalTierThreshold1 to 4only when Enable Statistical Tier is onThe level of detail tier from which an AI goes statistical. At 3 only distant, unengaged AI do (for an idle AI, beyond about 150 m).
StatisticalDetectionRate0 to 10only when Enable Statistical Tier is onChance per second of noticing an ideally-placed target — close, lit, moving. Everything else scales this down.
StatisticalDetectionConfidence0 to 1only when Enable Statistical Tier is onConfidence granted when a statistical detection lands. Deliberately modest: a distant agent that half-noticed something should be suspicious, not certain.
Brain#
Emotions#
MaxFear0 to 1The highest fear can climb to, 0 to 1. 0 turns fear off.
MaxAggression0 to 1The highest aggression can climb to, 0 to 1. 0 turns aggression off.
MaxCuriosity0 to 1The highest curiosity can climb to, 0 to 1. 0 turns curiosity off.
MaxAlertness0 to 1The highest alertness can climb to, 0 to 1. 0 turns alertness off.
MaxPanic0 to 1The highest panic can climb to, 0 to 1. 0 turns panic off.
FearRiseRateHow fast fear rises, per second, while the AI has been hurt by one of its targets, believes in more than two actors (allies count), faces a Critical threat, or has a Fear Input above 0. Fear Input also multiplies this rate.
FearDecayRateHow fast fear falls, per second, once the AI believes in no one. While anyone remains, fear holds.
AggressionRiseRateHow fast aggression rises, per second, while the AI is hurt, tracks a target, or faces a high threat.
AggressionDecayRateHow fast aggression falls, per second, once no target is left and nothing has hurt it.
CuriosityRiseRateHow fast curiosity rises, per second, while the AI only suspects something, or has heard something it can't see.
CuriosityDecayRateHow fast curiosity falls, per second, once a target is Tracked or Lost, or nothing is left.
AlertnessRiseRateHow fast alertness rises, per second, while a target is Detected or Tracked.
AlertnessDecayRateHow fast alertness falls, per second, at all other times.
PanicRiseRateHow fast panic rises, per second, while fear is above 0.8 with more than one target, or Fear Input is above 0.9.
PanicDecayRateHow fast panic falls, per second, once fear is below 0.5 and Fear Input below 0.3.
EmotionActiveThresholdAn emotion must be above this to be the dominant emotion; when none is, the AI is Calm.
PanicOverrideThresholdAbove this, panic is the dominant emotion whatever the others are.
Threat#
ThreatWeight_ConfidenceHow much the AI's confidence in a target counts toward its threat score. The five weights are added up and the score is kept between 0 and 1.
ThreatWeight_DamageReceivedHow much the damage the target has done to this AI counts toward its threat score (100 damage counts in full).
ThreatWeight_SensesHow much it counts toward the threat score that several senses perceive the target at once: the number of active senses is divided by 8 (the most sense slots an AI can have), so a two-sense AI can add at most a quarter of this weight.
ThreatWeight_RelationshipHow much who the target is counts toward its threat score: Feared 1.5, High Value 1.2, Enemy 1, Unknown 0.5, Neutral 0.3, Friendly and Teammate 0.
ThreatWeight_ApproachA flat bonus to the threat score while the target is Detected or Tracked (sensed right now), nothing otherwise. The approach factor is 1 whenever the AI senses the target in APS 3.0, so this does not measure closing speed.
ThreatThreshold_LowThe threat score (0 to 1) at which a target becomes a Low threat.
ThreatThreshold_MediumThe threat score at which a target becomes a Medium threat.
ThreatThreshold_HighThe threat score at which a target becomes a High threat.
ThreatThreshold_CriticalThe threat score at which a target becomes a Critical threat.
ThreatDamageDecayRate0 to 1How fast the damage a target did fades from its threat score once the target is Lost, Remembered or Expired, per second. 0 never forgets.
Squad#
EligibleRolesThe combat roles this kind of AI may claim. Empty means any.
PlayerModel#
bEnablePlayerBehaviorModelRecord how each target plays, for the session: crouch, walk and sprint shares, how encounters ended, where it hid. Your logic reads it (Get Player Behavior Model); APS doesn't change behaviour by itself.
MinEngagementsRequired1 to 20only when Enable Player Behavior Model is onHow many encounters before the player model's Has Enough Data turns true.
PlayerCrouchSpeedThresholdat least 10only when Enable Player Behavior Model is onWhen no posture is reported, a target slower than this (cm/s) counts as crouching for the player model.
PlayerSprintSpeedThresholdat least 100only when Enable Player Behavior Model is onA target faster than this (cm/s) counts as sprinting for the player model.
Fairness#
FirstSpotReactionTime0 to 5Seconds the AI must keep sensing a target it doesn't know yet before confidence starts to count: a beat for the player to step back. Only until it first suspects that target. 0 is instant.
TelegraphThreshold0 to 1The confidence at which On AI Telegraph fires: a warning before the AI commits. Keep it between Suspect Threshold and Detect Threshold.
bOffscreenHearingPenaltyHear worse while this AI is off the first player's screen (more than about 75° from where the camera points).
OffscreenHearingMultiplier0 to 1only when Offscreen Hearing Penalty is onHow much of its hearing an off-screen AI keeps, 0 to 1.
bRespectNeverSearchZonesWhether this AI's Is Location in Never Search Zone answers. Off: it always answers false. APS enforces nothing by itself.
Replication#
bReplicatePerceptionStateReplicate a compact per-target perception summary to clients so client-side detection meters, HUD and spectator tools work without custom plumbing. Perception itself stays server-authoritative.
MaxReplicatedTargets1 to 8only when Replicate Perception State is onMaximum targets included in the replicated summary. Keep small — this is bandwidth on every AI.
ReplicationInterval0.05 to 2only when Replicate Perception State is onSeconds between replicated state refreshes.
bUseReplicationRelevanceonly when Replicate Perception State is onLeave out of the replicated summary targets nobody is near (Replication Relevance Range) or that it barely suspects (Replication Min Confidence).
ReplicationRelevanceRangeat least 0only when Use Replication Relevance is onA target whose believed position is further than this (cm) from every player camera is left out. 0 turns the distance test off.
ReplicationMinConfidence0 to 1only when Use Replication Relevance is onTargets below this confidence are left out of the replicated summary.
bSkipUnchangedReplicationonly when Replicate Perception State is onSend nothing when nothing changed by more than Replication Confidence Delta.
ReplicationConfidenceDelta0 to 0.5only when Skip Unchanged Replication is onHow much confidence must move before it is worth sending.