We have recently released Inworld Unity SDK version 3.0. If you are still using version 2.x, please refer to this Upgrade Manual for guidance on how to upgrade to the latest SDK.
The minimum supported Unity version is 2020.1. Any version below that may not be compatible for both .NET Standard 2.1 and .NET framework.
However, if you are using MacOS and want to build MacOS applications, there is a known bug for Unity. Please upgrade to 2022.3.10f1 or newer.
In Inworld Unity SDK v3.0, we have incorporated two distinct transmission protocols: WebSocket (default) and NDK. Users can choose between the two based on their specific requirements. WebSocket is compatible with a broader range of platforms and is much smaller than NDK (around 200 KB in total) and faster, but it consumes more bandwidth. NDK uses legacy gRPC for transmission, which theoretically offers higher speed and lower bandwidth consumption.
We also now offer two different Unity SDK versions: InworldAI.Full and InworldAI.Lite. We have separated the various modules using Unity's Assembly Definitions.
InworldAI.Lite supports lightweight projects with a significantly smaller download size. It , which is suitable for developers with capabilities to import their own character skeletons and animations in Unity. Ideal for WebGL deployments or projects where package size is a consideration.
InworldAI.Lite includes only the InworldAI module, while InworldAI.Full includes all the modules.
Detailed compatibility for each platform is listed below:
|Platform||Inworld.AI (Websocket)||InworldAI.NDK||Inworld v1||Inworld v2|
|Windows Minimum Version||2020.1||2020.1||2019.4||2021.3|
|Mac Intel 64-bit||2022.3||2022.3||2022.3||2022.3|
|Mac Apple Silicon||2022.3||2022.3||2022.3||2022.3|
NewtonSoft Json Issues
By default, the Newtonsoft Json package is automatically added into Unity. However, it may not be applied to some templates or may be removed in your
package.json. If you encounter the error
error CS2046: The type or namespace name 'NewtonSoft' could not be found or errors related to JObject, as shown in the image below:
Please refer to this page for more information.
When building an app for certain platforms, you may encounter the following errors if your Unity Editor's Packages do not include Newtonsoft.Json:
ILLink: error IL1999: ERROR: Failed to resolve base type Newtonsoft.Json.JsonConverter for type Siccity.GLTFUtility.Converters.ColorRGBConverter in assembly Siccity.GLTFUtility.dll when linking against the UnityAot-Linux profile
Fatal error in Unity CIL Linker
Unity.Linker.StrippingResolutionBaseTypeException: ERROR: Failed to resolve base type Newtonsoft.Json.JsonConverter for type Siccity.GLTFUtility.Converters.ColorRGBConverter in assembly Siccity.GLTFUtility.dll when linking against the UnityAot-Linux profile
at Unity.Linker.MonoBehaviorUtilities.DerivesFrom(UnityLinkContext context, TypeDefinition type, String possibleBaseNames)
In this case, please delete the entire folder
go to Window > Package Manager, click
+ > Add package by name, and enter
While the default Inworld avatar in the demo works with the Built-in pipeline, all our characters (Ready Player Me or Innequin) created through https://studio.inworld.ai/ are compatible with all rendering pipelines. If you wish to upgrade your models to use the Scriptable Render Pipeline, simply right-click on your character and select Inworld > Upgrade Materials for Scriptable Render Pipeline."
Inworld Player Controller is . Support for this is planned for the future.
Unity cannot proceed Android build by 2021.3.6f1 is a known bug for Unity. To resolve this, copy the whole Tools folder from the previous Unity version. Check this page for more details.
Microphone Usage Description
If you want to build an iOS app, please fill in
Microphone Usage Description under
Project Settings > Player > iOS > Other Settings > Configuration.
Also, for the default iOS app, the sound only comes out of the earpiece and may be relatively quiet. To output sound from the loudspeaker, you need to set
Force IOS Speakers When Recording as well.