Whenever an AudioMessage is created via AudioHostAppication.TryCreateMessage(), a blank message is returned without an id. The messageId parameter passed to TryCreateMessage appears to be unused in the LibVst implementation of AudioHostAppicationClient. Furthermore, setting the message id manually or setting any named attribute results in an ArgumentException specifying "An item with the same key has already been added." It looks like this is happening because inside AudioHostApplicationClient.GetOrCreateString(), a call is made to CollectionMarshal.GetValueRefOrAddDefault(). Later in the function Add() is being called on the dictionary to set the allocated string pointer, but the value gets added as a default by the CollectionMarshal call.
Whenever an AudioMessage is created via AudioHostAppication.TryCreateMessage(), a blank message is returned without an id. The messageId parameter passed to TryCreateMessage appears to be unused in the LibVst implementation of AudioHostAppicationClient. Furthermore, setting the message id manually or setting any named attribute results in an ArgumentException specifying "An item with the same key has already been added." It looks like this is happening because inside AudioHostApplicationClient.GetOrCreateString(), a call is made to CollectionMarshal.GetValueRefOrAddDefault(). Later in the function Add() is being called on the dictionary to set the allocated string pointer, but the value gets added as a default by the CollectionMarshal call.