Pepper.SFX
All Guidance pages

Guidance / Cookbook

Setup & Organization

Recipe: First-Time Project Setup (10 minutes)

πŸ“‹ What: Complete setup from scratch to playing first sound

Step 1: Create AudioManager (2 min)

  1. Create empty GameObject in scene: β€œAudioManager”

  2. Add component: AudioManager (Component β†’ Audio System β†’ Audio Manager)

  3. Configure Inspector:

    • Master Volume: 1.0
    • Max Real Voices: 32
    • Max Virtual Voices: 64
    • Enable LOD: βœ“

    Occlusion is opted into per-container (see the Use Occlusion toggle on AudioContainer assets), not via a global AudioManager switch.

Step 2: Create Folder Structure (2 min)

Right-click in Project, create folders:

Assets/
β”œβ”€β”€ Resources/
β”‚   └── Audio/
β”‚       β”œβ”€β”€ Events/  ← AudioEvents MUST go here
β”‚       └── States/  ← AudioStates MUST go here
└── Audio/
    β”œβ”€β”€ Containers/  ← Container assets
    β”œβ”€β”€ Buses/       ← Bus assets
    └── AudioClips/  ← Your .wav/.mp3 files
        β”œβ”€β”€ SFX/
        β”œβ”€β”€ Music/
        └── Ambience/

Step 3: Create Master Bus (1 min)

  1. Right-click Buses/ β†’ Create β†’ Audio System β†’ Audio Bus
  2. Name: β€œMaster_Bus”
  3. Inspector:
    • Bus Name: β€œMaster”
    • Volume Db: -3
    • Parent Bus: (none)

Step 4: Create SFX Bus (1 min)

  1. Right-click Buses/ β†’ Create β†’ Audio System β†’ Audio Bus
  2. Name: β€œSFX_Bus”
  3. Inspector:
    • Bus Name: β€œSFX”
    • Volume Db: 0
    • Parent Bus: Master_Bus

Step 5: Create First Container (2 min)

  1. Right-click Containers/ β†’ Create β†’ Audio System β†’ Routing Container
  2. Name: β€œTest_Click_RC”
  3. Inspector:
    • Container Name: β€œTestClick”
    • Audio Clips: Drag in a sound
    • Volume: 1.0
    • Enable Volume Randomization: βœ“ (Min: -1, Max: 1)
    • Enable Pitch Randomization: βœ“ (Min: -50, Max: 50)

Step 6: Create First Event (2 min)

  1. Right-click Assets/Resources/Audio/Events/ β†’ Create β†’ Audio System β†’ Audio Event
  2. Name: β€œPlay_TestClick”
  3. Inspector:
    • Event Name: β€œPlay_TestClick”
    • Priority: High
    • Max Instances: 3
    • Actions β†’ Size: 1
    • Action [0]:
      • Type: Play
      • Container: Test_Click_RC
      • Target Bus: SFX_Bus

βœ… Result: Complete audio pipeline ready to use!


πŸ“‹ What: Professional bus structure for games

βš™οΈ Setup:

Create Master Bus:

  • Name: Master_Bus
  • Bus Name: β€œMaster”
  • Volume Db: -3
  • Parent: (none)

Create SFX Bus:

  • Name: SFX_Bus
  • Bus Name: β€œSFX”
  • Volume Db: 0
  • Parent: Master_Bus

Create SFX Sub-Buses:

  1. Player_Bus

    • Bus Name: β€œPlayer”
    • Parent: SFX_Bus
    • Volume Db: 0
  2. Weapons_Bus

    • Bus Name: β€œWeapons”
    • Parent: Player_Bus
    • Volume Db: 0
  3. Footsteps_Bus

    • Bus Name: β€œFootsteps”
    • Parent: Player_Bus
    • Volume Db: -6
  4. Enemies_Bus

    • Bus Name: β€œEnemies”
    • Parent: SFX_Bus
    • Volume Db: -3
  5. UI_Bus

    • Bus Name: β€œUI”
    • Parent: SFX_Bus
    • Volume Db: 0
  6. Ambience_Bus

    • Bus Name: β€œAmbience”
    • Parent: SFX_Bus
    • Volume Db: -6

Create Music Bus:

  • Name: Music_Bus
  • Bus Name: β€œMusic”
  • Parent: Master_Bus
  • Volume Db: -6

Create Dialogue Bus:

  • Name: Dialogue_Bus
  • Bus Name: β€œDialogue”
  • Parent: Master_Bus
  • Volume Db: 0
  • Enable Ducking: βœ“
  • Ducking Targets:
    • Music_Bus, Amount: 0.7
    • SFX_Bus, Amount: 0.5

Final Hierarchy:

Master (-3dB)
β”œβ”€β”€ SFX (0dB)
β”‚   β”œβ”€β”€ Player (0dB)
β”‚   β”‚   β”œβ”€β”€ Weapons (0dB)
β”‚   β”‚   └── Footsteps (-6dB)
β”‚   β”œβ”€β”€ Enemies (-3dB)
β”‚   β”œβ”€β”€ UI (0dB)
β”‚   └── Ambience (-6dB)
β”œβ”€β”€ Music (-6dB)
└── Dialogue (0dB) [Ducks Music & SFX]

βœ… Result: Professional mixing structure with ducking!

From the Pepper.SFX 3.1 guides (USER_GUIDE.md). Something wrong or unclear? Tell me.