OnAudioFilterRead(float[] data, int channels).asmdef 파일을 추가하면 해당 폴더와 하위 폴더의 스크립트들을 별도의 어셈블리로 컴파일하게 만들 수 있다.internalprivate 같은 접근 제한자의 일종.
해당 코드(클래스, 메서드, 필드 등)가 같은 어셈블리 안에서만 접근 가능하도록 만듦.
[StructLayout()]StructLayout(LayoutKind.Sequential) : 필드를 선언한 순서대로 메모리에 배치하라IDisposable을 자동으로 호출하는 usingusing (var resource = new SomeResource())
{
// 이 블록 안에서 resource 사용
}
// 블록 끝나면 resource.Dispose() 자동 호출됨
GC가 못 닫는 파일 핸들, 네트워크 소켓, 네이티브 메모리 같은 거 자동으로 Dispose()해주는게 using 문법
네임스페이스 using과는 다르다. Burst 컴파일하면 using으로 자동 Dispose 호출 안 해준다.
OnAudioFilterRead 함수로 파형을 만든다. 그냥 작성하면 0.1ms나 걸림.
실행 속도를 높이기 위해 Burst Compiler를 쓰기 위해 custom data type을 넣기 위해 unsafe를 사용하기 위해 assembly definition를 생성.