Audiokinetic's Community Q&A is the forum where users can ask and answer questions within the Wwise and Strata communities. If you would like to get an answer from Audiokinetic's Technical support team, make sure you use the Support Tickets page.

+1 vote
After upgrading wwise integration to version 2018.1.2.6762.1211
Unity runs fine until you make the first link in the editor to any wwise object (Event or Bank).
After that, at startup, the Unity starts generating new assets for wwise (WwiseObjectReference). After generation, they are imported, but the process hangs on it.
in General Discussion by Yuriy I. (220 points)

1 Answer

+2 votes
 
Best answer

Thanks to tech support.
Found a temporary solution to the problem, need to comment out AkWwisePicker.OnEnable(). 
This is located in: Assets\Wwise\Editor\WwiseWindows\AkWwisePicker.cs

by Yuriy I. (220 points)
selected by Fabien B. (Audiokinetic)
After upgrading the Unity integration from 2017.2.1.6524 to 2018.1.3.6784 started having similar problems:

- On some of our project members, when booting up Unity the "Populating Wwise Picker" progress bar comes up simultaneously with Unity's own loading and "Importing small assets" progress bar, and both get stuck forever just before the "Populating Wwise Picker" finishes.

- On those PCs where the Unity manages to boot, Wwise Integration runs the migration on any Scene, every time when a new Scene is loaded, editing and saving the *.unity Scene file. This causes a lot of worry and confusion about whether we have done some changes to that file ourself, intentionally, if it's the Wwise integration that's done it again for no current purpose and it can be discarded, or if some Wwise GUID has been actually remapped and the Scene change is a crucial part of keeping things working.

Commenting out the entire AkWwisePicker.OnEnable() seemed to do the trick and enabled another teammember to load up Unity without "Populating Wwise Picker" progress bar freezing the loading.

I still don't get why the migration is done repeatedly (every time a Scene is loaded in Editor and when Unity starts). From what I understand this migration is doing a checkup of every Wwise reference structure (Ak Components, every other SerializedField that has a Ak.Wwise.Event, Ak.Wwise.Bank, etc.) which used to have uint type GUID fields referencing structures/media in Wwise project and finding a matching WwiseObjectReference ScriptableAsset which is kind of a more stable reference than keeping GUID number fields for every serialized Ak class - now if something is changed the single WwiseObjectReference can be updated/fixed, and within Unity anything referring to it still has a correct reference to that project-scope asset so no Scenes/Prefabs/ScriptableObjects of the Unity project itself need to be touched.

Since that is how I understand the main benefit of the whole reworking of Unity-to-Wwise referencing they have done, I simply don't see why it's not a one-time tool and why the changes are not explained more clearly anywhere. I can't even find the Wwise Unity Integration change log version that would clearly state when they started using ScriptableAsset WwiseObjectReferences. The Migration tool could be a manually triggered MenuItem in Unity, and the need to run that one-time could be a clearly stated and documented responsibility of the person who is doing the integration upgrade as long as such requirements would be clearly documented in an obvious place.
I confirm, after upgrading the Unity integration to 2018.1.2.6762.1211, on other team members computers, that don't have wwise installed, all Wwise Events/States/SoundBanks/Switches/RTPCs are now invalid references on computers. But if all prefabs with links to Wwise Objects make an apply, links will be saved and restored on all computers.

After upgrading the Unity integration from 2018.1.2.6762.1211 to 2018.1.3.6784 all Wwise Events/States/SoundBanks/Switches/RTPCs are now invalid references on all computers.
...