Unreal Doc : https://docs.unrealengine.com/5.3/ko/sound-attenuation-in-unreal-engine/
리스너가 사운드 재생 위치에서 멀어져감에 따라 볼륨을 줄여주는 기능을 의미한다.
(리스너는 기본으로 플레이어 카메라로 설정되어 있으며, 리스너는 코드로 대상을 변경할 수 있다 [Set Audio Listener Override 참고])

거리에 따른 볼륨 비율을 정해주는 옵션. 선형이 기본이고, Custom 제작도 가능하다
Radius는 두 개를 설정할 수가 있다.
Inner Radius = 감쇠를 적용할 최소 거리
Falloff Distance = 감쇠를 유지할 최대 거리
이미지로 간단하게 요약하면 다음과 같다.

감쇠를 적용하는 모양.
Box, Sphere, Capsule 같이 기본적인 모형에 Cone 같은 특수한 모형도 있다.
Attenuation은 두 가지 방식으로 설정할 수 있다.
사운드 카테고리에서 애셋을 제작할 수 있다.

애셋을 만들고 열어보면, 위에서 설명한 감쇠 관련 옵션을 설정할 수 있다.
이 항목 밑에 더 많은 세팅 옵션이 있으나, 간단한 감쇠 적용을 위해서라면 이 정도로도 충분하다.
세팅까지 완료한 Attenuation 애셋은 SoundWave나, SoundCue, AudioComponent에서도 적용할 수 있다.

-각각 SoundWave, SoundCue, AudioComponent에서의 적용 방법
이 방식은 C++ 코드, 혹은 Blueprint로만 할 수 있다.
Runtime에서 연산된 수치에 따른 감쇠를 하고 싶다면 1번은 사용할 수 없으므로, 이 방법을 사용해야만 한다.
그런데 이 부분은 1번 애셋과 세팅 방법이 많이 달라서 바로 보았을 때 어떤 걸 세팅해야 할 지 복잡하다.
(Struct를 만든 순간 나오는 무수한 데이터;;)
사실 이 Struct와 SoundAttenuation 애셋은 동일한 데이터다.
애셋에서도 동일한 Struct를 활용하지만, Slate를 사용하여 변수명도 바꾸고 현재 세팅에서 사용 않는 변수는 가려주는 등의 처리가 들어가기 때문에 달라 보이는 것이다.
여기서 헷갈리는 부분이 제일 핵심인 Radius 항목일 텐데(명칭이 아예 다름), 다음과 같이 세팅을 해주면 된다.

런타임에서 "au.3dVisualize.Attenuaion" 커맨드를 사용하면, 현재 Active 중인 사운드와 거리 수치를 확인할 수 있다.

여기서 추가적으로 위 이미지 처럼 감쇠 적용 모양을 3d 형태로 볼 수도 있는데, 이를 위해서는 SoundWave 애셋에서 디버그 활성화를 해주면 확인 가능하다.
