Terra Studio Wiki
  • Home
  • Scripting in Terra Studio Pro
    • Scripting Basics
    • Key Differences - T# versus C#
      • Syntax Differences - T# v/s C#
      • Multiplayer Support Differences
      • Restrictions on Unity APIs
      • Restrictions on Collections & Types
      • Restrictions on Input, UI, Async
      • Miscellaneous Restrictions
    • Creating & Using Scripts
    • πŸ“˜ Terra Studio Runtime Classes
    • 🎨 Terra Studio UI Systems Overview
    • Animation Support
    • 🎧 Audio & SFX Support in Terra Studio
    • πŸ”₯ VFX Support in Terra Studio
    • πŸ“Š Game Analytics & FTUE Tracking in Terra Studio
    • 🌐 Multiplayer in Terra Studio
Powered by GitBook
On this page
  • 🎀 Key Audio Features Fully Supported
  • βœ… AudioSource Component
  • βœ… AudioListener
  • βœ… 3D Spatial Sound
  • βœ… AudioClip Support
  • βœ… AudioMixer
  • βœ… Reverb Zones & Effects
  • βœ… Triggering Audio via Animation or Events
  • βœ… Audio in UI
  • βœ… Audio via Scripting
  • πŸͺ‘ Usage Notes for Terra Studio
  • πŸ”Ή Audio in T# Scripts
  1. Scripting in Terra Studio Pro

🎧 Audio & SFX Support in Terra Studio

Terra Studio Pro provides full support for Unity's built-in audio and sound effect (SFX) systems. Developers can use Unity's native tools and APIs without any modifications, enabling seamless integration of sound into games and experiences.

Whether you're adding ambient background audio, triggering 3D spatialized sound effects, or managing dynamic music systems, all Unity SFX capabilities are available in Terra Studio out of the box. The only caveats apply to scripting via T#, where some advanced C# constructs may be limited.


🎀 Key Audio Features Fully Supported

βœ… AudioSource Component

Attach to any GameObject to play audio clips.

  • Supports looping, volume, pitch, stereo pan

  • Play on awake, play via script

  • Control playback: Play, Pause, Stop, UnPause

βœ… AudioListener

Acts as the point of reference for all 3D spatialized audio.

  • Usually attached to the player or camera

  • Only one active AudioListener should exist in a scene at a time

βœ… 3D Spatial Sound

  • Distance-based attenuation

  • Doppler effect

  • Spread and rolloff controls

  • Stereo panning and spatial blend

βœ… AudioClip Support

  • Import .mp3, .wav, .ogg, and .aiff files

  • Use compressed or uncompressed formats

  • Load via inspector or dynamically in code

βœ… AudioMixer

  • Create snapshots and blend between them

  • Control group volumes and effects

  • Route audio through mixer groups for complex setups

βœ… Reverb Zones & Effects

  • Use built-in audio filters such as:

    • Low Pass

    • High Pass

    • Reverb

    • Echo

    • Distortion

    • Chorus

βœ… Triggering Audio via Animation or Events

  • Add Audio Events to Animation Clips

  • Trigger sound via scripts using animation or gameplay conditions

βœ… Audio in UI

  • Easily add sound feedback to buttons, sliders, and other interactive UI elements

βœ… Audio via Scripting

Use Unity’s audio scripting APIs to:

  • Play clips dynamically with AudioSource.PlayOneShot()

  • Change clip, volume, or pitch at runtime

  • Mute or unmute

  • Transition between audio states


πŸͺ‘ Usage Notes for Terra Studio

  • All AudioSource, AudioListener, and AudioClip functionality is supported as-is.

  • Use the Unity Editor to preview and adjust sounds just like any Unity project.

  • Animation + sound combinations (e.g., footsteps) are fully supported.

  • For multiplayer games, network synchronization of audio events may require additional logic using TerraNetBehaviour.

  • For advanced audio setups, use AudioMixer assets to manage complexity.


πŸ”Ή Audio in T# Scripts

While Unity’s audio system is fully supported, ensure your scripting logic in T# follows supported syntax:

  • Avoid async/await and lambdas if not compatible

  • Prefer direct GetComponent(typeof(AudioSource)) instead of generics

  • Always check for null before playing audio


.

PreviousAnimation SupportNextπŸ”₯ VFX Support in Terra Studio

Last updated 2 months ago

For scripting limitations and safe patterns, refer to

Key Differences between T# & C#