Hey, I recently grabbed the 2015.1 build to work around another issue, and get this crash on application quit. I can repro it on a new unity scene with a GameObject with a trigger, an AkGameObj, and an AkAmbient component with the Trigger On: set to AkTriggerDisable
Callstack:
00007FFC40A72A8A (AkSoundEngine) CSharp_AK_LE_NATIVE_BITSPERSAMPLE_get
00007FFC40A5D9EB (AkSoundEngine) AK::SoundEngine::RegisterGameObj
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFC40A5256B)
00007FFC40A5256B (AkSoundEngine)
000000001BF284C2 (Mono JIT Code) (wrapper managed-to-native) AkSoundEnginePINVOKE:CSharp_RegisterGameObjInternal_WithName_WithMask (int,string,uint)
000000001BF28324 (Mono JIT Code) [C:\perforce\Wattam\Branches\Development\Unity5\Assets\Wwise\Deployment\API\Generated\Windows\AkSoundEngine_Windows.cs:3959] AkSoundEngine:RegisterGameObjInternal_WithName_WithMask (int,string,uint)
000000001BF2827E (Mono JIT Code) [C:\perforce\Wattam\Branches\Development\Unity5\Assets\Wwise\Deployment\API\Generated\Windows\AkSoundEngine_Windows.cs:66] AkSoundEngine:RegisterGameObj (UnityEngine.GameObject,string,uint)
000000006C9D3EFB (Mono JIT Code) [C:\perforce\Wattam\Branches\Development\Unity5\Assets\Wwise\Deployment\API\Handwritten\AkAutoObject.cs:9] AkAutoObject:.ctor (UnityEngine.GameObject)
000000006C9AB812 (Mono JIT Code) [C:\perforce\Wattam\Branches\Development\Unity5\Assets\Wwise\Deployment\API\Generated\Windows\AkSoundEngine_Windows.cs:673] AkSoundEngine:PostEvent (uint,UnityEngine.GameObject)
000000006C9AB5A4 (Mono JIT Code) [C:\perforce\Wattam\Branches\Development\Unity5\Assets\Wwise\Deployment\Components\AkEvent.cs:89] AkEvent:HandleEvent (UnityEngine.GameObject)
000000006C9AAF17 (Mono JIT Code) [C:\perforce\Wattam\Branches\Development\Unity5\Assets\Wwise\Deployment\Components\AkAmbient.cs:126] AkAmbient:HandleEvent (UnityEngine.GameObject)
000000006C9D3DF1 (Mono JIT Code) [C:\perforce\Wattam\Branches\Development\Unity5\Assets\Wwise\Deployment\Components\AkTriggerDisable.cs:16] AkTriggerDisable:OnDisable ()
0000000011D26B52 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
00007FFC43C24053 (mono) [c:\buildslave\mono-runtime-and-classlibs\build\mono\mini\mini.c:4914] mono_jit_runtime_invoke
00007FFC43B78389 (mono) [c:\buildslave\mono-runtime-and-classlibs\build\mono\metadata\object.c:2623] mono_runtime_invoke
00000001403995FF (Unity) scripting_method_invoke
0000000140558DF2 (Unity) ScriptingInvocation::Invoke
00000001405593D1 (Unity) ScriptingInvocationNoArgs::InvokeChecked
0000000140373BEF (Unity) MonoBehaviour::CallMethodInactive
00000001403793E6 (Unity) MonoBehaviour::RemoveFromManager
0000000140339867 (Unity) Behaviour::Deactivate
0000000140139272 (Unity) Unity::GameObject::ActivateAwakeRecursivelyInternal
00000001401390EA (Unity) Unity::GameObject::ActivateAwakeRecursivelyInternal
00000001401390EA (Unity) Unity::GameObject::ActivateAwakeRecursivelyInternal
000000014013935F (Unity) Unity::GameObject::ActivateAwakeRecursively
0000000140139656 (Unity) Unity::GameObject::Deactivate
000000014046EB63 (Unity) DestroyGameObjectHierarchy
00000001404733BC (Unity) DestroyObjectHighLevel
00000001404EEB46 (Unity) DestroyWorldObjects
0000000140D282EE (Unity) Application::LoadSceneInternal
0000000140D2A6D3 (Unity) Application::ExitPlayMode
0000000140D2ACDA (Unity) Application::SetIsPlaying
0000000140D31155 (Unity) Application::TickTimer
0000000140E43944 (Unity) RelaunchUnity
0000000140E44F3B (Unity) WinMain
00000001414D68B0 (Unity) strerror_s
00007FFC6E0A13D2 (KERNEL32) BaseThreadInitThunk
00007FFC70905444 (ntdll) RtlUserThreadStart
Repro steps.
1. Create the scene above.
2. Start the player.
3. Stop the player.
I noticed that this code was added to the 2015.1 version that seems to be the culprit.
else
{
//Object not active. AkGameObj will not work. Use a temporary game object.
//This will automatically unregister at the end of this scope.
tempObj = new AkAutoObject(in_gameObjectID);
tempin_gameObjectID = (uint)tempObj.m_id; //Silence warning
}
Is there a way to work around this while maintaining the OnTriggerDisableFunctionality, or should I create my own script to work around it?
Thanks!