Перейти к содержимому
Поиск

Developer API

Developer API Locus позволяет локальным инструментам Unreal Editor работать с заметками, документами и метками Locus. Он предназначен для плагинов C++ редактора, Editor Utility Blueprint и Widget, скриптов Unreal Python и автоматизации конвейеров внутри редактора.

Your Editor tool
↓
Locus Developer API
↓
Existing Locus application

Операции разработчика используют те же проверки, ревизии, сохранение, защиту от конфликтов, правила путей документов, маршрутизацию системы контроля версий и время жизни приложения, что и интерфейс Locus. Используйте API вместо прямого редактирования файлов Locus.

Поверхность Лучше всего подходит для Начните здесь
Нативный C++ Плагины редактора, нативные инструменты, расширенные интеграции C++ Developer API
Blueprint Editor Utility Blueprint, Editor Utility Widget Blueprint Developer API
Unreal Python Скрипты редактора, проверки, пакетная и автономная автоматизация Python Developer API

Интеграция MCP — отдельная поверхность внешнего клиента для AI и агентов. Инструменты C++, Blueprint и Python Developer API не используют MCP внутри процесса.

Основные Locus, C++, Blueprint и MCP поддерживаются в Unreal Engine 5.4–5.8. Интерактивный и автономный Python Developer API требует Unreal Engine 5.6 или новее.

Поверхность UE 5.4–5.5 UE 5.6–5.8
C++ Поддерживается Поддерживается
Blueprint Поддерживается Поддерживается
Python Не поддерживается Поддерживается
MCP Поддерживается Поддерживается

В поддерживаемых версиях Engine все 16 отобранных операций доступны из C++, Blueprint и Python:

Содержимое Операции
Заметки List, Get, Search, Create, Update, Archive
Документы List, Get, Search, Create, Update
Метки List, Get, Create, Update metadata, Add comment

API намеренно не предоставляет изменение папок заметок; переименование, перемещение или удаление документов; изменение положения метки или полную замену якоря; управление видом или поверхностью метки; согласование возможностей автоматизации или события изменений; а также сроки выполнения запросов.

  • Заметка: GUID и явно заданная область Общие или Личные.
  • Метка: GUID и явно заданная область Общие или Личные.
  • Документ: нормализованный путь Markdown относительно ProjectDocuments.

Корень представления документа, путь представления, контекст /Game/... и абсолютное расположение в файловой системе не являются альтернативными идентификаторами.

Запросы создания выбирают один конкретный корень. Переданный путь задаётся относительно этого видимого корня:

Корень представления Переданный путь Авторитетная идентичность
Документы Locus Design/Combat.md Design/Combat.md
Браузер контента Characters/Hero.md Content/Characters/Hero.md

При создании под Браузером контента не добавляйте Content/. Locus применяет это отображение один раз.

Чтение и успешные изменения возвращают непрозрачную ревизию. Обновление или архивирование должно передать текущее значение как ExpectedRevision:

Get → Snapshot + Revision → Update with ExpectedRevision

Не анализируйте и не создавайте ревизии. Если результат — StaleRevision, снова прочитайте авторитетный элемент и пересмотрите изменение. Locus не скрывает устаревшую запись автоматическим повторным чтением или повтором.

Обрабатывайте типизированный код ошибки, а не удобочитаемое сообщение:

InvalidInput, NotFound, AlreadyExists, Conflict, StaleRevision, AccessDenied, Unsupported, Busy, Cancelled, Unavailable, ShuttingDown и OperationFailed. None означает отсутствие ошибки.

Повторяемый запрос Unavailable можно отправить позднее, на следующем обычном тике редактора. Не блокируйте Game Thread во время ожидания.

Успех и состояние системы контроля версий разделены

Заголовок раздела «Успех и состояние системы контроля версий разделены»

Успешное локальное изменение может сообщить о локальном сохранении Committed, а о системе контроля версий — Pending, NotConfigured, Unknown или NotRequired. Это всё равно успешная операция Locus. Состояние операции — дополнительная информация, нейтральная к поставщику, для обычного процесса системы контроля версий пользователя.

Locus не отправляет изменения и не администрирует changelist.

C++, Blueprint и Python — доверенные локальные инструменты редактора. Вызывающий, явно запросивший область Личные, намеренно получает доступ к локальному Личному содержимому текущего проекта. Настройки MCP Разрешить изменения и Разрешить личное содержимое управляют отдельной границей внешнего клиента MCP и не действуют на вызывающего Developer API внутри процесса.