К содержимому

10. Конфигурация

Файл Assets/sus.config.json:

json
{
  "SharqDirectory": "Assets/MyUI",
  "GeneratedDirectory": "Assets/MyUI/Generated",
  "ResourcesDirectory": "Assets/MyUI/Generated/Resources/SusRuntime",
  "EnableValidation": true,
  "StrictVForKey": true,
  "LogGeneratedFiles": true,
  "HotReloadStatePreserve": true,
  "logLevel": "Warn"
}

Держите ResourcesDirectory внутри GeneratedDirectory (зеркало Resources пишется внутри сгенерированного вывода). Несовпадающие корни (например, .../gen + .../Generated/Resources) разбивают вывод на два дерева.

ПолеПо умолчаниюЗначение
SharqDirectoryAssets/SusUIГде лежат исходники .sharq
GeneratedDirectoryAssets/SusUI/GeneratedВывод для .g.cs / .g.uss
ResourcesDirectory…/Generated/Resources/SusRuntimeСинхронизируемая компилятором runtime-папка Resources (внутри GeneratedDirectory)
EnableValidationtrueЗапускать SharqValidator
StrictVForKeytrueПредупреждать, если у v-for нет :key
LogGeneratedFilestrueЛогировать генерацию в консоль
HotReloadStatePreservetrueСохранять снапшот Prop<T> через domain reload в Play-режиме
logLevelWarnRuntime-минимум для SusLog (Error / Warn / Info / Verbose, без учёта регистра). Аудиты и прочая диагностика молчат, пока не поднять до Verbose. См. 11-api-reference.

logLevel читается в runtime из Assets/sus.config.json при первом обращении к SusLog (безопасно для player; это не Editor-only UI конфигурации). Код может переопределить через SusApp.UseLogLevel(...) / SusLog.Level. Scripting define SUS_VERBOSE_LOGS поднимает пол до Verbose и не может быть понижен конфигом или UseLogLevel.

Поля EnableHashCaching не существует — инкрементальная компиляция использует собственный кеш компилятора.