/notion-unity

A crude port of notion-js to C# specifically for use in the Unity game engine.

Primary LanguageC#MIT LicenseMIT

Notion SDK for Unity

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.

Dependencies

Features

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:

How to Use

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.

  1. Open in Unity 2020.3.15 LTS or newer
  2. Create a Device ScriptableObject instance. Create -> Assets -> Device and fill out the ScriptableObject with your credentials and device ID.
  3. Open Scripts/Notion-Unity/Example/NotionExample. Select NotionTester in the Hierarchy and select your newly created Device asset in the Notion Tester component.
  4. You should now be able to play the NotionExample scene. The buttons in the UI will print all results to the Console.

Using in Other Projects

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.