Debug and Testing
Use the SurvivalSubSystem Output Log category. Check activation before investigating numeric mutation failures: PawnRef must be initialized by SetComponentActive and have authority.
| Test | Verify |
|---|---|
| Fresh activation | Settings defaults copied; expected initial tags; update delegates bound |
| Repeated activation/deactivation | Defaults reset deliberately, subscriptions and downed timer behavior understood |
| Health/armor damage | Armor consumed first; remaining damage applied; tags stay consistent after life transitions |
| Revive/downed/death | Lethal hit ordering, timer enable flag, revive permission and regeneration while downed/dead |
| Food/water pulses | Correct per-pulse quantity, Hungry/Thirsty tags, threshold tags and replenishment |
| Stamina movement | Moving and Running combination, exhaustion/recovery, effective modifier/cap |
| Temperature | Heating/cooling priority, threshold callbacks and values beyond thresholds |
| Cross-affects | Source whitelist, manager initialization, exact key and overlapping source removal |
| UI/late join | Initial snapshot, replicated tags, client threshold configuration and special event behavior |
| Travel/respawn | Timers belong to current world; new component activation and HUD binding |
Run Standalone, listen-server PIE and dedicated-server PIE separately, then packaged tests with multiple clients and network simulation. The default Standalone pulse exclusion and world-ready timing need particular attention. Debug Blueprint actors are examples to inspect, not a verified automated test suite.
This documentation task performed static checks only. Implementation Limits provides source findings to turn into targeted integration tests.