Resource 파일(확장자 .RC)은 플러그인이 사용자 정의 그래픽 인터페이스를 생성할 때 사용하는 리소스를 설명합니다. Resource 파일을 쉽게 관리하는 방법은 Visual Studio Editor 도구를 사용하는 것입니다. 이 도구를 사용해 위젯을 캔버스로 끌어 GUI를 빌드할 수 있습니다. 다음 섹션은 새로운 플러그인의 Resource 파일을 생성하는 방법을 설명합니다.
시작에 앞서 해당 개발 툴을 숙달해놓는 것이 좋습니다. 더 많은 정보는 개발 도구 사용하기 를 참고하세요.
Resource 파일 생성하기:
- 다음 명령을 실행해 플러그인을 생성합니다. 메시지가 뜨면 "effect (효과)" 타입 플러그인을 선택하세요. 
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" new
 
- 다음 명령을 실행하여 플러그인 디렉터리로 변경한 다음 
premake 를 호출합니다. cd MyPlugin
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" premake Authoring
 
- Visual Studio 2019에서 생성된 솔루션 파일(예: 
MyPlugin_Authoring_Windows_vc160.sln)을 엽니다. 
- Resource View에서 프로젝트 이름을 선택하고 메뉴 바에서 Project > Add New Item을 클릭합니다. Add New Item 대화 상자가 열립니다.
 
- 왼쪽 창에서 Resource를 선택한 다음 가운데 창에서 Resource File (.rc)을 선택하고 Add를 클릭하세요. 
Resource.rc 파일이 생성되어 Resource View의 프로젝트 이름 아래에 나타납니다. 이 파일은 WwisePlugin 하위 디렉터리에 있습니다. Resource View에서 Resource.rc 파일을 우클릭한 다음 Add Resource를 클릭하세요. Add Resource 대화 상자에서 Dialog를 선택한 다음 New를 클릭합니다. 대화 상자 리소스가 생성되어 편집 창에 나타납니다. 
- Properties 창에서 다음 값을 설정하세요.
- Appearance/Border: None
 
- Appearance/Clip Children: True
 
- Appearance/Style: Child
 
- Misc/Control: True
 
- Misc/Control Parent: True
 
 
- 편집 창 왼쪽에 있는 Toolbox에서 원하는 위젯을 대화 상자로 드래그합니다. 완료되면 Save를 클릭하세요.
 
- 플러그인 디렉터리의 명령 프롬프트에서 다음 두 명령을 순서대로 실행합니다. 
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" premake Authoring
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" build -c Release -x x64 -t vc160 Authoring
  첫 번째 명령은 프로젝트에 Resource.rc 파일을 포함하고, 두 번째 명령은 Resource 파일을 기반으로 resource.h 파일을 생성합니다. 
- 플러그인의 
Win32 하위 디렉터리에서 PluginNamePluginGUI.h 파일을 열고 다음 코드를 추가합니다. #pragma once
 
#include "../MyPlugin.h"
 
#include "../resource.h"
 
class MyPluginGUI final
    : public AK::Wwise::Plugin::PluginMFCWindows<>
{
public:
    MyPluginGUI();
 
    HINSTANCE GetResourceHandle() const override;
 
    bool GetDialog(
        AK::Wwise::Plugin::eDialog in_eDialog,
        UINT& out_uiDialogID,
        AK::Wwise::Plugin::PopulateTableItem*& out_pTable
    ) const override;
 
    bool WindowProc(
        AK::Wwise::Plugin::eDialog in_eDialog,
        HWND in_hWnd,
        uint32_t in_message,
        WPARAM in_wParam,
        LPARAM in_lParam,
        LRESULT& out_lResult
    ) override;
 
private:
    HWND m_hwndPropView = nullptr;
};
  이 코드는 AK::Wwise::Plugin::GUIWindows에서 제공하는 메소드를 오버라이드하고 플러그인이 사용자 정의 인터페이스를 사용하도록 합니다. 
PluginNamePluginGUI.cpp 파일에 다음 코드를 추가합니다: HINSTANCE MyPluginGUI::GetResourceHandle() const
{
    AFX_MANAGE_STATE( AfxGetStaticModuleState() );
    return AfxGetStaticModuleState()->m_hCurrentResourceHandle;
}
 
bool MyPluginGUI::GetDialog( AK::Wwise::Plugin::eDialog in_eDialog, UINT & out_uiDialogID, AK::Wwise::Plugin::PopulateTableItem *& out_pTable ) const
{
    AKASSERT( in_eDialog == AK::Wwise::Plugin::SettingsDialog );
 
    out_uiDialogID = IDD_DIALOG1;
    out_pTable = nullptr;
 
    return true;
}
 
bool MyPluginGUI::WindowProc( AK::Wwise::Plugin::eDialog in_eDialog, HWND in_hWnd, uint32_t in_message, WPARAM in_wParam, LPARAM in_lParam, LRESULT & out_lResult )
{
    switch ( in_message )
    {
    case WM_INITDIALOG:
        m_hwndPropView = in_hWnd;
        break;
    case WM_DESTROY:
        m_hwndPropView = NULL;
        break;
    }
    out_lResult = 0;
    return false;
}
 
- 변경 내용을 저장하고 플러그인을 다시 빌드합니다. 이제 Wwise에서 Effect로 사용할 수 있으며 Wwise 오브젝트에 추가할 수 있습니다.