← Back to projects
tools · 2026 · Completed

Unity-Notion Connector

UnityC#NotionEditor Tool
Unity-Notion Connector

Project Overview

A Unity tool that syncs specifically marked ScriptableObject fields with Notion database columns. It does that using an auth key and a table ID from Notion's side.
This proved to be helpful to me and my team as most of our project planning was done on Notion.

Role: Software Engineer

Game Engine: Unity

Programming Language: C#

Technologies: Visual Studio, Notion API

Date: 2026

Why I Built It

On Tank Lore, all our planning, our kanban board and our documentation lived in Notion, so we wanted our gameplay values there too, specifically upgrades and enemy stats like HP, damage and boss settings. I built this tool to keep those values in sync between Unity and Notion.

Field Mapping

A class is bound to a database with an attribute, and each field is bound to a column by name. Private fields work too, so nothing has to be exposed just to be synced.

Here's an example. We can create a database table on Notion like this one:

Notion Table Example

The code for the scriptable object will be something like this:

C#
[TNotionDatabase("some-secret-db-id")]
public class SomeScriptableObject : ScriptableObject
{
    [TNotionProperty("HealthPoints"), SerializeField] private float _healthPoints = 0f;
    [TNotionProperty("Speed"), SerializeField] private float _speed = 0f;
    [TNotionProperty("IsCool"), SerializeField] private bool _isCool = false;
}

And since the properties are marked with TNotionProperty, they will be displayed in Unity's inspector like so:

Unity Inspector View with Notion linked properties

Push & Pull

The syncer window lists every detected database and syncs the selected ones on demand. Push creates a row for each asset that has no matching page and updates the rest; Pull reads Notion's values back into the matching assets. Assets and pages are matched by the asset's filename, so no GUIDs or manual links are stored.

Notion syncer window listing the detected databases

Download & Setup

Requires Unity 2021.3 or newer. Visit the GitHub repository for installation.