UE Datatable Editor

v1.1.0

This skill should be used when the user wants to search, view, modify, validate, or import Unreal Engine DataTable data — specifically AI Skills configuratio...

0· 106·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for mufuxiao515-create/ue-datatable-editor.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "UE Datatable Editor" (mufuxiao515-create/ue-datatable-editor) from ClawHub.
Skill page: https://clawhub.ai/mufuxiao515-create/ue-datatable-editor
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install ue-datatable-editor

ClawHub CLI

Package manager switcher

npx clawhub@latest install ue-datatable-editor
Security Scan
VirusTotalVirusTotal
Pending
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description claim editing UE DataTable JSONs; included scripts (discover, search, modify, import) directly implement those features. No unrelated binaries, credentials, or network endpoints are required. The presence of an import script that uses Unreal's 'unreal' module fits the described import step.
Instruction Scope
SKILL.md and scripts instruct the agent to auto-discover projects (scanning home, Documents, Desktop, and common drive roots), read/write JSON files, create backups, validate data, and generate an import command for execution inside the UE Editor. This stays within the stated purpose, but discovery performs broad filesystem enumeration (including root-level drive scanning on Windows) and the SKILL.md suggests using agent file tools (replace_in_file/read_file/write_to_file) which, if granted, give the agent wide access to local files. Recommend limiting scope by providing explicit JSON paths when possible.
Install Mechanism
Instruction-only skill with bundled Python scripts; no install spec, no remote downloads, and no package installation. Scripts are present in the bundle and run with the user's Python/UE Editor environment — low install risk.
Credentials
Registry metadata declares no required env vars or secrets. The only environment access in code is an optional fallback in dt_import_ue that reads ProjectDir if --json is not supplied; this is proportionate to locating the project when the user doesn't provide paths.
Persistence & Privilege
The skill is not always-enabled, does not request special platform privileges, and does not modify other skills or global agent configuration. It reads/writes project JSON files and creates backups — expected behavior for an editor tool.
Assessment
This skill appears coherent and implements the described UE DataTable workflow locally. Before installing/using it: - Prefer giving the skill explicit JSON file paths rather than letting the discover step run across entire drives; dt_discover will enumerate common drive roots and can reveal filenames/paths. - The agent (or you) will need read/write access to the JSON files; dt_modify will overwrite files (but creates timestamped backups by default). Review backups to recover if needed. - The import step must be run inside the Unreal Editor (the import script uses the 'unreal' module); do not run dt_import_ue in a normal Python environment. - SKILL.md references agent file-editing tools (replace_in_file, read_file, write_to_file). Only grant these tools access to project directories you trust; avoid granting unrestricted filesystem access. - The code is human-readable and contains no network calls, hardcoded external endpoints, or credential exfiltration. If you have sensitive non-UE files on the scanned drives, consider running discovery with a --root pointed at the specific project folder instead of allowing wide scan. If you want a stricter assessment, provide the full, untruncated SKILL.md (the provided one was truncated) or confirm any runtime agent tools that will be granted file-system permissions so I can re-evaluate instruction scope precisely.

Like a lobster shell, security has layers — review code before you run it.

latestvk97f98nhtagx27wv6d92eqbg4183pmem
106downloads
0stars
2versions
Updated 1mo ago
v1.1.0
MIT-0

UE DataTable Editor

Edit Unreal Engine DataTable configuration through JSON files — auto-discover projects, search, modify, validate, and import back to the engine.

Overview

UE projects commonly store DataTable data in .uasset files, with corresponding JSON source files that serve as the editable representation. This skill provides a complete workflow for discovering, modifying, and re-importing these data tables.

This skill works with any UE project — it automatically detects the project structure and locates DataTable JSON files. No hardcoded paths required.

Supported DataTable Format

The JSON file should be an array of objects, each with a Name field as the row key:

[
  { "Name": "230000", "DevName": "技能名", "LOC_Name": "NSLOCTEXT(...)", ... },
  { "Name": "230001", ... }
]

Important Notes

  • JSON files may be encoded in UTF-16 LE (with BOM), UTF-8 BOM, or UTF-8. All scripts handle encoding automatically.
  • The .uasset files are binary and cannot be edited directly — always modify through JSON then import.

Workflow

Step 0: Discover UE Project and DataTable Files

ALWAYS run this step first when the user has not provided a specific JSON path. Use scripts/dt_discover.py to auto-detect UE projects and DataTable JSON files:

# Auto-discover all UE projects and DataTable JSON files in common locations
python {SKILL_DIR}/scripts/dt_discover.py

# Search in a specific directory
python {SKILL_DIR}/scripts/dt_discover.py --root "<directory>"

# Find a specific table by name (matches JSON filename)
python {SKILL_DIR}/scripts/dt_discover.py --table "AI_Skills"

# Filter by UE project name
python {SKILL_DIR}/scripts/dt_discover.py --project "SMG"

# Output as JSON for parsing
python {SKILL_DIR}/scripts/dt_discover.py --json-output

When the user provides a table name (e.g. "修改 AI_Skills 表"), use --table to locate the matching JSON file:

python {SKILL_DIR}/scripts/dt_discover.py --table "<user_provided_table_name>"

Once the JSON file is identified, store its absolute path for use in subsequent steps.

Step 1: Search for Target Rows

Use scripts/dt_search.py to locate the row(s) to modify. The --json parameter takes the path discovered in Step 0.

# Search by row ID
python {SKILL_DIR}/scripts/dt_search.py --json <json_path> --id 230000

# Search by name keyword
python {SKILL_DIR}/scripts/dt_search.py --json <json_path> --name "蓄力"

# Search by any field
python {SKILL_DIR}/scripts/dt_search.py --json <json_path> --field DevName --value "瞬移"

# List all rows in a Part (for AI Skills tables)
python {SKILL_DIR}/scripts/dt_search.py --json <json_path> --part 1

# Show full JSON for results
python {SKILL_DIR}/scripts/dt_search.py --json <json_path> --id 230000 --full

# List all available fields
python {SKILL_DIR}/scripts/dt_search.py --json <json_path> --list-fields

Present search results to the user before proceeding with modifications.

Step 2: Modify Data

Use scripts/dt_modify.py to modify fields. The script automatically:

  • Wraps plain text in NSLOCTEXT() format for localization fields
  • Validates all data after modification
  • Creates a timestamped backup before saving
# Modify LOC_Desc (auto-wraps in NSLOCTEXT)
python {SKILL_DIR}/scripts/dt_modify.py --json <json_path> --id 230000 --set-loc-desc "对随机角色造成伤害"

# Modify LOC_Name
python {SKILL_DIR}/scripts/dt_modify.py --json <json_path> --id 230000 --set-loc-name "新技能名"

# Modify any field
python {SKILL_DIR}/scripts/dt_modify.py --json <json_path> --id 230000 --set "bUseAlert=true" --set "DevName=新名称"

# Preview without saving (dry-run)
python {SKILL_DIR}/scripts/dt_modify.py --json <json_path> --id 230000 --set-loc-desc "测试" --dry-run

# Validate entire JSON
python {SKILL_DIR}/scripts/dt_modify.py --json <json_path> --validate

NSLOCTEXT Format Rules

For localization fields (LOC_Name, LOC_Desc, LOC_AlertText, LOC_InterruptMessage, LOC_NoticeText):

  • When user provides plain text, the script auto-wraps it as: NSLOCTEXT("<PartName>", "<SkillID>_<FieldName>", "<text>")
  • When user provides a full NSLOCTEXT(...) or INVTEXT(...) string, it is used as-is
  • Use --no-wrap flag to disable auto-wrapping

Field Modification via Direct File Edit

For complex modifications (nested objects, arrays, or bulk changes), directly edit the JSON file using replace_in_file or read_file + write_to_file tools. Always validate after editing:

python {SKILL_DIR}/scripts/dt_modify.py --json <json_path> --validate

Step 3: Import into UE Engine

After modifying and validating the JSON, generate the UE import command. The user must execute this command in the UE Editor Output Log:

py "{SKILL_DIR}/scripts/dt_import_ue.py" --json "<json_path>" --part <part_number>

Parameters:

  • --part 0 — Import Part0 (ID 200000–229999)
  • --part 1 — Import Part1 (ID 230000–239999)
  • --part 2 — Import Part2 (ID 240000–249999)
  • --part all — Import all Parts
  • --asset-base "<path>" — Override the UE asset base path (default: /Game/SMG/Configs/DataTables/AISkills)

Determine the correct --part number from the row ID being modified. Always provide the full command with absolute paths for the user to copy-paste.

Step 4: Verify

After the user reports the UE import result, check the log output for:

  • Imported DataTable '...' - 0 Problems = Success
  • Any Error lines = Investigation needed

Refer to references/field_schema.md for the complete field documentation when needed.

Quick Start Example

User says: "修改 AI_Skills 表中技能 230005 的描述"

  1. Discover: python {SKILL_DIR}/scripts/dt_discover.py --table "AI_Skills" → Found: D:\Projects\MyGame\Content\Configs\Json\Json_AI_Skills.json

  2. Search: python {SKILL_DIR}/scripts/dt_search.py --json "<found_path>" --id 230005 → Shows current skill data

  3. Modify: python {SKILL_DIR}/scripts/dt_modify.py --json "<found_path>" --id 230005 --set-loc-desc "新的描述文本" → Modifies and validates

  4. Import: Provide UE command for the user to run in editor

Error Handling

ErrorCauseSolution
No UE project foundProject not in search pathsUse --root to specify project directory
No DataTable JSON foundJSON file not in Content directoryCheck project structure, provide path manually
UnicodeDecodeErrorWrong encoding detectionScripts auto-detect; if issues persist, check file BOM bytes
fill_data_table_from_json_string failsJSON fields don't match RowStructValidate JSON, check for missing/extra fields
DataTable not foundWrong asset pathUse --asset-base to specify correct UE asset path
P4 checkout failureFile locked by another userCoordinate with team or force checkout

Comments

Loading comments...