Namespace Serenity.ProjectRecipe.Infrastructure.Editor.Model
Classes
RecipeAchievementDto
Recipe description of a single authored achievement. Maps to a
UnityAchievementDefinition asset, optionally with the companion no-code unlock trigger.
RecipeArrayOp
Merge modes for an array RecipeNode (value of arrayOp).
RecipeAudioClipDto
Recipe description of a single AudioPlayer clip definition. Maps to a
UnityAudioPlayerClipDefinition asset.
RecipeCutsceneDto
Recipe description of a single cutscene. Maps to a UnityCutsceneDefinition asset: an ordered list of
stages plus an optional rig prefab. Authored with the Cutscene Wizard
(Tools ▸ Serenity ▸ Cutscenes ▸ Cutscene Wizard) or by hand.
RecipeCutsceneStageDto
Recipe description of a single cutscene stage. Maps to one UnityCutsceneStep element inside a
UnityCutsceneDefinition.Stages list. Asset references (the Timeline) are given as project paths,
resolved at import time — never GUIDs.
RecipeFeedbackDto
Recipe description of a single feedback definition. Maps to a
FeedbackDefinition asset (Serenity.Feedback.Infrastructure.Settings.FeedbackDefinition).
RecipeGenericAssetDto
A generic Serenity ScriptableObject in a recipe: its type, stable id, output path, and serialized fields. Used for every supported asset type that does not have a dedicated typed section.
RecipeImportOptionsDto
Optional behaviour flags for an import run.
RecipeLocalizationDto
A Unity Localization String Table Collection to create or update from a recipe: the collection name, the
locales to ensure exist, and the per-key translations. Authored by LocalizationRecipeImporter.
RecipeLocalizationKeyDto
A single localization key and its per-locale translations.
RecipeLocalizationValueDto
One locale's text for a localization key.
RecipeMenuDto
Recipe description of a single menu. Maps to a UnityMenuSettingsDefinition asset.
RecipeModalDto
Recipe description of a single modal. Maps to a UnityModalSettings asset.
RecipeMusicTrackDto
Recipe description of a single music track definition. Maps to a UnityMusicTrackDefinition asset.
RecipeNode
A single serialized value in the generic recipe representation. The generic serializer turns a
ScriptableObject's SerializedProperty tree into a tree of these nodes, so arbitrary Serenity
assets (composite views, themes, actions, settings) — including polymorphic [SerializeReference]
signal graphs — can be captured without a bespoke DTO per type.
RecipeNodeKind
Discriminator values for kind.
RecipeRetiredEntryDto
One entry of a section the recipe schema no longer declares. Only its id is read, so a recipe still
carrying such a section is reported — naming the section and its item count — instead of silently dropped.
RecipeRetiredSections
The top-level sections older recipes declared and no handler ever filled: gameMode, signals,
playerInput and gameSettings. Their assets are exported into the generic assets
section. A recipe is read into this shape a second time only to find them, because the JSON parser drops
keys the recipe model does not declare without a word.
RecipeSignalDto
Recipe description of a single [SerializeReference] EventDispatcherSignal to wire onto a
menu, modal, or option. The common case is a parameterless marker signal — just give its type
(the .NET FullName, e.g. Serenity.GameMode.Application.Events.ResumeGameSignal); leave
fields empty. For a signal that carries serialized data, add the data as
RecipeNode field nodes (same representation the generic assets section uses), so the
whole signal graph is reproduced. Applied through RecipeSerializedPropertyCodec.
RecipeUiOptionDto
Recipe description of a single UI option shared by menus and modals. Maps to a UiOption.
Covers the flat fields (label, value/interaction type, a simple string default, translation flags) and the
option's submit signals (submitSignals), wired through the serialized-property codec.
RecipeUiOptionValueDto
Recipe description of one UiOptionValue — an option's bound value or its default: the value itself
plus the binding identity (the action, setting or view it names by id and Guid) and the view it belongs to.
Carried whole so an option's binding round-trips exactly instead of collapsing to a bare string.
SerenityRecipe
Root data-transfer object for a .serenity-recipe.json file. This is a plain
JsonUtility-serializable description of the Serenity content a project wants;
it is read by the importer and turned into real ScriptableObjects through the Unity Editor API.
External tools (including AI assistants) should emit this format instead of authoring Unity
.asset/.meta files, GUIDs, or serialized YAML directly.