1_HighLevel_Data_Guide.md 3.0 KB

LLM Guide: High-Level Project Data (HighLevel/)

1. Purpose

This data level provides a high-level, bird's-eye view of the entire Unity project. It is the smallest and fastest data source, designed for answering questions about the project's overall configuration, settings, and dependencies.

Use this data for questions like:

  • "What is the product name and company name?"
  • "Which render pipeline is the project using (Built-in, URP, HDRP)?"
  • "What version is the application bundle?"
  • "List all custom tags and layers defined in the project."
  • "Which scenes are included in the build settings?"
  • "What packages and dependencies are included in the project?"

2. File Structure

The HighLevel folder will contain the following structure:

HighLevel/
├── manifest.json
└── packages.json

3. Key Files & Schema

manifest.json

This file contains a comprehensive summary of the project's most important settings, aggregated from multiple files in the ProjectSettings/ directory.

Schema Example:

{
  "productName": "Terra-LLM",
  "companyName": "DefaultCompany",
  "bundleVersion": "0.1",
  "activeColorSpace": 1, // 0: Gamma, 1: Linear
  "renderPipeline": "URP", // Can be "Built-in", "URP", "HDRP", or "Scriptable"
  "projectMode": "3D", // Can be "3D" or "2D"
  "tags": [
    "Untagged",
    "Respawn",
    "Finish",
    "EditorOnly",
    "MainCamera",
    "Player",
    "GameController"
  ],
  "layers": {
    "0": "Default",
    "1": "TransparentFX",
    "2": "Ignore Raycast",
    "4": "Water",
    "5": "UI"
  },
  "buildScenes": [
    {
      "path": "Assets/Scenes/SampleScene.unity",
      "enabled": true
    }
  ],
  "physicsSettings": {
    "gravity": { "x": 0, "y": -9.81, "z": 0 },
    "autoSimulation": true
  }
}

packages.json

This file is a direct copy of the project's Packages/manifest.json. It lists all the Unity packages and other dependencies used in the project.

Schema Example:

{
  "dependencies": {
    "com.unity.ide.rider": "3.0.15",
    "com.unity.ide.visualstudio": "2.0.16",
    "com.unity.render-pipelines.universal": "12.1.7",
    "com.unity.ugui": "1.0.0",
    "com.unity.modules.physics": "1.0.0"
  }
}

4. Handling Shrunken / Tokenized Data

The JSON files in this folder may have been processed by json_reducer.py to save space. You can identify this if the root object contains a key_mapper and a data key.

If the data is shrunken:

  1. The file content will look like this: {"key_mapper":{"k0":"productName",...},"data":{"k0":"Terra-LLM",...}}
  2. You MUST use the key_mapper object to de-tokenize the keys in the data object before you can interpret the schema. The key_mapper is a dictionary where the keys are the short tokens (e.g., k0) and the values are the original, human-readable keys (e.g., productName).
  3. Recursively replace every token in the data object with its original value from the key_mapper.

Once de-tokenized, the data will conform to the schemas described above.