こんにちは、Unityエンジニアのオオバです。

今週のお題「特大ゴールデンウィークSP」
CRI ADX2LEをUnityで使用していて、シーン開始フローの中でACFファイルをロードしたタイミングで、

CriAtomPlugin is not initialized

というエラーに遭遇した共有です。

ACFファイル自体はAtomCraftから正しく出力されて、UnityプロジェクトのStreamingAssetsに格納されていることを確認できています。
ちなみに、以下のようなコードでACFファイルをロードしています。

private IEnumerator LoadAcf()  
{
    var path = $"{Application.streamingAssetsPath}/Hoge.acf";  
    CriAtomEx.RegisterAcf(null, path);  
    yield return null;  

    if (CriAtomEx.GetNumGameVariables() == -1)  
    {
        // ここでCriAtomPlugin is not initializedエラー  
        Debug.LogError(message);  
    }
}

CriWareLibraryInitializerとCriWareErrorHandlerがシーンになかった

Unityのサウンド機能をADX2で強化する - Qiita
一条さんの記事を改めて読んで、ADX2LEの導入をやってみて特定できました。

原因は単純で、CriWareLibraryInitializerとCriWareErrorHandlerを予めシーンに配置しておかないといけないということでした。

最後に

CRIのエラーログをググっても解決方法が出てこないことがよくあり困ることが多々あります。。。
少しハマりました。以上。

オススメ記事