skills/ue-collision-preset-auditor/SKILL.md
Audit collision channels and presets including response matrices, channel conflicts, and trace channel usage. Use when debugging collision issues, reviewing physics setup, or validating collision configuration. Triggers on "collision preset", "collision channel", "collision audit", "physics collision", "trace channel", "collision matrix".
npx skillsauth add sipherxyz/universal-ue-skills ue-collision-preset-auditorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Audit collision channel configuration and preset assignments.
| Check | Severity | Description | |-------|----------|-------------| | Unused Channels | Info | Channels defined but not used | | Channel Conflicts | Warning | Overlapping response patterns | | Missing Responses | Error | Expected responses not configured |
| Check | Severity | Description | |-------|----------|-------------| | Preset Exists | Error | Referenced preset must exist | | Response Complete | Warning | All channels have explicit response | | Preset Consistency | Warning | Similar actors use same preset |
| Check | Severity | Description | |-------|----------|-------------| | Trace Usage | Info | Where traces are used | | Response Coverage | Warning | Actors respond to common traces |
## Collision Configuration
### Object Channels
| Channel | Name | Default Response |
|---------|------|------------------|
| ECC_GameTraceChannel1 | SipherHitbox | Block |
| ECC_GameTraceChannel2 | SipherProjectile | Block |
| ECC_GameTraceChannel3 | SipherInteractable | Overlap |
### Trace Channels
| Channel | Name | Default Response |
|---------|------|------------------|
| ECC_GameTraceChannel10 | SipherDamageTrace | Block |
| ECC_GameTraceChannel11 | SipherVisibilityTrace | Block |
| ECC_GameTraceChannel12 | SipherInteractionTrace | Overlap |
### Collision Presets
#### EnemyCharacter
| Response To | Setting |
|-------------|---------|
| WorldStatic | Block |
| WorldDynamic | Block |
| Pawn | Block |
| PlayerCharacter | Block |
| EnemyCharacter | Overlap |
| SipherHitbox | Block |
| SipherProjectile | Block |
#### PlayerCharacter
| Response To | Setting |
|-------------|---------|
| WorldStatic | Block |
| WorldDynamic | Block |
| Pawn | Block |
| PlayerCharacter | Ignore |
| EnemyCharacter | Block |
| SipherHitbox | Block |
| SipherProjectile | Block |
### Response Matrix (Block = ■, Overlap = ○, Ignore = ·)
| World | Pawn | Player | Enemy | Hitbox | Proj |
--------------|-------|------|--------|-------|--------|------|
WorldStatic | ■ | ■ | ■ | ■ | · | ■ |
PlayerChar | ■ | ■ | · | ■ | ■ | ■ |
EnemyChar | ■ | ■ | ■ | ○ | ■ | ■ |
Projectile | ■ | ○ | ■ | ■ | · | · |
Hitbox | · | ○ | ■ | ■ | · | · |
### Issues Found
#### [ERROR] Asymmetric Response
- **Between**: PlayerCharacter ↔ EnemyCharacter
- **Player→Enemy**: Block
- **Enemy→Player**: Block
- **Status**: OK (symmetric)
#### [WARNING] Missing Hitbox Response
- **Preset**: InteractableObject
- **Channel**: SipherHitbox
- **Current**: Not specified (uses default)
- **Expected**: Overlap or Ignore
- **Fix**: Add explicit response in preset
#### [WARNING] Unused Channel
- **Channel**: ECC_GameTraceChannel5 (SipherDebugTrace)
- **Usage**: No actors or traces reference this
- **Fix**: Remove or document purpose
#### [INFO] Overlapping Presets
- **Presets**: EnemyCharacter, BossCharacter
- **Difference**: Only Boss blocks SipherInteractable
- **Suggestion**: Consider inheriting or documenting reason
// Standard character preset pattern
Profile = "SipherCharacter"
ObjectType = ECC_Pawn
// Responses
WorldStatic: Block
WorldDynamic: Block
Pawn: Block (or Overlap for AI-to-AI)
PhysicsBody: Block
Vehicle: Block
Destructible: Block
// Custom channels
SipherHitbox: Block (receive damage)
SipherProjectile: Block (hit by projectiles)
SipherInteractable: Overlap (can interact)
// Hitbox preset pattern
Profile = "SipherHitbox"
ObjectType = ECC_GameTraceChannel1
// Responses
WorldStatic: Ignore
WorldDynamic: Ignore
Pawn: Overlap (detect hit, don't block)
SipherHitbox: Ignore (don't hit other hitboxes)
// Enable overlap events
bGenerateOverlapEvents = true
// Projectile preset pattern
Profile = "SipherProjectile"
ObjectType = ECC_GameTraceChannel2
// Responses
WorldStatic: Block (stop on walls)
WorldDynamic: Block
Pawn: Block (hit characters)
SipherHitbox: Ignore (don't interact with melee hitboxes)
SipherProjectile: Ignore (don't hit other projectiles)
| Trace Type | Channel | Use For | |------------|---------|---------| | Damage | SipherDamageTrace | Hit detection, line traces | | Visibility | SipherVisibilityTrace | AI sight, cover checks | | Interaction | SipherInteractionTrace | Interactable detection | | Navigation | SipherNavTrace | Path validation |
# Collision Audit Report
## Executive Summary
- **Channels Defined**: {N}
- **Presets Defined**: {N}
- **Issues Found**: {N}
## Channel Usage
| Channel | Presets Using | Actors Using |
|---------|---------------|--------------|
| {Channel} | {N} | {N} |
## Preset Coverage
| Actor Type | Preset | Status |
|------------|--------|--------|
| Player | PlayerCharacter | OK |
| Enemy | EnemyCharacter | OK |
| Boss | BossCharacter | Missing response |
## Response Matrix
{Visual matrix}
## Issues by Severity
### Errors
1. {Error}
### Warnings
1. {Warning}
## Recommendations
1. {Recommendation}
## Cleanup Opportunities
- Unused channels to remove: {List}
- Redundant presets to merge: {List}
| Command | Purpose |
|---------|---------|
| show Collision | Visualize collision |
| p.DebugDraw 1 | Physics debug draw |
| CollisionAnalyzer | Built-in collision tool |
development
This skill should be used when implementing features in isolation using git worktrees. Triggers on "create worktree", "isolated workspace", "parallel development", or when starting implementation that should not affect main workspace.
testing
Manage VFX team issues on GitHub Projects - timeline scheduling, status updates, member commit checks, bulk assign. Use when managing VFX team project board, adding issues to timeline, checking member progress, or bulk-updating issue fields.
tools
Generate C++ validation rules from JSON definitions. Use when team updates ValidationRules.json or asks to add/modify validation rules.
development
Check codebase for Microsoft Xbox XR (Xbox Requirements) compliance issues. Scans for account picker, cloud saves, achievements, Quick Resume, and Xbox certification requirements. Use before console submission or when preparing for Microsoft certification. Triggers on "XR", "Xbox certification", "Microsoft compliance", "Xbox cert", "Xbox requirements", "GDK compliance".