unreal-bp
1
总安装量
1
周安装量
#43010
全站排名
安装命令
npx skills add https://github.com/koshimazaki/ue-audio-skills --skill unreal-bp
Agent 安装分布
amp
1
opencode
1
kimi-cli
1
codex
1
github-copilot
1
claude-code
1
Skill 文档
Unreal Engine Blueprint â Audio Logic & Asset Management
Handle Blueprint audio logic: game event detection, parameter wiring to MetaSounds/Wwise, asset scanning, and audio component setup.
Blueprint Audio Architecture
Blueprints are the WHEN layer â they detect game events and route parameters to audio systems:
Game Event (overlap, anim notify, input)
â Blueprint Logic (detect, filter, transform)
â Audio Action (play sound, set RTPC, post event)
Audio Blueprint Nodes
Playback
| Node | Use | Spatial |
|---|---|---|
PlaySound2D |
UI, non-positional audio | No |
PlaySoundAtLocation |
One-shot 3D sound | Yes |
SpawnSoundAtLocation |
Persistent 3D sound (returns component) | Yes |
SpawnSound2D |
Persistent non-spatial | No |
Dialogue
| Node | Use |
|---|---|
PlayDialogue2D |
Non-spatial dialogue |
PlayDialogueAtLocation |
3D dialogue |
SpawnDialogue2D |
Persistent non-spatial dialogue |
SpawnDialogueAtLocation |
Persistent 3D dialogue |
Mixing
| Node | Use |
|---|---|
SetSoundMixClassOverride |
Override sound class volumes |
ClearSoundMixClassOverride |
Remove overrides |
PushSoundMixModifier |
Activate sound mix |
PopSoundMixModifier |
Deactivate sound mix |
SetGlobalPitchModulation |
Global pitch shift |
Wwise (via AkAudio plugin)
| Node | Use |
|---|---|
PostEvent |
Trigger Wwise event |
SetRTPCValue |
Set RTPC parameter |
SetSwitch |
Set switch group value |
SetState |
Set global state |
PostTrigger |
Post Wwise trigger |
Game Event Patterns
Animation Notify â Sound
AnimNotify_Footstep
â Line Trace Down (surface detect)
â Set Switch (Surface = result)
â PostEvent (Play_Footstep)
Overlap Volume â Ambient
OnBeginOverlap
â Set RTPC (Ambient_Volume = 1.0)
OnEndOverlap
â Set RTPC (Ambient_Volume = 0.0)
State Change â Weather Audio
OnWeatherChanged (Rain/Snow/Wind/Clear)
â Set State (Weather = new_state)
â Set RTPC (Wind_Intensity = value)
Damage â Impact Sound
OnHit / OnDamageReceived
â Get Hit Result (surface, location, normal)
â SpawnSoundAtLocation (location, rotation from normal)
â Set Switch (Material = physical material)
Player Movement â Audio Params
Tick / Timer
â Get Velocity â Vector Length
â Set RTPC (Player_Speed = length)
â Set RTPC (Player_Height = Z position)
Blueprint Scanning
The MCP plugin can deep-scan Blueprint graphs for audio-relevant nodes.
Scan Commands (via TCP plugin)
// List all project Blueprints
{"action": "list_assets", "class_filter": "Blueprint"}
// Scan one BP for audio nodes
{"action": "scan_blueprint", "asset_path": "/Game/BP_Player", "audio_only": true, "include_pins": true}
// List MetaSounds assets
{"action": "list_assets", "class_filter": "MetaSoundSource"}
// List all sound waves
{"action": "list_assets", "class_filter": "SoundWave"}
Batch Project Scan
python scripts/scan_project.py --full-export --import-db --rebuild-embeddings
Scans all BPs + MetaSounds graphs, imports to SQLite, rebuilds TF-IDF embeddings.
Scan Output Structure
{
"blueprint_name": "BP_Player",
"parent_class": "Character",
"total_nodes": 245,
"graphs": [
{
"graph_name": "EventGraph",
"nodes": [
{
"type": "CallFunction",
"function": "PlaySoundAtLocation",
"is_audio": true,
"pins": [...]
}
]
}
],
"audio_summary": {
"total_audio_nodes": 4,
"functions": ["PlaySoundAtLocation", "SetRTPCValue"],
"events": ["Play_Footstep"],
"components": ["AkComponent"]
}
}
Audio Detection Keywords
Sound, Audio, Ak, Wwise, MetaSound, RTPC, PostEvent, SoundCue, SoundWave, AudioComponent, AkComponent, SoundClass, SoundMix, Attenuation, Reverb, Submix, AudioVolume, AmbientSound, DialogueWave, SoundBase
Asset Types (class_filter values)
| Filter | What |
|---|---|
Blueprint |
All Blueprints |
WidgetBlueprint |
UI Blueprints |
AnimBlueprint |
Animation Blueprints |
MetaSoundSource |
MetaSounds Source assets |
MetaSoundPatch |
MetaSounds Patch assets |
SoundWave |
Imported audio files |
SoundCue |
Legacy Sound Cue graphs |
SoundAttenuation |
Attenuation settings |
SoundClass |
Sound classification |
SoundConcurrency |
Concurrency rules |
SoundMix |
Mix presets |
ReverbEffect |
Reverb settings |
Blueprint â MetaSounds Wiring
Exposing MetaSounds Parameters to Blueprint
- Add graph input in MetaSounds (Float, Int32, Trigger)
- In Blueprint, get AudioComponent reference
- Call
SetFloatParameter/SetIntParameter/SetTriggerParameter
AudioComponent â SetFloatParameter("Cutoff", 2000.0)
AudioComponent â SetTriggerParameter("Fire")
Blueprint â Wwise Wiring
- Create GameParameter in Wwise (e.g., “Player_Speed”)
- In Blueprint, call
SetRTPCValue("Player_Speed", velocity) - In Wwise, map RTPC to volume/pitch/filter curves
Available MCP Tools (Python)
| Tool | Function |
|---|---|
bp_search |
Search knowledge DB for Blueprint nodes |
bp_node_info |
Get detailed node specification |
bp_list_categories |
List Blueprint node categories |
bp_call_function |
Execute allowlisted function via plugin |
bp_list_assets |
List project assets by class |
bp_scan_blueprint |
Deep-scan BP graph for audio nodes |
UE4 â UE5 Conversion Map
| UE4 Sound Cue | UE5 MetaSounds |
|---|---|
| Attenuation | UE.Attenuation interface |
| Concatenator | Trigger Sequence â Wave Players |
| Crossfade by Distance | Map Range + Crossfade |
| Delay | Trigger Delay |
| Doppler | Doppler Pitch Shift |
| Looping | Wave Player Loop=true |
| Mixer | Add (Audio) |
| Modulator | Random Get â Multiply |
| Oscillator | Sine/Saw/Square/Triangle |
| Random | Random Get |
| Sound Wave Player | Wave Player |
| Branch | Trigger Route |
| Continuous Modulator | LFO |
| Switch | Trigger Route + graph input |
Source Files
- Blueprint tools:
src/ue_audio_mcp/tools/blueprints.py - Knowledge DB:
src/ue_audio_mcp/knowledge/db.py(tables: blueprint_audio, blueprint_core, blueprint_nodes_scraped, project_blueprints) - Tutorials:
src/ue_audio_mcp/knowledge/tutorials.py - Scan script:
scripts/scan_project.py - BP scraper:
scripts/scrape_blueprint_api.py - C++ scan command:
ue5_plugin/UEAudioMCP/Source/UEAudioMCP/Private/Commands/QueryCommands.cpp
$ARGUMENTS