Files
davila7__claude-code-templates/cli-tool/components/settings/statusline/unity-project-dashboard-statusline.json
2025-08-24 14:06:14 -04:00

7 lines
2.0 KiB
JSON
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"description": "Unity project dashboard displaying scene info, build target, asset pipeline status, and Unity version. Shows current scene name, active platform (iOS/Android/PC/WebGL), asset processing queue status, memory usage warnings, and available Unity package updates. Detects Unity projects and provides real-time development metrics.",
"statusLine": {
"type": "command",
"command": "python3 -c \"import json, sys, os, subprocess, glob; data=json.load(sys.stdin); model=data['model']['display_name']; current_dir=data['workspace']['current_dir']; os.chdir(current_dir); unity_project = os.path.exists('Assets') and os.path.exists('ProjectSettings'); scene_info = ''; build_target = ''; asset_status = ''; unity_version = ''; package_status = ''; if unity_project: scenes = glob.glob('Assets/**/*.unity', recursive=True); active_scene = os.path.basename(scenes[0]) if scenes else 'None'; scene_info = f'🎮 {active_scene.replace(\".unity\", \"\")}'; try: with open('ProjectSettings/ProjectVersion.txt', 'r') as f: unity_version = f.read().split(':')[1].strip()[:6]; except: unity_version = 'Unknown'; try: with open('ProjectSettings/EditorBuildSettings.asset', 'r') as f: content = f.read(); if 'iPhone' in content: build_target = '📱iOS'; elif 'Android' in content: build_target = '🤖And'; elif 'StandaloneWindows' in content: build_target = '🖥️PC'; elif 'WebGL' in content: build_target = '🌐Web'; else: build_target = '⚙️Multi'; except: build_target = '⚙️Build'; asset_count = len(glob.glob('Assets/**/*', recursive=True)) - len(glob.glob('Assets/**/*.meta', recursive=True)); if asset_count > 1000: asset_status = '⚠️Assets'; elif asset_count > 500: asset_status = '📦Assets'; else: asset_status = '✅Assets'; packages_dir = 'Packages'; if os.path.exists(f'{packages_dir}/manifest.json'): package_status = '📋Pkgs'; print(f'[{model}] {unity_version} | {scene_info} | {build_target} | {asset_status} | {package_status}'); else: dir_name = os.path.basename(current_dir); print(f'[{model}] 📁 {dir_name} | ❌ Not Unity Project')\""
}
}