# LLM Guide: High-Level Project Data (`HighLevel.zip`) ## 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 zip file 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:** ```json { "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:** ```json { "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 zip 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.