reckfellENGINE

Расширение движка: выбор API

Когда достаточно C#, когда нужен плагин, нативная библиотека или модуль.

На этой странице

Выбирайте способ расширения по задаче и доступному API. Наличие C++ исходников не означает, что для каждой функции нужно собирать собственный движок.

ЗадачаС чего начатьЧто потребуется
Игровая логика, собственные компоненты и данныеC# Entity/ResourceСборка C# проекта и доступный управляемый SDK
Собственный формат данныхResourceFormatLoader/ResourceFormatSaverCallbacks формата и регистрация обработчиков
Синтез или очередь PCMAudioStreamGeneratorСогласованные частоты, заполнение буфера и контроль пропусков
Инструмент редактораEditorPlugin, при необходимости EditorImportPluginРедакторский жизненный цикл и очистка регистраций
Нативная библиотека через доступный ABIReckfellExtensionБиблиотека под каждую ОС/архитектуру и подходящие интерфейсы
Изменение внутренних систем, недоступных через APIМодуль C++ или изменение SourceСборка движка и нужных экспортных шаблонов
Новый платформенный backendПорт платформыИнтеграция окна, ввода, рендера, аудио и сборки под целевую систему

Начните с проверяемого результата

  1. Найдите нужный тип и метод в справочнике SDK. Не считайте, что внутренний метод C++ автоматически доступен в C# или ABI расширений.
  2. Сделайте один рабочий сценарий: создать объект, вызвать функцию, получить результат, освободить свои ресурсы.
  3. Определите владельца регистраций и подписок. При выключении плагина или завершении сервиса снимите их; освобождение обёртки само по себе не заменяет снятие регистрации.
  4. Если код должен работать у игрока, проверьте его в экспортированной игре. Успешный запуск редактора не подтверждает наличие нативной библиотеки, зависимостей или пользовательских файлов в экспорте.

Рабочие примеры: собственный формат ресурсов, потоковое аудио. Для инструментов редактора начните с EditorPlugin и EditorImportPlugin.

Где действительно нужна нативная сборка

ReckfellExtension загружает отдельную нативную библиотеку по описанию .reckfellextension. Выбор библиотеки зависит от признаков целевой платформы и архитектуры; один файл библиотеки не переносится автоматически на все системы. Доступ ограничен интерфейсом расширений: приватные классы и произвольные внутренние функции Source не становятся доступными только из-за использования C++.

Модуль C++ входит в сборку движка. Его регистрация разделена на уровни инициализации Core, Servers, Scene и Editor. Код уровня Editor не следует считать доступным в игре. Изменение модуля требует новой сборки соответствующих исполняемых файлов; для распространения игры нужны согласованные шаблоны целевых платформ.

Ни расширение, ни модуль не гарантируют выигрыш производительности сами по себе. Сначала измерьте сценарий: вычисления, переходы между API, копирование данных, ожидание или GPU. Перенос маленьких вызовов через границу языков может не устранить реальную причину задержки.

Дальше: нативные расширения, модули C++, порты платформ.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.