UMIPLifeSkillRecipeDataAsset¶
Overview¶
UMIPLifeSkillRecipeDataAsset is a recipe table for a life skill (Crafting, Cooking, etc.). It subclasses UDataAsset directly. Recipes holds FMIPLifeSkillRecipeInfo rows (tag, level requirement, required items, fees, output pool). UMIPBaseLifeSkillComponent merges multiple such assets via RecipeDataAssets so content can be split by category, DLC, or season.
All paths below are relative to Plugins/ModularInventoryPlus/Source/ModularInventoryPlus/.
Key Classes & Files¶
| Class | File |
|---|---|
UMIPLifeSkillRecipeDataAsset |
Public/DataAsset/MIPLifeSkillRecipeDataAsset.h |
FMIPLifeSkillRecipeInfo |
Public/LifeSkill/MIPLifeSkillTypes.h |
IsDataValid |
Private/DataAsset/MIPLifeSkillRecipeDataAsset.cpp |
Properties¶
| Property | Type | Description |
|---|---|---|
Recipes |
TArray<FMIPLifeSkillRecipeInfo> |
All recipes in this table. |
FindRecipeByTag returns a pointer by exact RecipeTag match.
Editor validation¶
If Super::IsDataValid returns Invalid, the function returns immediately.
| Severity | Condition | Message |
|---|---|---|
| Warning | Recipes empty |
Recipes array is empty — this asset contributes no recipes. |
Per recipe index i, prefix Recipes[i] and recipe tag string when valid:
| Severity | Condition | Message |
|---|---|---|
| Error | RecipeTag invalid |
Recipes[%d]: RecipeTag is not set. |
| Error | Duplicate RecipeTag |
Recipes[%d] (%s): Duplicate RecipeTag — each recipe must have a unique tag. |
| Error | LevelRequirement < 0 |
Recipes[%d] (%s): LevelRequirement is negative (%d). |
| Error | Output pool entry invalid (!Entry.IsValid()) |
Recipes[%d] (%s): OutputPool.Items[%d] has an invalid ItemTag. |
| Error | Entry.Weight <= 0 |
Recipes[%d] (%s): OutputPool.Items[%d] (%s) has Weight <= 0. |
| Error | No valid outputs in pool | Recipes[%d] (%s): Recipe has no valid output entries in the output pool. |
| Error | RequiredItems[r] invalid |
Recipes[%d] (%s): RequiredItems[%d] has an invalid ItemTag. |
Duplicate detection uses a TSet<FGameplayTag> SeenTags.
Implementation: Private/DataAsset/MIPLifeSkillRecipeDataAsset.cpp (#if WITH_EDITOR).
Integration¶
| Topic | Link |
|---|---|
| Life skills | Life Skills |
| Data assets index | Data assets index |