TableForge
Unity Editor tool designed for managing, visualizing, and manipulating tabular data from ScriptableObjects and much more.
Install / Use
/learn @JoseGomis299/TableForgeREADME
TableForge - Unity ScriptableObject Management Tool
TableForge is a powerful Unity Editor tool designed for managing, visualizing, and manipulating tabular data from ScriptableObjects. It provides a spreadsheet-like interface with advanced features for data analysis, formula support, and data import/export capabilities.
Table of Contents
Overview
TableForge transforms Unity's ScriptableObject data into interactive, spreadsheet-like tables that can be viewed, edited, and analyzed directly in the Unity Editor. It supports complex data structures, nested objects, collections, and provides Excel-like formula functionality.
Key Benefits
- Visual Data Management: View and edit ScriptableObject data in a familiar spreadsheet format
- Formula Support: Use Excel-like functions and formulas for data calculations
- Data Import/Export: Import data from CSV/JSON files and export tables to various formats
- Intelligent Copy/Paste: Copy and paste values between TableForge and other programs like Excel easily
- Advanced Filtering: Filter and search through table data efficiently
For Users
Getting Started
Installation
- Import the TableForge package into your Unity project
- The tool will be available under
Window > TableForgein the Unity menu
Basic Usage
Create Your First Table
- Open TableVisualizer: Go to
Window > TableForge > TableVisualizer - Add a Table: Click the "+" button in the toolbar to add a new table
- Select Data Type: Choose the ScriptableObject type you want to visualize
- Select Assets: Choose specific assets or bind to all assets of that type
- Create Assets (optional): Create new ScriptableObject instances directly from the table creation window
- Rename Assets (optional): Rename existing assets during table creation
- View Data: Your data will be displayed in a spreadsheet format
Import and Visualize a Table
- Follow The Importing Guide Steps: here
- Access Imported Table: After importing, the new table will appear in the "+" menu in the TableVisualizer window
Core Features
Table Management
- Table Visualization: Display ScriptableObject data in spreadsheet format
- Cell Editing: Direct editing of cell values with type validation
- Row/Column Management: Add, remove, reorder rows and columns
- Data Filtering: Advanced filtering and search capabilities
- Table Transposition: Swap rows and columns for different data views
- Column Visibility: Show/hide specific columns as needed
- Size Management: Automatic and manual column/row sizing
Formula System
- Excel-like Functions: SUM, AVERAGE, COUNT, MAX, MIN, and more
- Cell References: Reference other cells using A1 notation (A1, B2, etc.)
- Range References: Reference cell ranges (A1:B5, C1:C10)
- Arithmetic Operations: Basic math operations (+, -, *, /, ^, %)
- Logical Functions: IF conditions and boolean operations
- Nested Functions: Combine multiple functions in complex expressions
Data Import/Export
- CSV Import: Import data from CSV files with column mapping
- JSON Import: Import data from JSON files
- CSV Export: Export tables to CSV format with various options
- JSON Export: Export tables to JSON format
- Asset Creation: Automatically create ScriptableObject assets during import
Advanced Features
- Sub-tables: Handle nested objects and collections as expandable sub-tables
- Type Binding: Bind tables to specific ScriptableObject types for automatic updates
- Metadata Persistence: Save table configurations, layouts, and formulas
- Session Management: Remember open tables and their states across Unity sessions
- Undo/Redo: Complete undo/redo system for all operations including cell edits, structural changes, and formula modifications
- Intelligent Copy/Paste: Seamless data transfer between TableForge and external applications like Excel
Table Visualization
Main Interface
The TableVisualizer window provides a complete spreadsheet interface:
- Toolbar: Contains table management tools and controls
- Table Area: Main spreadsheet display
- Headers: Column and row headers with sorting and context menus
- Cells: Individual data cells with editing capabilities
Navigation and Shortcuts
Mouse Navigation
- Click: Select a single cell
- Drag: Select a range of cells
- Click Header: Select entire column or row
- Ctrl+Click: Add to selection (multi-select)
- Shift+Click: Extend selection range
- Double-click: Edit cell value
- Right-click: Context menu (only on headers)
Keyboard Navigation
- Arrow Keys: Navigate between cells
- Enter: Edit selected cell or enter into sub-table
- Escape: Exit from sub-table
- Shift+Esc: Exit from sub-table and close its foldout
- Tab: Move to next cell
- Shift+Tab: Move to previous cell
Editing Shortcuts
- Escape: Cancel editing
- Ctrl+Z: Undo
- Ctrl+Y: Redo
- Ctrl+C: Copy selected cells
- Ctrl+V: Paste into selected cells
Formula Shortcuts
- =: Start formula entry
- Ctrl+Shift+C: Copy selected cells formulas
- Ctrl+Shift+V: Paste into selected cells formulas
Selection Modes
- Single Cell: Click on any cell to select it
- Range Selection: Drag to select multiple cells
- Column/Row Selection: Click on headers to select entire columns/rows
- Multi-Selection: Ctrl+Click to select multiple non-contiguous cells
- Extended Selection: Shift+Click to extend selection range
Editing Features
- Direct Editing: Double-click or press Enter to edit cell values
- Type Validation: Automatic validation of data types
- Formula Entry: Start with "=" to enter formulas
- Copy/Paste: Intelligent copy/paste with format preservation
- Auto-complete: Formula suggestions and cell reference completion
Functions and Formulas
Formula Syntax
Formulas start with "=" and can contain:
- Functions:
=SUM(A1:A5) - Cell References:
=A1 + B2 - Constants:
=10 * 2 - Arithmetic:
=(A1 + B2) * C3
Available Functions
TableForge supports a comprehensive set of Excel-like functions. Arguments in square brackets [] are optional.
Mathematical Functions
SUM(arg1, [arg2, ...])
- Description: Sums a series of values or ranges. Only compatible with numeric values.
- Example:
=SUM(A1:A10, B1)→ Sums cells A1 to A10 plus B1.
AVERAGE(arg1, [arg2, ...])
- Description: Calculates the average of a series of values or ranges. Only compatible with numeric values.
- Example:
=AVERAGE(A1:A10)→ Averages the values in A1:A10.
COUNT(arg1, [arg2, ...])
- Description: Counts the number of cells with non-null values in a range.
- Example:
=COUNT(A1:A10)→ Counts how many cells in A1:A10 have values.
MAX(arg1, [arg2, ...])
- Description: Returns the maximum value from a set of values or ranges.
- Example:
=MAX(A1:A10, 100)→ Returns the highest value between A1:A10 and 100.
MIN(arg1, [arg2, ...])
- Description: Returns the minimum value from a set of values or ranges.
- Example:
=MIN(A1:A10, 0)→ Returns the lowest value between A1:A10 and 0.
ABS(value)
- Description: Returns the absolute value of the given number (without sign).
- Example:
=ABS(-5)→ Returns 5.
ROUND(value, [decimals])
- Description: Rounds a number to the specified number of decimal places. If decimals are not specified, assumes 0 decimal places.
- Example:
=ROUND(3.14159, 2)→ Returns 3.14.
Arithmetic Functions
DIVIDE(dividend, divisor)
- Description: Returns the result of dividing one number by another.
- Example:
=DIVIDE(10, 2)→ Returns 5.
MULTIPLY(value1, value2)
- Description: Returns the result of multiplying two values.
- Example:
=MULTIPLY(3, 4)→ Returns 12.
MOD(dividend, divisor)
- Description: Returns the remainder of dividing one number by another.
- Example:
=MOD(10, 3)→ Returns 1.
Conditional Functions
IF(condition, value_if_true, [value_if_false])
- Description: Evaluates a condition and returns a value based on whether it's true or false. The result value must be compatible with the cell type.
- Example:
=IF(A1 > 10, "Yes", "No")→ Returns "Yes" if A1 is greater than 10.
SUMIF(range, criteria, [sum_range])
- Description: Sums cells in a range that meet a specific criteria. Only compatible with numeric values.
- Example:
=SUMIF(A1:A10, ">5", B1:B10)→ Sums values in B1:B10 where A1:A10 is greater than 5.
COUNTIF(range, criteria)
- Description: Counts cells that meet a specific criteria.
- Example:
=COUNTIF(A1:A10, "Red")→ Counts cells containing the text "Red".
Logical Functions
AND(condition1, [condition2, ...])
- Description: Returns TRUE if all conditions are true.
- Example:
=AND(A1 > 0, B1 < 10)→ Returns TRUE if both conditions are met.
OR(condition1, [condition2, ...])
- Description: Returns TRUE if any of the conditions is true.
- Example:
=OR(A1 > 0, B1 < 10)→ Returns TRUE if at least one
