I'm using unity-sdk version 6.0.0 in Unity 2021.3.9f1. When I switch to any Platform other than "Windows, Mac, Linux" I get the following error in the console:
Assets\IBMSdkCore\Connection\RESTConnector.cs(668,24): error CS0656: Missing compiler required member 'Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create'
Switching back to "Windows, Mac, Linux" clears the error. I have ensured that when viewing Assets/Watson/WatsonUnitySDK in the inspector that under Platforms only "Any Platform" is checked and that nothing is checked under "Exclude Platforms".
Any assistance would be greatly appreciated, thanks in advance.
The answer is in the "Configuring Unity" section of the unity-sdk GitHub repository:
"If using Unity 2018.2 or later you'll need to set Scripting Runtime Version and Api Compatibility Level in Build Settings to .NET 4.x equivalent. We need to access security options to enable TLS 1.2."
The setting is now labeled ".NET Framework", but switching to it from ".NET Standard 2.1" resolved the error.
I'm almost certain I remember setting the .NET version per the instructions when I originally set up the project, but I may be mistaken. Anyway it's fixed now.
EDIT: I had set the compatibility to .NET Framework. I just discovered that every time you change the build platform Unity reverts to 2.1 and you have to manually go switch to .NET Framework again.