Schema-Unity provides Unity integrations for the Schema content management tool, enabling robust, flexible, and maintainable management of game design data within Unity projects.
Click to watch overview video
-
Table editor with fast, virtualized grid and publishing
-
Rich attribute type system
-
Code Generation for Runtime usage
public partial class ProfilesEntry : EntryWrapper
{
/// <summary>
/// Represents a single entry (row) in the 'Profiles' data scheme.
/// </summary>
public ProfilesEntry(DataScheme dataScheme, DataEntry entry) : base(dataScheme, entry) {}
/// <summary>
/// Gets the value of 'ID'.
/// </summary>
public string ID => DataEntry.GetDataAsString("ID");
/// <summary>
/// Gets the value of 'Personality Notes'.
/// </summary>
public string PersonalityNotes => DataEntry.GetDataAsString("Personality Notes");
/// <summary>
/// Gets the value of 'InitialPlayerConnection'.
/// </summary>
public bool InitialPlayerConnection => DataEntry.GetDataAsBool("InitialPlayerConnection");
/// <summary>
/// Gets the value of 'Profile Picture'.
/// </summary>
public string ProfilePicture => DataEntry.GetDataAsString("Profile Picture");
}- Start here: docs/Overview
- Quickstart: docs/Quickstart
- Key Concepts: docs/KeyConcepts
- Unity Editor Guide: docs/EditorGuide
- Runtime Integration: docs/RuntimeGuide
- FAQ & Troubleshooting: docs/FAQ
- Schema Core: C# library for defining, loading, and validating data schemas.
- Unity Integration: Custom Unity editor tools for managing schema-based data.
- Sample Content: Example JSON and CSV files for rapid prototyping and testing.
- Extensible: Easily add new data types, serialization formats, and editor extensions.
See the full Quickstart.
- Open Edit/Project Settings/Package Manager
- Add a new Scoped Registry (or edit the existing OpenUPM entry)
- Name:
package.openupm.com - URL:
https://package.openupm.com - Scope(s):
com.devzappy.schema.unity
- Name:
- Click Save or Apply
- Open Window/Package Manager
- Click
+ - Select
Add package by name...orAdd package from git URL... - Paste
com.devzappy.schema.unityinto name - Paste
0.3.1into version - Click Add
- Click
{
"scopedRegistries": [
{
"name": "package.openupm.com",
"url": "https://package.openupm.com",
"scopes": [
"com.devzappy.schema.unity"
]
}
],
"dependencies": {
"com.devzappy.schema.unity": "0.3.1"
}
}-
Open your Unity project
-
Open
Window > Package Manager -
Click
+and selectAdd package from git URL... -
Paste:
https://github.com/zappy-dev/Schema-Unity.git?path=/SchemaPlayground/Packages/com.devzappy.schema.unity#main -
After install, open
Tools > Schema Editor
- Create a simple scheme and entries, then publish and generate C#.
- Initialize at runtime with
Schema.Runtime.SchemaRuntime.Initialize().
Prerequisites:
- Unity (2021.3+ recommended)
- .NET SDK 8 (for building and testing core libraries)
Steps:
- Clone:
git clone https://github.com/zappy-dev/Schema-Unity.git cd Schema-Unity - Open
SchemaPlayground/in Unity - Try it now:
- Load
Assets/Scenes/SampleScene.unity - Open
Tools > Schema Editorand exploreManifest,Entities,Quests - Press Play to see the
Player2DControllersample
- Load
- Build core libraries (optional):
- Open
Schema/Schema.slnin Visual Studio or Rider and build
- Open
- Run tests (optional):
dotnet test Schema/Schema.Core.Tests/Schema.Core.Tests.csproj
Add as local package from disk (optional):
Window > Package Manager- Click
+>Add package from disk... - Select
SchemaPlayground/Packages/com.devzappy.schema.unity/package.json
- Use the Unity Editor tools (under
Tools > Schema Editor) to import, edit, and validate schema-based data. - Place your JSON/CSV data files in
SchemaPlayground/Content/. - Extend or customize schema definitions in
SchemaPlayground/Packages/com.devzappy.schema.unity/Core/Data/.
Schema-Unity/
Schema/ # Core C# library and tests
Schema.Core/
Schema.Core.Tests/
SchemaPlayground/ # Unity project with sample content and editor extensions
Content/
Packages/
com.devzappy.schema.unity/
Core/
Editor/
docs/ # Guides and reference documentation
Contributions are welcome! See docs/Contributing.
For help, email support@devzappy.com.
If you find Schema-Unity helpful and want to support ongoing development:
- GitHub Sponsors: https://github.com/sponsors/zappy-dev
- Ko‑fi: https://ko-fi.com/devzappy
This project is licensed under the MIT License. See the LICENSE file for details.




