# 系统接口

## 执行控制台指令 `system.run_console_command`
在当前 World 上执行任意控制台指令（与 `cmd.exec_console` 等价，推荐使用该命名）。

### 请求（JSON-RPC）
```json
{"ver":"1.0","type":"req","id":"cmd1","method":"system.run_console_command","params":{
  "command":"stat fps"
}}
```

### 响应
```json
{"ver":"1.0","type":"res","id":"cmd1","code":200,"result":{
  "result":"OK"
}}
```
- 若执行失败，`code` 为 500，`result.result` 为 `"Failed"`。

### 说明
- 支持 Editor/PIE/Standalone（内部会根据是否有 GEditor 选择世界）。
- 指令需确保在当前模式下有效；部分只读指令（如 `stat` 类）可直接使用，修改型指令需谨慎。

---

## 插件管理 `system.manage_plugin`
查询或修改虚幻插件的启用状态，适配 GLB/GLTF/USD/Python 等需要插件支持的场景。

### 请求
```json
{"ver":"1.0","type":"req","id":"plugin1","method":"system.manage_plugin","params":{
  "plugin_name":"GLTFImporter",
  "action":"Query"
}}
```
- `action` 取值：`Query`（查询状态）、`Enable`（启用）、`Disable`（禁用）。默认 `Query`。

### 响应
```json
{"ver":"1.0","type":"res","id":"plugin1","code":200,"result":{
  "plugin_name":"GLTFImporter",
  "is_enabled":true,
  "requires_restart":false,
  "friendly_name":"glTF Importer",
  "message":"Plugin enabled. Restart required."
}}
```

### 说明
- 找不到插件时返回 `code` 404。
- 状态发生变化时 `requires_restart` 为 `true`，需提示用户重启编辑器。
- 典型插件：`GLTFImporter`、`DatasmithGLTFImporter`、`USDImporter`、`PythonScriptPlugin`。

---

## 获取性能统计 `system.get_performance_stats`
返回当前采样周期的平均 FPS 以及各线程/GPU 的耗时（毫秒）。

### 请求
```json
{"ver":"1.0","type":"req","id":"perf1","method":"system.get_performance_stats","params":{}}
```

### 响应
```json
{"ver":"1.0","type":"res","id":"perf1","code":200,"result":{
  "fps": 118.3,
  "frame_ms": 8.45,
  "game_thread_ms": 3.12,
  "render_thread_ms": 2.76,
  "rhi_thread_ms": 0.80,
  "gpu_ms": 5.10
}}
```

### 说明
- 数据来源：引擎统计全局均值（`GAverageFPS/GAverageMS/GAverageGameTime/GAverageDrawTime/GAverageRHITTime/GAverageGPUTime`），需引擎已运行一段时间以形成均值。
- 各字段单位均为毫秒；`fps` 为帧率。若统计尚未有效（刚启动），数值可能为 0。
- **UE 5.0 限制**：在 UE 5.0 中，`render_thread_ms`、`rhi_thread_ms` 和 `gpu_ms` 将始终返回 0，因为这些统计变量未通过 `ENGINE_API` 导出，插件无法直接访问。这是引擎版本的限制，不是插件的问题。
  - 在 UE 5.1+ 中，这些值可以正常获取。
  - 如需在 UE 5.0 中查看这些统计信息，请使用控制台命令：
    - `stat unit` - 显示所有线程和GPU时间
    - `stat scenerendering` - 显示场景渲染统计
    - `stat rhi` - 显示RHI线程统计
    - `stat game` - 显示游戏线程统计 

