A downloadable asset pack

Download NowName your own price

Data Table for Unity is a simple editor tool that allows you manage structured data directly within Unity, inspired by Unreal Engine's Data Table.

You can create, edit, duplicate, and delete rows of data without leaving the editor. It's great for organizing game data like stats, drop table and more.

Key Features

  • Data Import/Export: Seamlessly import or export data to CSV/JSON files.
  • Multi-selection support: Edit, duplicate, copy & paste multiple rows at once
  • Undo Support: Fully integrated with Unity's Undo system, allowing you to Isafely revert edits, insert or delete with Ctrl + Z
  • Search & Filter: Quickly find rows by matching values in specific fields for faster data lookup.
  • Keyboard Shortcut: Improve your workflow with familiar  hotkeys: Ctrl + C,  Ctrl + V,  Ctrl + D,  Delete,  Ctrl + A.

Original Unity Version: 6000.0.58

Require Package: com.unity.nuget.newtonsoft-json version 3.2.1

Schema

Asset > Create > Scripting > Data Table > Table Row

using BlindGoose.DataTable
[System.Serializable]
public class ItemData : TableRow
{
    public string displayName;
    [Multiline]
    public string description;
    public ItemType itemType;
    public ItemRarity itemRarity;
    [SerializeField] private Texture2D icon;
}

Get

ItemData item = dataTable.Get<ItemData>("health_potion");

or

TableRow item = dataTable.Get("health_potion");

AddRow

dataTable.AddRow("health_potion", new ItemData {
    displayName = "Health Potion",
    description = "",
    itemType = ItemType.Consumable,
    itemRarity = ItemRarity.Common,
    icon = null,
});

TryAddRow

bool hasAdded = dataTable.TryAddRow("health_potion", new ItemData {
    displayName = "Health Potion",
    description = "", 
    itemType = ItemType.Consumable, 
    itemRarity = ItemRarity.Common, 
    icon = null
});

RemoveRow

bool hasBeenRemoved = dataTable.RemoveRow("health_potion");

FindRows

IEnumarable<TableRow> items = dataTable.FindRows(row => {
    ItemData item = row as ItemData;
    return item.itemType == ItemType.Consumable;
});

or

IEnumarable<ItemData> items = dataTable.FindRows<ItemData>(item => {
     return item.itemType == ItemType.Consumable;
});


Download

Download NowName your own price

Click download now to get access to the following files:

DataTable.unitypackage 98 kB

Comments

Log in with itch.io to leave a comment.

Hi! Really sorry to bother you, I liked this addon very much! But unfortunately the game crashes in build with this. Maybe I need to check something in settings? Thank you very much in advance!!!

(2 edits)

Oh, sorry about that but i havent tested it building with it, thank you for bringing that up. Can i ask for the logs for what happens when you try build it or what did you try to do that causes it to crashes?