This is the beginnings of a crude C# port of Neurosity JS SDK for use within the Unity3D game engine. This was created to demonstrate how an official Notion Unity SDK might work but more importantly how the NodeJS dependency isn't required when working with Unity and in theory other game engines.
- Unity 2020.3.15 LTS or newer
- Firebase for Unity Authentication
- Firebase for Unity Realtime Database
- Json.NET by jilleJr
- External Dependency Manager
This is very much a work in progress. It is feature incomplete, there will be bugs, very little error checking and the architecture isn't sound. The implemented features are not guaranteed to have exact 1-to-1 API parity of the JS SDK but that is the eventual goal.
The following list is what has been implemented:
This has only been tested in the Unity Editor and Android. In theory this should work on iOS as there is no device specific implementations of the notion functionality.
- Open in Unity 2020.3.15 LTS or newer
- Create a Device ScriptableObject instance.
Create -> Assets -> Device
and fill out the ScriptableObject with your credentials and device ID. - Open
Scripts/Notion-Unity/Example/NotionExample
. SelectNotionTester
in the Hierarchy and select your newly created Device asset in the Notion Tester component. - You should now be able to play the NotionExample scene. The buttons in the UI will print all results to the Console.
Other apps will require your own Firebase project, you can follow Firebase Documentation for help on that. There is a stub setup for this repo but any app developed using the Notion Unity SDK will eventually require you to setup your own Firebase account. This is currently a requirement as the Neurosity tech is built on top of Firebase and the Unity Firebase SDKs require google-services.json
and GoogleService-Into.plist
to be unique for each store app.