PF2e Perception & Stealth

Flow of Control Reference — Player Core

Stealth Actions Flow

From the stealther’s perspective — how detection states change based on actions you take

Observed
Hidden
Undetected
Unnoticed
Action / Roll
%%{init: {'theme':'dark','themeVariables':{'background':'#161210','primaryColor':'#193a14','primaryTextColor':'#e8d5b0','primaryBorderColor':'#3a7c32','lineColor':'#9a7e56','secondaryColor':'#3e2e06','tertiaryColor':'#1a2840','edgeLabelBackground':'#211a13','clusterBkg':'#211a13'}}}%% flowchart LR classDef obs fill:#193a14,stroke:#3a7c32,color:#b8e8b0,rx:30 classDef hid fill:#3e2e06,stroke:#a07a10,color:#f0e060 classDef und fill:#3e1a06,stroke:#a04010,color:#f0a868 classDef unn fill:#300c0c,stroke:#8a1010,color:#f07070 classDef act fill:#1a2840,stroke:#4080b0,color:#90c0e8 classDef roll fill:#201828,stroke:#6040a0,color:#c0a0e8 OBS(["OBSERVED"]):::obs HID(["HIDDEN"]):::hid UND(["UNDETECTED"]):::und UNN(["UNNOTICED"]):::unn HIDE["HIDE — needs cover or concealment — secret Stealth roll vs Perception DC Standard cover +2 · Greater cover +4"]:::act SNEAK["SNEAK — cover at START and END — move ≤ half Speed secret Stealth roll vs Perception DC"]:::act OBS --> HIDE HIDE -->|"✓ Success"| HID HIDE -->|"✗ Failure"| OBS HID --> SNEAK HID -->|"Non-stealthy action or Strike"| OBS HID -->|"STEP with cover / concealment"| HID HID -->|"Unobtrusive action GM may require Stealth"| HID SNEAK -->|"✓ Success"| UND SNEAK -->|"✗ Failure"| HID SNEAK -->|"✗✗ Crit Failure (not invisible)"| OBS UND -->|"SNEAK ✓ Success"| UND UND -->|"HIDE ✓ Success"| HID UND -->|"Speak or make loud noise"| OBS UNN -.->|"may also be"| UND UNN -->|"Speak, loud noise or non-stealthy action"| OBS

Key Rules

  • HIDE requires that you have cover or concealment from the target. You can’t hide in the open.
  • SNEAK requires cover or concealment at both the start and end of your movement. You move up to half your Speed.
  • Taking any non-unobtrusive action while hidden immediately makes you Observed.
  • A Strike from a hidden or undetected position makes you Observed after the attack (target now knows your location).
  • An Invisible creature that critically fails a Sneak roll becomes Hidden rather than Observed, since it cannot be seen.
  • AVOID NOTICE (Exploration): Roll Stealth to start an encounter Hidden or Undetected rather than Observed.

Detection & Targeting Flow

From the detector’s perspective — how to determine a creature’s condition and what you can do about it

Observed
Hidden
Undetected
Unnoticed
Action / Roll
Decision
%%{init: {'theme':'dark','themeVariables':{'background':'#161210','primaryColor':'#211a13','primaryTextColor':'#e8d5b0','primaryBorderColor':'#7a5c18','lineColor':'#9a7e56','secondaryColor':'#2e2318','tertiaryColor':'#1a2840','edgeLabelBackground':'#211a13'}}}%% flowchart TD classDef obs fill:#193a14,stroke:#3a7c32,color:#b8e8b0 classDef hid fill:#3e2e06,stroke:#a07a10,color:#f0e060 classDef und fill:#3e1a06,stroke:#a04010,color:#f0a868 classDef unn fill:#300c0c,stroke:#8a1010,color:#f07070 classDef act fill:#1a2840,stroke:#4080b0,color:#90c0e8 classDef dec fill:#201828,stroke:#6040a0,color:#d0c0f0 classDef start fill:#2a1f14,stroke:#7a5c18,color:#e8d5b0 START(["Start: What can you perceive?"]):::start Q1{"Can your precise sense\ndetect the creature?"}:::dec Q2{"Do you know it\nis nearby?"}:::dec Q3{"Do you know\nwhich space?"}:::dec OBS(["OBSERVED — target normally — off-guard? No (if also concealed: DC 5 flat check)"]):::obs HID(["HIDDEN — you know the space — off-guard to you DC 11 flat check before roll Fail = actions wasted, still off-guard"]):::hid UND(["UNDETECTED — don't know the space — off-guard to you Pick a square to attack GM secretly rolls flat check + attack Won't reveal why you missed"]):::und UNN(["UNNOTICED — no idea it exists — Cannot target at all"]):::unn SEEK["SEEK action Secret Perception roll vs creature's Stealth DC"]:::act START --> Q1 Q1 -->|"YES — precise sense works"| OBS Q1 -->|"NO"| Q2 Q2 -->|"NO"| UNN Q2 -->|"YES"| Q3 Q3 -->|"YES — know the space"| HID Q3 -->|"NO — don't know the space"| UND HID -->|"Use SEEK"| SEEK UND -->|"Use SEEK"| SEEK SEEK -->|"Critical Success"| OBS SEEK -->|"Success (precise sense + creature visible)"| OBS SEEK -->|"Success (imprecise sense or creature invisible)"| HID SEEK -->|"Failure — creature stays at current state"| HID

Targeting Summary

  • Observed: Attack normally. If also concealed, attempt a DC 5 flat check before rolling — fail means no effect.
  • Hidden: Attempt a DC 11 flat check before rolling. On a fail, your actions (and spell slots, resources) are wasted. You remain off-guard to the creature regardless.
  • Undetected: Declare a square to attack. The GM secretly rolls both the flat check and your attack roll. The GM will not say whether you missed due to the flat check, the attack roll, or choosing the wrong square.
  • Unnoticed: You cannot target the creature directly. Area effects still work normally against undetected creatures.
  • Invisible creature starts as Hidden if you were already observing it when it turned invisible (you last know where it was). It can then Sneak to become Undetected.
  • Off-guard applies against you when attacking a creature that is hidden or undetected relative to you — it gets the −2 AC penalty.