Blueprint nodes¶
Designer · reference · No code
Generated from source — do not edit by hand.
This page is written by Docs/Manual/tools/gen_reference.py from the plugin's headers.
Edit the source comment and re-run the generator instead. See Docs/Manual/tools/README.md.
The Blueprint nodes XenoCore adds that are not member functions of a class: latent nodes (they wait for the player and continue from one of several output pins) and function libraries (nodes you can place in any graph). Search the node's name in the graph's right-click menu. Member functions of components, subsystems and widgets are listed with their class in C++ classes.
Latent nodes¶
Each latent node fires at most one of its output pins, once. A graph waiting on one is suspended until then, so always wire every output pin you care about.
- Ask Confirm, Offer Quest, Open Shop and Open Trade always fire one: if their screen cannot be shown, or closes without an answer (backed out of, or torn down with the world), they take the No / Declined / Nothing Changed / Cancelled pin.
- Show Dialogue and Play Dialogue fire nothing if the conversation is closed (by Close Dialogue from another graph, or the world ending) before the line is advanced. The graph waiting on them simply stops there.
Ask Confirm¶
Latent node · XenoCore › Confirm · class UXenoCoreAskConfirmAsync · header XenoCoreRuntime/Public/UI/XenoCoreAskConfirmAsync.h
"Ask Confirm" - shows a yes/no popup over a screen and continues on the player's answer.
| Input pin | Type | Description |
|---|---|---|
| Stack | UCommonActivatableWidgetStack* |
The stack to show the popup in. Use the screen's own stack so the screen stays visible under it. |
| Popup Class | TSubclassOf<UXenoCoreConfirmPopupBase> |
The popup widget to show, for example W_XenoCore_ConfirmPopup. |
| Title | FText |
— |
| Question | FText |
— |
| Warning | FText |
Drawn under the question in the warning colour. Leave empty to hide it. |
| Focus Cancel | bool |
Start the cursor on No, for a question whose Yes cannot be undone. |
| Output pin | Carries | Fires when |
|---|---|---|
| On Yes | UXenoCoreConfirmPopupBase* Popup |
The player chose Yes. The popup has already closed. |
| On No | UXenoCoreConfirmPopupBase* Popup |
The player chose No, backed out, the popup closed unanswered, or it could not be shown. |
Ask Confirm (Existing Popup)¶
Latent node · XenoCore › Confirm · class UXenoCoreAskConfirmAsync · header XenoCoreRuntime/Public/UI/XenoCoreAskConfirmAsync.h
"Ask Confirm" - shows a yes/no popup over a screen and continues on the player's answer.
| Input pin | Type | Description |
|---|---|---|
| Popup | UXenoCoreConfirmPopupBase* |
— |
| Title | FText |
— |
| Question | FText |
— |
| Warning | FText |
Drawn under the question in the warning colour. Leave empty to hide it. |
| Focus Cancel | bool |
Start the cursor on No, for a question whose Yes cannot be undone. |
| Output pin | Carries | Fires when |
|---|---|---|
| On Yes | UXenoCoreConfirmPopupBase* Popup |
The player chose Yes. The popup has already closed. |
| On No | UXenoCoreConfirmPopupBase* Popup |
The player chose No, backed out, the popup closed unanswered, or it could not be shown. |
Offer Quest¶
Latent node · XenoCore › Quest · class UXenoCoreOfferQuest · header XenoCoreRuntime/Public/Quest/XenoCoreQuestNodes.h
"Offer Quest" - puts the quest panel on screen and continues on the player's answer.
| Input pin | Type | Description |
|---|---|---|
| Quest | UXenoCoreQuestDefinition* |
What to offer. Null completes on Declined immediately, with a warning. |
| Giver | AActor* |
Whoever is asking. Used only for the "Requested By" line when the quest names no requester of its own; safe to leave null. |
| Output pin | Carries | Fires when |
|---|---|---|
| Accepted | — | The player took the quest on. It is Active by the time this fires. |
| Declined | — | The player turned it down, backed out, or the panel could not be shown. |
Open Shop¶
Latent node · XenoCore › Shop · class UXenoCoreOpenShop · header XenoCoreRuntime/Public/Shop/XenoCoreShopNodes.h
"Open Shop" - puts the shop on screen and continues when the player leaves it.
| Input pin | Type | Description |
|---|---|---|
| Table | UXenoCoreShopTable* |
What the shop sells. Null still opens the shop for selling, with a warning. |
| Shopkeeper | AActor* |
Whoever is behind the counter. Safe to leave null. |
| Output pin | Carries | Fires when |
|---|---|---|
| Transacted | — | The player bought or sold at least once. |
| Nothing Changed | — | The player left without buying or selling, or the shop could not be shown. |
Open Trade¶
Latent node · XenoCore › Trade · class UXenoCoreOpenTrade · header XenoCoreRuntime/Public/Trade/XenoCoreTradeNodes.h
"Open Trade" - puts the barter screen on screen and continues when the player is done.
| Input pin | Type | Description |
|---|---|---|
| Table | UXenoCoreTradeTable* |
What they will part with. Null completes on Cancelled immediately, with a warning - the same "authoring mistake, not a crash" contract Offer Quest keeps. |
| Trader | AActor* |
Whoever is trading, for the screen's title. Safe to leave null. |
| Output pin | Carries | Fires when |
|---|---|---|
| Traded | — | At least one exchange happened. |
| Cancelled | — | The player backed out, or the screen could not be shown. |
Play Dialogue¶
Latent node · XenoCore › Dialogue · class UXenoCorePlayDialogue · header XenoCoreRuntime/Public/Dialogue/XenoCoreDialogueNodes.h
"Play Dialogue" - a whole run of lines from an array, then closes the box.
| Input pin | Type | Description |
|---|---|---|
| Lines | const TArray<FXenoCoreDialogueLine>& |
Played in order. An empty array completes immediately and logs a warning. |
| Output pin | Carries | Fires when |
|---|---|---|
| Completed | — | Fires once the last line has been advanced past and the box has closed. |
Show Dialogue¶
Latent node · XenoCore › Dialogue · class UXenoCoreShowDialogue · header XenoCoreRuntime/Public/Dialogue/XenoCoreDialogueNodes.h
"Show Dialogue" - one sentence, one node, an exec pin that fires when the player presses A. Does not close the box: end the chain with Close Dialogue.
| Input pin | Type | Description |
|---|---|---|
| Speaker | FText |
The name on the plate. Leave empty to keep the previous speaker. |
| Line | FText |
One sentence. |
| Source | EXenoCoreDialogueSpeaker |
Whose head the box floats over. Npc means the actor that was interacted with - the subsystem already knows which, so there is no actor pin to wire. |
| Output pin | Carries | Fires when |
|---|---|---|
| Advanced | — | Fires when the player advances past this line. |
Function libraries¶
XenoCore › Animation¶
| Node | Kind | Library | Signature | Description |
|---|---|---|---|---|
| Describe Resolution | Callable | UXenoCoreAnimProfileStatics |
FString DescribeResolution(const AActor* Actor) |
Every combat clip this actor resolves to, and where each came from - profile or default. The inheritance report a designer reads; also what XenoCore.Anim.Describe prints. |
| Get Anim Profile | Pure | UXenoCoreAnimProfileStatics |
const UXenoCoreCharacterAnimProfile* GetAnimProfile(const AActor* Actor) |
The profile this actor wears, or null - no provider, or a provider with none set. |
| Pick Death Montage | Callable | UXenoCoreAnimProfileStatics |
UAnimMontage* K2_PickDeathMontage(const AActor* Actor, const TArray<UAnimMontage*>& DefaultMontages) |
PickDeathMontage for a Blueprint death graph - B_XenoCore_Player draws its own. |
| Pick Victory Montage | Callable | UXenoCoreAnimProfileStatics |
UAnimMontage* PickVictoryMontage(const AActor* Actor) |
The battle-won emote: random from the profile's VictoryMontages, null when there are none. There is no default tier - a character without a profile entry simply does not celebrate. |
XenoCore › Arts¶
| Node | Kind | Library | Signature | Description |
|---|---|---|---|---|
| Get Category Colour | Pure | UXenoCoreArtsUIStatics |
FLinearColor GetCategoryColour(EXenoCoreArtCategory Category) |
XC1's colour language, sourced: pink Break, green Topple, yellow Daze, red physical, blue ether, orange Aura. |
| Get Category Label | Pure | UXenoCoreArtsUIStatics |
FText GetCategoryLabel(EXenoCoreArtCategory Category) |
The display label of an art category: "Physical", "Break", "Heal". |
| Get Palette Views | Pure | UXenoCoreArtsUIStatics |
TArray<FXenoCoreArtView> GetPaletteViews(UXenoCorePartyMemberDefinition* Member) |
Feeds the slot strip. |
| Get Selectable Art Views | Pure | UXenoCoreArtsUIStatics |
TArray<FXenoCoreArtView> GetSelectableArtViews(UXenoCorePartyMemberDefinition* Member) |
Everything this character could put in a slot. Feeds the pick list. |
| Make Art Slot View | Pure | UXenoCoreArtsUIStatics |
FXenoCoreArtView MakeArtSlotView(UXenoCorePartyMemberDefinition* Member, int32 SlotIndex) |
One row for a palette position - the art in it, or an empty row that names the slot. |
| Make Art View | Pure | UXenoCoreArtsUIStatics |
FXenoCoreArtView MakeArtView(UXenoCorePartyMemberDefinition* Member, UXenoCoreArtDefinition* Art) |
One row for an art, as it should appear in the pick list for this character. |
| Make Talent Art View | Pure | UXenoCoreArtsUIStatics |
FXenoCoreArtView MakeTalentArtView(UXenoCorePartyMemberDefinition* Member) |
The member's Talent Art, read off their live pawn. bIsEmpty when they have no body (benched) or no talent - the strip then simply draws no centre cell. |
| Open Arts Screen | Callable | UXenoCoreArtsUIStatics |
void OpenArtsScreen() |
Push the Arts screen onto the menu layer. What the menu shell's Arts button calls. |
XenoCore › Cosmetics¶
| Node | Kind | Library | Signature | Description |
|---|---|---|---|---|
| Ensure Body Mesh Fallback | Callable | UXenoCoreCosmeticStatics |
bool EnsureBodyMeshFallback(ACharacter* Character) |
If the character's body-mesh rules have no default mesh, uses the mesh it currently has, so a cosmetic part matching no rule cannot make it invisible. Returns true if a fallback was set. |
| Get Body Mesh For Part | Pure | UXenoCoreCosmeticStatics |
USkeletalMesh* GetBodyMeshForPart(const AActor* Pawn, TSubclassOf<AActor> PartClass) |
The body mesh a cosmetic part of this class would select on this pawn. None means adding the part would leave the pawn with no visible body. |
| Get Cosmetic Part Tags | Pure | UXenoCoreCosmeticStatics |
FGameplayTagContainer GetCosmeticPartTags(TSubclassOf<AActor> PartClass) |
The gameplay tags a cosmetic part of this class contributes. |
XenoCore › Enemy¶
| Node | Kind | Library | Signature | Description |
|---|---|---|---|---|
| Get Enemy Level Text | Pure | UXenoCoreEnemyStatics |
FText GetEnemyLevelText(const AXenoCoreEnemyCharacter* Enemy) |
"lvl.N" (or "Name lvl.N" for a Unique Monster), per XenoCore Enemies settings. |
| Get Level Colour | Pure | UXenoCoreEnemyStatics |
FLinearColor GetLevelColour(int32 EnemyLevel) |
The colour this level reads in, from the XenoCore Enemies level colour ladder. |
| Get Party Leader Level | Pure | UXenoCoreEnemyStatics |
int32 GetPartyLeaderLevel() |
The party leader's level, which every enemy level is measured against. 1 if there is no party yet. |
XenoCore › Gems¶
| Node | Kind | Library | Signature | Description |
|---|---|---|---|---|
| Can Unsocket | Pure | UXenoCoreGemStatics |
bool CanUnsocket(const ULyraInventoryItemInstance* Host, int32 SocketIndex) |
True if this socket holds a gem that can be taken out. |
| Describe Gem Effect | Pure | UXenoCoreGemStatics |
FText DescribeGemEffect(TSubclassOf<ULyraInventoryItemDefinition> GemDef, int32 Value) |
"Strength +8" - what a gem of this strength does. Empty for something that is not a gem. |
| Get Gem Colour | Pure | UXenoCoreGemStatics |
FLinearColor GetGemColour(TSubclassOf<ULyraInventoryItemDefinition> GemDef) |
The gem's colour - its display fragment's Symbol Colour, set to its XC1 element. What its socket icon is tinted. |
| Get Gem Name | Pure | UXenoCoreGemStatics |
FText GetGemName(TSubclassOf<ULyraInventoryItemDefinition> GemDef) |
"Strength Up I", the gem's name. |
| Get Gem Names Text | Pure | UXenoCoreGemStatics |
FText GetGemNamesText(const ULyraInventoryItemInstance* Item) |
The item's socketed gems by name, "Empty Slot" for an empty one. Empty for no sockets. |
| Get Gem Row Text | Pure | UXenoCoreGemStatics |
FText GetGemRowText(const ULyraInventoryItemInstance* Item) |
One loadout row's sockets on one line: an O per gem, a dash per empty socket. Empty text for a piece with no sockets, so the cell draws nothing. |
| Get Gem Slot Count | Pure | UXenoCoreGemStatics |
int32 GetGemSlotCount(const ULyraInventoryItemInstance* Item) |
How many sockets this piece of equipment has. 0 for anything that is not equipment. |
| Get Gem Strength | Pure | UXenoCoreGemStatics |
int32 GetGemStrength(const ULyraInventoryItemInstance* GemItem) |
A loose gem's strength. |
| Get Gem Value Text | Pure | UXenoCoreGemStatics |
FText GetGemValueText(TSubclassOf<ULyraInventoryItemDefinition> GemDef, int32 Value) |
"+5", or "+2%" for a percent stat - a gem's value without its stat name, for a row that is short of room. |
| Get Loose Gems | Callable | UXenoCoreGemStatics |
TArray<ULyraInventoryItemInstance*> GetLooseGems() |
Every gem in the party bag, strongest first within a name. |
| Get Sockets | Pure | UXenoCoreGemStatics |
TArray<FXenoCoreSocketedGem> GetSockets(const ULyraInventoryItemInstance* Item) |
Every socket on this piece, empty ones included, in order. |
| Is Gem | Pure | UXenoCoreGemStatics |
bool IsGem(const ULyraInventoryItemInstance* Item) |
True if this item is a gem. |
| Preview Socket Change | Callable | UXenoCoreGemStatics |
TMap<FGameplayTag, float> PreviewSocketChange(const UXenoCoreEquipmentComponent* Wearer, const ULyraInventoryItemInstance* Host, int32 SocketIndex, TSubclassOf<ULyraInventoryItemDefinition> NewGem, int32 NewValue) |
Stat changes on the wearer if Host's socket SocketIndex held NewGem at NewValue (null = emptied). |
| Socket Gem | Callable | UXenoCoreGemStatics |
bool SocketGem(ULyraInventoryItemInstance* Host, int32 SocketIndex, ULyraInventoryItemInstance* GemItem) |
Put a loose gem from the bag into a socket. A gem already there goes back into the bag with its own strength. |
| Unsocket Gem | Callable | UXenoCoreGemStatics |
bool UnsocketGem(ULyraInventoryItemInstance* Host, int32 SocketIndex) |
Take a gem out of a socket and back into the bag. Refuses an empty or fixed socket. |
XenoCore › Inventory¶
| Node | Kind | Library | Signature | Description |
|---|---|---|---|---|
| Add Item To Party | Callable | UXenoCoreInventoryStatics |
int32 AddItemToParty(TSubclassOf<ULyraInventoryItemDefinition> ItemDef, int32 Count = 1) |
Adds Count of ItemDef to the party bag, honouring the item's MaxCarried cap. Returns how many were actually added - short of Count when the cap was hit. |
| Add One Item To Party | Callable | UXenoCoreInventoryStatics |
ULyraInventoryItemInstance* AddOneItemToParty(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
Adds exactly one and returns the instance, which the equip path needs and a count cannot give. Same cap and same broadcast as AddItemToParty; null when the cap left no room. |
| Build Item Stat Lines | Callable | UXenoCoreInventoryStatics |
TArray<FXenoCoreStatLine> BuildItemStatLines(ULyraInventoryItemInstance* Item) |
One item's own stats, with no character and no comparison - the Items menu's details pane. |
| Build Item Stat Lines For Def | Callable | UXenoCoreInventoryStatics |
TArray<FXenoCoreStatLine> BuildItemStatLinesForDef(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
The same block, priced off a definition - for an item nobody owns yet. |
| Build Stat Comparison | Callable | UXenoCoreInventoryStatics |
TArray<FXenoCoreStatLine> BuildStatComparison(UXenoCoreEquipmentComponent* Equipment, EXenoCoreEquipSlot Slot, ULyraInventoryItemInstance* Candidate) |
What Candidate would give, and how it differs from what is equipped in Slot right now. |
| Build Stat Comparison For Def | Callable | UXenoCoreInventoryStatics |
TArray<FXenoCoreStatLine> BuildStatComparisonForDef(UXenoCoreEquipmentComponent* Equipment, EXenoCoreEquipSlot Slot, TSubclassOf<ULyraInventoryItemDefinition> CandidateDef) |
BuildStatComparison for an item nobody owns yet - a shop's stock. |
| Build Stat Totals | Callable | UXenoCoreInventoryStatics |
TArray<FXenoCoreStatLine> BuildStatTotals(AActor* Character) |
The character's actual current stats, read through the ability system. |
| Build Stat Totals With Candidate | Callable | UXenoCoreInventoryStatics |
TArray<FXenoCoreStatLine> BuildStatTotalsWithCandidate(AActor* Character, UXenoCoreEquipmentComponent* Equipment, EXenoCoreEquipSlot Slot, ULyraInventoryItemInstance* Candidate) |
The character sheet's totals, with a second column showing what each stat becomes if Candidate is equipped into Slot. |
| Can Unequip Slot | Pure | UXenoCoreInventoryStatics |
bool CanUnequipSlot(UXenoCoreEquipmentComponent* Equipment, EXenoCoreEquipSlot Slot) |
Whether the loadout's unequip action should be offered for this slot. |
| Consume Items From Party | Callable | UXenoCoreInventoryStatics |
bool ConsumeItemsFromParty(TSubclassOf<ULyraInventoryItemDefinition> ItemDef, int32 Count = 1) |
Spends exactly Count of ItemDef, or nothing at all. Returns false, removing nothing, when the party holds fewer than Count unequipped. |
| Find Equipment Holding | Pure | UXenoCoreInventoryStatics |
UXenoCoreEquipmentComponent* FindEquipmentHolding(const ULyraInventoryItemInstance* Item) |
Whose loadout holds this item, or null if nobody is wearing it. |
| Find Free Item By Definition | Pure | UXenoCoreInventoryStatics |
ULyraInventoryItemInstance* FindFreeItemByDefinition(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
An instance of this definition that the party owns and nobody is wearing, or null. |
| Get Category Symbol | Pure | UXenoCoreInventoryStatics |
FText GetCategorySymbol(EXenoCoreItemCategory Category, FLinearColor& OutColour) |
The category's default glyph and colour, with no item to ask. |
| Get Equip Type Label | Pure | UXenoCoreInventoryStatics |
FText GetEquipTypeLabel(EXenoCoreEquipType EquipType) |
Display label for an armour class - "Medium". An em dash for None. |
| Get Free Party Item Count | Pure | UXenoCoreInventoryStatics |
int32 GetFreePartyItemCount(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
How many of ItemDef the party holds that nobody is wearing - what can be spent or sold. |
| Get Item Category | Pure | UXenoCoreInventoryStatics |
EXenoCoreItemCategory GetItemCategory(ULyraInventoryItemInstance* Item) |
Which tab an item belongs to. Equipment if it carries slots; Items if it declares nothing. |
| Get Item Display Name | Pure | UXenoCoreInventoryStatics |
FText GetItemDisplayName(ULyraInventoryItemInstance* Item) |
The item's display name off its definition. Empty text for a null item. |
| Get Item Stat | Pure | UXenoCoreInventoryStatics |
float GetItemStat(ULyraInventoryItemInstance* Item, FGameplayTag StatTag) |
One stat off an item, 0 when absent. Percent stats are whole percent, as authored. |
| Get Item Stat For Def | Pure | UXenoCoreInventoryStatics |
float GetItemStatForDef(TSubclassOf<ULyraInventoryItemDefinition> ItemDef, FGameplayTag StatTag) |
One authored stat off a definition's CDO. Zero when the definition grants nothing. |
| Get Item Symbol | Pure | UXenoCoreInventoryStatics |
FText GetItemSymbol(ULyraInventoryItemInstance* Item, FLinearColor& OutColour) |
The glyph shown beside an item's name, and its colour. |
| Get Item Views For Category | Callable | UXenoCoreInventoryStatics |
TArray<FXenoCoreItemView> GetItemViewsForCategory(EXenoCoreItemCategory Category) |
One row per item definition in a tab, with Quantity filled in - "Ether Crystal x12". |
| Get Item Views For Slot | Callable | UXenoCoreInventoryStatics |
TArray<FXenoCoreItemView> GetItemViewsForSlot(UXenoCoreEquipmentComponent* Equipment, EXenoCoreEquipSlot Slot) |
The selection list for one slot: every bag item that fits it, already resolved. |
| Get Items For Category | Callable | UXenoCoreInventoryStatics |
TArray<ULyraInventoryItemInstance*> GetItemsForCategory(EXenoCoreItemCategory Category) |
Every item instance in the party bag whose category matches. |
| Get Items For Slot | Callable | UXenoCoreInventoryStatics |
TArray<ULyraInventoryItemInstance*> GetItemsForSlot(EXenoCoreEquipSlot Slot, const UXenoCoreEquipmentComponent* ForCharacter = nullptr) |
Every item in the party bag that may go in Slot, in bag order. With ForCharacter set, weapons they cannot wield are left out. |
| Get Loadout Slot Text | Pure | UXenoCoreInventoryStatics |
FText GetLoadoutSlotText(UXenoCoreEquipmentComponent* Equipment, EXenoCoreEquipSlot Slot) |
What a loadout row draws: the worn item's name, or the slot's own label when it is empty. |
| Get Loadout Views | Callable | UXenoCoreInventoryStatics |
TArray<FXenoCoreItemView> GetLoadoutViews(UXenoCoreEquipmentComponent* Equipment) |
The six loadout rows, in slot order, empties included. |
| Get Max Carried | Pure | UXenoCoreInventoryStatics |
int32 GetMaxCarried(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
The carry cap for a definition, or 0 when uncapped. |
| Get Party Inventory | Pure | UXenoCoreInventoryStatics |
ULyraInventoryManagerComponent* GetPartyInventory() |
The party bag. There is exactly one, and this is the only thing that decides where it lives. |
| Get Party Item Count | Pure | UXenoCoreInventoryStatics |
int32 GetPartyItemCount(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
How many of ItemDef the party holds. |
| Get Slot Label | Pure | UXenoCoreInventoryStatics |
FText GetSlotLabel(EXenoCoreEquipSlot Slot) |
Display label for a slot - "Weapon", "Torso". |
| Is Item Equipped By Anyone | Pure | UXenoCoreInventoryStatics |
bool IsItemEquippedByAnyone(const ULyraInventoryItemInstance* Item) |
True if any character in the world has this exact instance equipped. |
| Make Item View | Pure | UXenoCoreInventoryStatics |
FXenoCoreItemView MakeItemView(ULyraInventoryItemInstance* Item, UXenoCoreEquipmentComponent* Equipment) |
One selection row: an item, priced and flagged against a character's current loadout. |
| Make Slot View | Pure | UXenoCoreInventoryStatics |
FXenoCoreItemView MakeSlotView(UXenoCoreEquipmentComponent* Equipment, EXenoCoreEquipSlot Slot) |
One loadout row: a named slot and whatever is in it. Empty slots come back with bIsEmpty true and an em dash for a name, so the caller never has to special-case them. |
| Remove Item From Party | Callable | UXenoCoreInventoryStatics |
int32 RemoveItemFromParty(TSubclassOf<ULyraInventoryItemDefinition> ItemDef, int32 Count = 1) |
Removes up to Count of ItemDef. Returns how many actually went. |
| Remove Item Instance From Party | Callable | UXenoCoreInventoryStatics |
bool RemoveItemInstanceFromParty(ULyraInventoryItemInstance* Item) |
Removes this exact item from the party bag. Refuses (returns false) if a party member is wearing it or it is not in the bag. |
XenoCore › Item › Rarity¶
| Node | Kind | Library | Signature | Description |
|---|---|---|---|---|
| Apply Item Definition Rarity To Button | Callable | UXenoCoreItemRarityStatics |
bool ApplyItemDefinitionRarityToButton(UUserWidget* Button, TSubclassOf<ULyraInventoryItemDefinition> ItemDef, FLinearColor Fallback = FLinearColor::White) |
ApplyItemRarityToButton for an item definition - a gem in a socket has no bag instance. |
| Apply Item Instance Rarity | Callable | UXenoCoreItemRarityStatics |
bool ApplyItemInstanceRarity(ULyraInventoryItemInstance* Item, UTextBlock* NameText, UPanelWidget* PipBox, FLinearColor Fallback = FLinearColor::White, float Opacity = 1.0f, float PipSize = 0.0f) |
ApplyItemRarity for an item in the bag. |
| Apply Item Instance Rarity Label | Callable | UXenoCoreItemRarityStatics |
bool ApplyItemInstanceRarityLabel(ULyraInventoryItemInstance* Item, UTextBlock* Text, FLinearColor Fallback = FLinearColor::White) |
ApplyItemRarityLabel for an item in the bag. |
| Apply Item Rarity | Callable | UXenoCoreItemRarityStatics |
bool ApplyItemRarity(TSubclassOf<ULyraInventoryItemDefinition> ItemDef, UTextBlock* NameText, UPanelWidget* PipBox, FLinearColor Fallback = FLinearColor::White, float Opacity = 1.0f, float PipSize = 0.0f) |
Colour an item's name by rarity and fill its diamonds. Any widget may be null. |
| Apply Item Rarity Label | Callable | UXenoCoreItemRarityStatics |
bool ApplyItemRarityLabel(TSubclassOf<ULyraInventoryItemDefinition> ItemDef, UTextBlock* Text, FLinearColor Fallback = FLinearColor::White) |
Write the tier's name into a details row and colour it. An empty item clears the text. |
| Apply Item Rarity To Button | Callable | UXenoCoreItemRarityStatics |
bool ApplyItemRarityToButton(UUserWidget* Button, ULyraInventoryItemInstance* Item, FLinearColor Fallback = FLinearColor::White) |
Colour a button's label by an item's rarity. For buttons labelled with SetButtonText. |
| Apply Loadout Slot Rarity | Callable | UXenoCoreItemRarityStatics |
bool ApplyLoadoutSlotRarity(UUserWidget* Button, UXenoCoreEquipmentComponent* Equipment, EXenoCoreEquipSlot Slot, FLinearColor Fallback = FLinearColor::White) |
ApplyItemRarityToButton for a loadout slot: whatever Equipment wears in Slot (an empty slot draws Fallback). |
| Get Default Rarity Info | Pure | UXenoCoreItemRarityStatics |
bool GetDefaultRarityInfo(FXenoCoreItemRarityRow& OutRow) |
The lowest-ranked row - what an item with no rarity set is. False with no table. |
| Get Item Name Colour | Pure | UXenoCoreItemRarityStatics |
FLinearColor GetItemNameColour(TSubclassOf<ULyraInventoryItemDefinition> ItemDef, FLinearColor Fallback) |
The colour this item's name should rest at, or Fallback when its tier does not tint names. |
| Get Item Rarity | Pure | UXenoCoreItemRarityStatics |
FGameplayTag GetItemRarity(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
An item definition's tier: its authored tag, else the default row's. |
| Get Item Rarity Info | Pure | UXenoCoreItemRarityStatics |
bool GetItemRarityInfo(TSubclassOf<ULyraInventoryItemDefinition> ItemDef, FXenoCoreItemRarityRow& OutRow) |
An item definition's rarity row. False when no table is configured. |
| Get Item Rarity Name | Pure | UXenoCoreItemRarityStatics |
FText GetItemRarityName(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
"Common", "Rare", "Legendary". Empty when nothing resolves. |
| Get Item Rarity Rank | Pure | UXenoCoreItemRarityStatics |
int32 GetItemRarityRank(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
Higher is rarer. Zero when nothing resolves. |
| Get Rarity For Chest Tier | Pure | UXenoCoreItemRarityStatics |
bool GetRarityForChestTier(EXenoCoreChestTier Tier, FXenoCoreItemRarityRow& OutRow) |
The rarity a chest of this tier stands for - the highest rank whose Lowest Chest Tier fits. |
| Get Rarity Info | Pure | UXenoCoreItemRarityStatics |
bool GetRarityInfo(FGameplayTag Rarity, FXenoCoreItemRarityRow& OutRow) |
The row for a tier. False when the table or the row is missing. |
| Prefix With Item Rarity | Pure | UXenoCoreItemRarityStatics |
FText PrefixWithItemInstanceRarity(ULyraInventoryItemInstance* Item, const FText& Rest) |
"Rare · Weapon" - the tier in words in front of Rest. Rest alone when the item has no rarity. |
XenoCore › Locomotion¶
| Node | Kind | Library | Signature | Description |
|---|---|---|---|---|
| Restore Self Rotation | Callable | UXenoCoreLocomotionStatics |
void RestoreSelfRotation(ACharacter* Character) |
Puts the three facing flags back to what the pawn class was authored with. |
| Set Combat Stance | Callable | UXenoCoreLocomotionStatics |
void SetCombatStance(ACharacter* Character, bool bInCombatStance) |
Puts the character into the combat stance (strafe) or the travel stance (free-run). |
| Suppress Self Rotation | Callable | UXenoCoreLocomotionStatics |
bool SuppressSelfRotation(ACharacter* Character) |
Takes yaw ownership away from the pawn so an ability can aim it, and gives it back. |
XenoCore › Loot¶
| Node | Kind | Library | Signature | Description |
|---|---|---|---|---|
| Find Nearest Chest | Pure | UXenoCoreLootStatics |
AXenoCoreTreasureChest* FindNearestChest(AActor* Opener, float Range = 400.0f) |
The nearest unopened chest within Range, without opening it. |
| Get Chest Interact Range | Pure | UXenoCoreLootStatics |
float GetChestInteractRange() |
The distance at which a chest can be prompted for and opened. Wire this rather than typing the number. |
| Open Nearest Chest | Callable | UXenoCoreLootStatics |
AXenoCoreTreasureChest* OpenNearestChest(AActor* Opener, float Range = 400.0f) |
Opens the nearest unopened chest within Range of Opener. |
XenoCore › Menu¶
| Node | Kind | Library | Signature | Description |
|---|---|---|---|---|
| Activate Menu Entry | Callable | UXenoCoreMenuStatics |
void ActivateMenuEntry(UUserWidget* Menu, const FXenoCoreMenuEntry& Entry) |
Do what pressing an entry does: run its Action, else push its Screen onto its layer. |
| Build Menu | Callable | UXenoCoreMenuStatics |
int32 BuildMenu(UUserWidget* Menu, UPanelWidget* Container) |
Fill a menu panel with one button per visible menu entry (Project Settings > XenoCore UI > Menu Entries), in sort order. Safe to call again: the previous buttons are replaced. |
| Build Menu In Panel | Callable | UXenoCoreMenuStatics |
int32 BuildMenuInPanel(UUserWidget* Menu, FName PanelName = "ButtonsBox") |
No description. |
| Get First Menu Button | Pure | UXenoCoreMenuStatics |
UWidget* GetFirstMenuButton(UPanelWidget* Container) |
The first button in a menu panel - what a menu should focus when it opens. Null when there is none. |
| Get First Menu Button In Panel | Pure | UXenoCoreMenuStatics |
UWidget* GetFirstMenuButtonInPanel(UUserWidget* Menu, FName PanelName = "ButtonsBox") |
No description. |
| Get Menu Entries | Callable | UXenoCoreMenuStatics |
TArray<FXenoCoreMenuEntry> GetMenuEntries(APlayerController* Player) |
The menu entries a player should see now: every configured entry and entry set merged by Id, hidden and failed-condition entries dropped, sorted by Sort Order. For building a custom menu. |
XenoCore › Party¶
| Node | Kind | Library | Signature | Description |
|---|---|---|---|---|
| Equip Or Confirm Take | Callable | UXenoCorePartyUIStatics |
bool EquipOrConfirmTake(UXenoCoreEquipmentComponent* Equipment, EXenoCoreEquipSlot Slot, ULyraInventoryItemInstance* Item, UCommonActivatableWidget* ListToClose) |
Equip it, or ask first if it means stripping another character. |
| Get Adjacent Active Member | Pure | UXenoCorePartyUIStatics |
UXenoCorePartyMemberDefinition* GetAdjacentActiveMember(UXenoCorePartyMemberDefinition* Current, int32 Delta) |
The next active character along from Current, wrapping at both ends. |
| Get Item Holder Portrait | Pure | UXenoCorePartyUIStatics |
UTexture2D* GetItemHolderPortrait(const ULyraInventoryItemInstance* Item) |
The portrait of whoever is wearing this item, loaded, or null if nobody is. |
| Get Leader Member | Pure | UXenoCorePartyUIStatics |
UXenoCorePartyMemberDefinition* GetLeaderMember() |
The character the player is driving - what a character-scoped screen opens on. |
| Get Member Equipment | Pure | UXenoCorePartyUIStatics |
UXenoCoreEquipmentComponent* GetMemberEquipment(UXenoCorePartyMemberDefinition* Member) |
A character's equipment component, or null when they have no body. |
| Get Member In Slot | Pure | UXenoCorePartyUIStatics |
UXenoCorePartyMemberDefinition* GetMemberInSlot(int32 ActiveSlot) |
The character in an active slot, or null if the slot is empty or out of range. |
| Get Member Portrait Texture | Pure | UXenoCorePartyUIStatics |
UTexture2D* GetMemberPortraitTexture(UXenoCorePartyMemberDefinition* Member) |
This character's portrait, loaded, or null. |
| Get Party Name With Level | Pure | UXenoCorePartyUIStatics |
FText GetPartyNameWithLevel(UXenoCorePartyMemberDefinition* Member) |
"Shulk Lv 24" - the name with the level beside it, for a stat block header. |
| Get Party Row Info | Pure | UXenoCorePartyUIStatics |
FXenoCorePartyRowInfo GetPartyRowInfo(UXenoCorePartyMemberDefinition* Member) |
Everything a row draws for one character. |
| Get Party Stat Lines | Pure | UXenoCorePartyUIStatics |
TArray<FXenoCoreStatLine> GetPartyStatLines(UXenoCorePartyMemberDefinition* Member) |
This character's statline as rows the equipment screen's stat block already knows how to draw. |
| Get Reserve Members | Pure | UXenoCorePartyUIStatics |
TArray<UXenoCorePartyMemberDefinition*> GetReserveMembers() |
Everyone recruited but not deployed - the right-hand pool the player chooses from. |
| Get Role Label | Pure | UXenoCorePartyUIStatics |
FText GetRoleLabel(EXenoCoreRole Role) |
The display name for a role. Empty for None, so an unset member draws nothing at all. |
| Get Screen Equipment | Pure | UXenoCorePartyUIStatics |
UXenoCoreEquipmentComponent* GetScreenEquipment(UXenoCorePartyMemberDefinition* Member) |
The loadout a character screen should edit. |
| Get Screen Pawn | Pure | UXenoCorePartyUIStatics |
APawn* GetScreenPawn(UXenoCorePartyMemberDefinition* Member) |
The pawn a character screen should read - the selected member's body, or the player's own when no member is selected. |
| Get Take Item Prompt | Pure | UXenoCorePartyUIStatics |
FText GetTakeItemPrompt(const ULyraInventoryItemInstance* Item) |
"Unequip Red Sword from Quinn?" - the whole prompt, built here. |
XenoCore › Quest¶
| Node | Kind | Library | Signature | Description |
|---|---|---|---|---|
| Get Next Quest Sort | Pure | UXenoCoreQuestUIStatics |
EXenoCoreQuestSort GetNextQuestSort(EXenoCoreQuestSort Sort) |
The next mode in the cycle, wrapping. |
| Get Quest Kind Label | Pure | UXenoCoreQuestUIStatics |
FText GetQuestKindLabel(EXenoCoreQuestKind Kind) |
"Collection", "Monster", ... for a kind. |
| Get Quest Log Rows | Pure | UXenoCoreQuestUIStatics |
TArray<FXenoCoreQuestRowInfo> GetQuestLogRows(EXenoCoreQuestSort Sort = EXenoCoreQuestSort::Status) |
Every accepted or completed quest, in the order the player met them. |
| Get Quest Requester Name | Pure | UXenoCoreQuestUIStatics |
FText GetQuestRequesterName(const UXenoCoreQuestDefinition* Quest, AActor* Giver) |
Who to name as the requester of this quest. |
| Get Quest Row Info | Pure | UXenoCoreQuestUIStatics |
FXenoCoreQuestRowInfo GetQuestRowInfo(UXenoCoreQuestDefinition* Quest) |
One row, for a screen that already knows which quest it wants. |
| Get Quest Sort Label | Pure | UXenoCoreQuestUIStatics |
FText GetQuestSortLabel(EXenoCoreQuestSort Sort) |
"Status", "Name", "Area", "Type" - what the log prints beside the Y prompt. |
| Open Quest Log | Callable | UXenoCoreQuestUIStatics |
void OpenQuestLog() |
Push the Quest Log onto the menu layer, and focus it. |
XenoCore › Save¶
| Node | Kind | Library | Signature | Description |
|---|---|---|---|---|
| Can Save To Slot | Pure | UXenoCoreSaveUIStatics |
bool CanSaveToSlot(int32 SlotIndex) |
Whether this row can be written to. |
| Get Delete Confirm Text | Pure | UXenoCoreSaveUIStatics |
FText GetDeleteConfirmText(const FXenoCoreSaveRowInfo& Row) |
The delete prompt's question, naming the file: "Delete Slot 2 (Lv 12 Shulk)?" or "Delete the Auto-save (Lv 12 Shulk)?". |
| Get Destructive Warning Text | Pure | UXenoCoreSaveUIStatics |
FText GetDestructiveWarningText(bool bDelete) |
The line under a destructive confirm, drawn in the warning colour. "This cannot be undone." for a delete, "The existing save data will be lost." for an overwrite. |
| Get Save Confirm Text | Pure | UXenoCoreSaveUIStatics |
FText GetSaveConfirmText(bool bSlotOccupied) |
The confirm line: "Overwrite save data?" or "Create new save data?". |
| Get Save Row | Callable | UXenoCoreSaveUIStatics |
FXenoCoreSaveRowInfo GetSaveRow(int32 SlotIndex, bool bSaveMode) |
One row. |
| Get Save Rows | Callable | UXenoCoreSaveUIStatics |
TArray<FXenoCoreSaveRowInfo> GetSaveRows(bool bSaveMode) |
Every row the screen draws, in the order XC1 lists them: the autosave first, then the manual slots. |
| Open Save Menu | Callable | UXenoCoreSaveUIStatics |
void OpenSaveMenu(bool bSaveMode) |
Push the slot list onto the menu layer, in Save or Load mode. |
| Quit Game | Callable | UXenoCoreSaveUIStatics |
void QuitGame() |
Quit to desktop - asking first only if there is unsaved progress. |
| Return To Title | Callable | UXenoCoreSaveUIStatics |
void ReturnToTitle() |
Ask, then leave the game for the title screen. |
XenoCore › Shop¶
| Node | Kind | Library | Signature | Description |
|---|---|---|---|---|
| Buy Items | Callable | UXenoCoreShopStatics |
int32 BuyItems(TSubclassOf<ULyraInventoryItemDefinition> ItemDef, int32 Count, int32 UnitPrice) |
Buy Count at UnitPrice. Returns how many actually arrived. |
| Can Buy Def | Pure | UXenoCoreShopStatics |
bool CanBuyDef(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
May a shop stock this? False for Materials and Key items, and for anything unpriced. |
| Can Sell Def | Pure | UXenoCoreShopStatics |
bool CanSellDef(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
May the player sell this at all? False for Key items and anything with no category. |
| Get Buy Price For Def | Pure | UXenoCoreShopStatics |
int32 GetBuyPriceForDef(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
SellValue x 10. Zero for null or for an item with no category fragment. |
| Get Max Buyable | Pure | UXenoCoreShopStatics |
int32 GetMaxBuyable(TSubclassOf<ULyraInventoryItemDefinition> ItemDef, int32 UnitPrice) |
The most the stepper may reach when buying: what the purse covers, the room left under the item's MaxCarried, and MaxPerTransaction - whichever is smallest. |
| Get Sell Price For Def | Pure | UXenoCoreShopStatics |
int32 GetSellPriceForDef(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
What a shop pays for one, skills included. |
| Get Sell Price Multiplier | Pure | UXenoCoreShopStatics |
float GetSellPriceMultiplier() |
How much the party's skills raise what a shop pays. 1.0 means no bonus. |
| Get Sellable Count | Pure | UXenoCoreShopStatics |
int32 GetSellableCount(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
How many of ItemDef the player could sell right now - the copies nobody is wearing. |
| Sell Items | Callable | UXenoCoreShopStatics |
int32 SellItems(TSubclassOf<ULyraInventoryItemDefinition> ItemDef, int32 Count) |
Sell up to Count of ItemDef. Returns how many actually went; gold is paid for exactly those. |
XenoCore › Skills¶
| Node | Kind | Library | Signature | Description |
|---|---|---|---|---|
| Format Skill Value | Pure | UXenoCoreSkillsUIStatics |
FText FormatSkillValue(FGameplayTag Stat, EXenoCoreSkillOperation Operation, float Value) |
"15", "10 %" - a rate or a Scale value carries a percent sign. |
| Get Branch Reward Text | Pure | UXenoCoreSkillsUIStatics |
FText GetBranchRewardText(const FXenoCoreSkillBranchUnlock& Unlock) |
"Skill Branch: Reyn - Camaraderie" - a quest reward line, for the offer screen and the turn-in banner alike. |
| Get Skill Branch Views | Callable | UXenoCoreSkillsUIStatics |
TArray<FXenoCoreSkillBranchView> GetSkillBranchViews(UXenoCorePartyMemberDefinition* Member) |
The character's unlocked branches, in table row order, each with its five skills. |
| Get Stat Label | Pure | UXenoCoreSkillsUIStatics |
FText GetStatLabel(FGameplayTag Stat, float Value) |
"Agility Up", "Weight Down" - a stat tag and the sign of its value, as XC1 labels them. |
| Open Skills Screen | Callable | UXenoCoreSkillsUIStatics |
void OpenSkillsScreen() |
Push the Skills screen onto the menu layer. The menu shell's Skills button calls this. |
XenoCore › Stats¶
| Node | Kind | Library | Signature | Description |
|---|---|---|---|---|
| Find Stat Definition | Pure | UXenoCoreInventoryStatics |
bool FindStatDefinition(FGameplayTag StatTag, FXenoCoreStatDefinition& OutDefinition) |
One stat by tag. False when the tag names nothing in the vocabulary. |
| Get Stat Definitions | Pure | UXenoCoreInventoryStatics |
const TArray<FXenoCoreStatDefinition>& GetStatDefinitions() |
Every stat XC1 knows about, in display order. The single definition. |
XenoCore › Targeting¶
| Node | Kind | Library | Signature | Description |
|---|---|---|---|---|
| Find Best Target | Callable | UXenoCoreTargetingStatics |
AActor* FindBestTarget(AActor* Seeker, float MaxRange, bool bRequireLineOfSight, bool bRequireOnScreen = true) |
The candidate nearest the centre of the screen, which is what "the one I am looking at" means to a player. Falls back to nearest-by-distance when the seeker has no player controller - i.e. for an AI, though note enemies do not use this system. |
| Gather Candidates | Callable | UXenoCoreTargetingStatics |
void GatherCandidates(AActor* Seeker, float MaxRange, bool bRequireLineOfSight, bool bRequireOnScreen, TArray<AActor*>& OutCandidates) |
Every actor Seeker could legally lock onto: within MaxRange, on an opposing team, alive, and - if bRequireLineOfSight - visible. |
| Get Current Ally | Pure | UXenoCoreTargetingStatics |
AActor* GetCurrentAlly() |
The party member an ally-targeted art is currently aimed at, or null when not choosing one. |
| Get Current Target | Pure | UXenoCoreTargetingStatics |
AActor* GetCurrentTarget(const AActor* Seeker) |
No description. |
| Get Party Members | Pure | UXenoCoreTargetingStatics |
TArray<AActor*> GetPartyMembers() |
Everyone an ally-targeted art may be aimed at, in selector order. |
| Get Target Mode Ability | Pure | UXenoCoreTargetingStatics |
UXenoCoreGameplayAbility_TargetMode* GetTargetModeAbility(const AActor* Seeker) |
The live target-mode ability on Seeker, or null when the mode is not running. |
| Is On Screen | Pure | UXenoCoreTargetingStatics |
bool IsOnScreen(const AActor* Seeker, const AActor* Candidate) |
Is Candidate currently within the viewport? |
| Is Target Still Valid | Pure | UXenoCoreTargetingStatics |
bool IsTargetStillValid(const AActor* Seeker, const AActor* Candidate, float MaxRange, bool bRequireLineOfSight) |
Is Candidate still a legal lock: alive, within MaxRange, and optionally still visible. |
| Sort For Cycling | Callable | UXenoCoreTargetingStatics |
TArray<AActor*> SortForCycling(AActor* Seeker, const TArray<AActor*>& Candidates) |
Candidates ordered left-to-right as they appear on screen, so that "next" means "the one to the right" rather than an arbitrary overlap-query order. |
| Step Target | Pure | UXenoCoreTargetingStatics |
AActor* StepTarget(const TArray<AActor*>& SortedCandidates, AActor* Current, bool bForward) |
The next or previous entry after Current, wrapping at both ends. |
| Step Target From | Callable | UXenoCoreTargetingStatics |
AActor* StepTargetFrom(AActor* Seeker, AActor* Current, bool bForward, float MaxRange, bool bRequireLineOfSight, bool bRequireOnScreen = true) |
No description. |
XenoCore › Trade¶
| Node | Kind | Library | Signature | Description |
|---|---|---|---|---|
| Can Offer Def | Pure | UXenoCoreTradeStatics |
bool CanOfferDef(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
Definition-side twin of CanOfferItem, for pricing a row before anything is picked. |
| Can Offer Item | Pure | UXenoCoreTradeStatics |
bool CanOfferItem(ULyraInventoryItemInstance* Item) |
May the player put this on the table? |
| Get Category For Def | Pure | UXenoCoreTradeStatics |
EXenoCoreItemCategory GetCategoryForDef(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
Which tab an item belongs under. |
| Get Effective Offer Value | Pure | UXenoCoreTradeStatics |
int32 GetEffectiveOfferValue(ULyraInventoryItemInstance* Item) |
What the NPC reckons the offered item is worth, skills included. This is the number that gets compared against a price. |
| Get Offer Value Multiplier | Pure | UXenoCoreTradeStatics |
float GetOfferValueMultiplier() |
How much the party's skills inflate what they hand over. 1.0 means no bonus. |
| Get Trade Value | Pure | UXenoCoreTradeStatics |
int32 GetTradeValue(ULyraInventoryItemInstance* Item) |
The same number for something actually in the bag. |
| Get Trade Value For Def | Pure | UXenoCoreTradeStatics |
int32 GetTradeValueForDef(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
What one of these is worth on the trade table. |
XenoCore › UI¶
| Node | Kind | Library | Signature | Description |
|---|---|---|---|---|
| Play UI Effect | Callable | UXenoCoreUIEffectStatics |
UWidget* PlayUIEffect(UPanelWidget* Host, UNiagaraSystem* System, FVector2D Size, float Scale = 1.0f) |
Start System centred in Host and return the widget drawing it, or null (logged) when it cannot. |
| Wrap List View | Callable | UXenoCoreMenuStatics |
void WrapListView(UListView* List) |
Make a list view wrap: Down past the last item lands on the first, Up past the first on the last. Call once, from the screen's Construct. |