Namespace Serenity.ProjectRecipe.Infrastructure.Editor.Exporters
Classes
AchievementRecipeExporter
Exports UnityAchievementDefinition assets into the achievements section. The
polymorphic [SerializeReference] Condition tree round-trips via
RecipeSerializedPropertyCodec as a managed-reference node, and generateTrigger is
set for the achievements whose companion trigger asset is actually in the project — so re-importing an
exported recipe reproduces the triggers the project already has rather than dropping or inventing them.
AudioClipRecipeExporter
Exports UnityAudioPlayerClipDefinition assets into the audioClips section.
CutsceneRecipeExporter
Exports UnityCutsceneDefinition assets into the cutscenes section. Each stage's type,
duration, fade colour, Timeline reference (as a project path), and speaker, line and Translate flag round-trip, as does the optional rig
prefab. The counterpart of CutsceneRecipeImporter: a stage the cutscene player does not play
(CutsceneStageTypePlayback) is left out with a warning, so the exported recipe always imports.
FeedbackRecipeExporter
Exports FeedbackDefinition assets into the feedbacks section. The polymorphic
[SerializeReference] Effects list round-trips via RecipeSerializedPropertyCodec
(each element is a managed-reference node); companion trigger signal definitions are not inferred
during export (generateTrigger is always false in the exported output).
GenericAssetRecipeExporter
Exports every Serenity ScriptableObject under the scan root that does not have a dedicated typed section
(composite views, UI themes, action definitions, all settings/config assets) into the generic
assets section, capturing each asset's full serialized field tree via
RecipeSerializedPropertyCodec.
MenuRecipeExporter
Exports UnityMenuSettingsDefinition assets into the menus section. Layout, title,
alignment, direction, scrolling, options, and signal wiring (menu-level onShow/onHide/
onCancel/onSubmit and per-option submit signals) all round-trip through
RecipeSignalCodec.
ModalRecipeExporter
Exports UnityModalSettings assets into the modals section. Content, alignment,
direction, scrolling, the listened-for signalTypeName, options, and each option's submit signals
(via RecipeSignalCodec) all round-trip.
MusicTrackRecipeExporter
Exports UnityMusicTrackDefinition assets into the musicTracks section.
RecipeUiOptionExporter
Maps runtime UiOptions back to recipe option DTOs (the inverse of
RecipeUiOptionFactory). Exports the option's identity (id and Guid), its flat fields, and its bound and
default values whole, so an import can match it and keep its binding; the caller fills each option's submit
signals via RecipeSignalCodec.
SerenityRecipeExportContext
Shared state for an export run: the scan root (which becomes the recipe's outputRoot), the recipe
being built, the report, and a running count of exported assets. Provides asset-scanning and
id/output-resolution helpers so section exporters stay small.
Interfaces
ISerenityRecipeSectionExporter
A handler that scans the project for one section's ScriptableObjects and appends their recipe DTOs to
the recipe being built. The inverse of ISerenityRecipeSectionImporter. The built-in exporters are
listed by the export engine; an exporter in any other assembly is discovered by reflection, so a section
whose package the core must not depend on (localization) still exports.