C++ classes¶
Programmer · reference · C++
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.
Every reflected class, struct and enum in the plugin's public headers, grouped by module and folder. Property labels are Unreal's automatic split of the C++ name unless the source sets a display name, so they match the Details panel. Defaults are the C++ initialisers; a constructor or a Blueprint child can change them, so check the asset for the live value.
For the designer-facing data assets in full, see Data assets. For latent nodes and function libraries, see Blueprint nodes.
Contents¶
- XenoCoreRuntime / (root) — UXenoCoreAlwaysCookList, UXenoCoreContentSettings
- XenoCoreRuntime / AI — FXenoCoreAbilityReadyCondition, FXenoCoreAbilityReadyConditionInstanceData, FXenoCoreActivateAbilityTask, FXenoCoreActivateAbilityTaskInstanceData, FXenoCoreChaseTargetTask, FXenoCoreChaseTargetTaskInstanceData, FXenoCoreCombatAIProfile, FXenoCoreCompanionArtsTask, FXenoCoreCompanionArtsTaskInstanceData, FXenoCoreCompanionFightTask, FXenoCoreCompanionFightTaskInstanceData, FXenoCoreEnemyPatrolTask, FXenoCoreEnemyPatrolTaskInstanceData, FXenoCoreHasAggroTargetCondition, FXenoCoreHasAggroTargetConditionInstanceData, FXenoCoreInAttackRangeCondition, FXenoCoreInAttackRangeConditionInstanceData, FXenoCorePartyFollowLeaderTask, FXenoCorePartyFollowLeaderTaskInstanceData, FXenoCorePartyFollowTask, FXenoCorePartyFollowTaskInstanceData, FXenoCorePartyGazeTask, FXenoCorePartyGazeTaskInstanceData, FXenoCorePartyHoldTask, FXenoCorePartyHoldTaskInstanceData, FXenoCorePartyInBattleCondition, FXenoCorePartyInBattleConditionInstanceData, FXenoCorePartyRecalculatePositionTask, FXenoCorePartyRecalculatePositionTaskInstanceData, FXenoCoreTargetHasTagCondition, FXenoCoreTargetHasTagConditionInstanceData, UEnvQueryContext_XenoCoreCombatTarget, UEnvQueryContext_XenoCorePartySpacing
- XenoCoreRuntime / AbilitySystem/Attributes — UXenoCoreStatSet
- XenoCoreRuntime / AbilitySystem/Calculations — UXenoCoreMMC_EffectLevel
- XenoCoreRuntime / AbilitySystem/Executions — UXenoCoreDamageExecution
- XenoCoreRuntime / Animation — FXenoCoreFaceExpressionRow, FXenoCoreFaceExpressionRule, FXenoCoreReactionMontages, FXenoCoreWeightedExpression, UXenoCoreAnimInstance, UXenoCoreAnimNotify_GameplayEvent, UXenoCoreAnimProfileStatics, UXenoCoreCharacterAnimProfile, UXenoCoreFaceAnimInstance
- XenoCoreRuntime / Arts — EXenoCoreArtAICheck, EXenoCoreArtArea, EXenoCoreArtAttribute, EXenoCoreArtCategory, EXenoCoreArtEffect, EXenoCoreArtEffectCondition, EXenoCoreArtEffectRecipient, EXenoCoreArtPositional, EXenoCoreArtTargetType, FXenoCoreArtAICondition, FXenoCoreArtEffectEntry, FXenoCoreArtPositionalBonus, FXenoCoreArtUnlock, UXenoCoreArtDefinition, UXenoCoreGameplayAbility_Art, UXenoCoreGameplayAbility_TalentArt, UXenoCoreTalentArtDefinition
- XenoCoreRuntime / Audio — AXenoCoreAreaMusic
- XenoCoreRuntime / Battle — EXenoCoreAttackTargetSource, FXenoCoreBattleWonMessage, FXenoCoreHitLunge, FXenoCoreThreatEntry, UXenoCoreAggroIndicatorComponent, UXenoCoreBattleVictorySubsystem, UXenoCoreGameplayAbility_AutoAttack, UXenoCoreGameplayAbility_DazeReact, UXenoCoreGameplayAbility_DefenceReact, UXenoCoreGameplayAbility_Downed, UXenoCoreGameplayAbility_EvadeReact, UXenoCoreGameplayAbility_GuardReact, UXenoCoreGameplayAbility_HitReact, UXenoCoreGameplayAbility_KnockdownReact, UXenoCoreGameplayAbility_Reaction, UXenoCoreGameplayAbility_RecoilReact, UXenoCoreGameplayAbility_ToppleReact, UXenoCoreStatusEffect, UXenoCoreStatusPercentCalc, UXenoCoreThreatComponent
- XenoCoreRuntime / Camera — UXenoCoreGameplayAbility_CameraRecentre
- XenoCoreRuntime / Characters — AXenoCoreCombatantCharacter, FXenoCoreAISteering, UXenoCoreCosmeticStatics, UXenoCoreHealthComponent, UXenoCoreHeroComponent
- XenoCoreRuntime / Debug — AXenoCoreTestInteractable, UXenoCoreSystemCheats, UXenoCoreTestRunner, UXenoCoreTestSaveProbe
- XenoCoreRuntime / Dialogue — AXenoCoreDialogueAnchor, EXenoCoreDialogueSpeaker, FXenoCoreDialogueLine, UXenoCoreDialogueFramingCameraNode, UXenoCoreDialogueSubsystem, UXenoCorePlayDialogue, UXenoCoreShowDialogue
- XenoCoreRuntime / Enemies — AXenoCoreEnemyCharacter, AXenoCoreEnemyController, AXenoCoreEnemySpawner, EXenoCoreEnemyDetection, FXenoCoreEnemyDefeatedMessage, FXenoCoreLevelColourBand, FXenoCoreSpawnerEntry, UXenoCoreEnemySettings, UXenoCoreEnemyStatics
- XenoCoreRuntime / Equipment — EXenoCoreEquipBlocker, EXenoCoreEquipSlot, FXenoCoreEquipmentSlotChangedMessage, FXenoCoreEquippedSlot, FXenoCoreMemberLoadout, FXenoCoreStartingEquipment, FXenoCoreStartingItem, FXenoCoreWeaponAnimLayerRule, FXenoCoreWeaponAnimLayers, UXenoCoreEquipmentComponent, UXenoCoreGameplayAbility_EquipmentStats, UXenoCoreWeaponTypeDefinition
- XenoCoreRuntime / Feedback — AXenoCoreBeamFX
- XenoCoreRuntime / Interaction — AXenoCoreInteractableActor, UXenoCoreInteractionSubsystem
- XenoCoreRuntime / Inventory — EXenoCoreEquipType, EXenoCoreItemCategory, FXenoCoreFixedGem, FXenoCoreInventoryChangedMessage, FXenoCoreItemRarityRow, FXenoCoreItemView, FXenoCoreSocketedGem, FXenoCoreStatDefinition, FXenoCoreStatLine, UXenoCoreAbilityCost_PartyItem, UXenoCoreFragment_EquipSlots, UXenoCoreFragment_Gem, UXenoCoreFragment_ItemCategory, UXenoCoreFragment_ItemDisplay, UXenoCoreGemRegistry, UXenoCoreGemStatics, UXenoCoreInventoryStatics, UXenoCoreInventoryWatchSubsystem, UXenoCoreItemIconSet, UXenoCoreItemRarityStatics, UXenoCoreStatRowBase
- XenoCoreRuntime / Locomotion — UXenoCoreLocomotionStatics
- XenoCoreRuntime / Loot — AXenoCoreCollectableOrb, AXenoCoreTreasureChest, EXenoCoreChestTier, FXenoCoreChestOpenedMessage, FXenoCoreCollectableCollectedMessage, FXenoCoreDropEntry, FXenoCoreDropPool, UXenoCoreDropTable, UXenoCoreLootPopupBase, UXenoCoreLootPopupSubsystem, UXenoCoreLootStatics
- XenoCoreRuntime / Lyra — FXenoCoreGrantedHandles
- XenoCoreRuntime / Map — AXenoCoreMapArea, FXenoCoreMapMarkerStyle, UXenoCoreAreaDefinition, UXenoCoreGameplayAbility_MinimapOverlay, UXenoCoreMapMarkerSubsystem, UXenoCoreMinimap
- XenoCoreRuntime / Merchant — EXenoCoreMerchantSort, UXenoCoreMerchantScreenBase
- XenoCoreRuntime / Npc — AXenoCoreNpcCharacter, EXenoCoreNpcLine, EXenoCoreRecruitGate
- XenoCoreRuntime / Party — AXenoCorePartyCharacter, AXenoCorePartyMemberController, AXenoCorePartyRecruitTrigger, EXenoCoreArtsOrder, EXenoCoreAttackOrder, EXenoCoreCrowdQuality, EXenoCorePartyCommandInput, EXenoCorePartyCursorPurpose, EXenoCorePartyNoticeType, EXenoCorePartySwitchMode, EXenoCorePartyWipePhase, EXenoCoreRole, EXenoCoreTactic, EXenoCoreTacticsDirection, FXenoCoreMemberOrders, FXenoCorePartyChangedMessage, FXenoCorePartyGaugeChangedMessage, FXenoCorePartyNotice, FXenoCorePartyOrders, FXenoCorePartyWipedMessage, FXenoCoreTacticChangedMessage, FXenoCoreTacticInfo, FXenoCoreTacticValue, UXenoCoreGameplayAbility_PartyCommand, UXenoCoreGameplayAbility_PartySwitch, UXenoCorePartyComponent, UXenoCorePartyGaugeComponent, UXenoCorePartyMemberDefinition, UXenoCorePartyNoticeSubsystem
- XenoCoreRuntime / Player — AXenoCorePlayerController
- XenoCoreRuntime / Progression — EXenoCoreArtSource, FXenoCoreArtSlot, FXenoCoreExperienceCurveRow, FXenoCoreLevelUpEntry, FXenoCoreLevelUpMessage, FXenoCoreMemberGain, FXenoCoreMemberProgress, FXenoCoreProgressionChangedMessage, FXenoCoreSkillLearntMessage, UXenoCoreLevelUpBannerBase, UXenoCoreProgressionCheats, UXenoCoreProgressionComponent
- XenoCoreRuntime / Quest — AXenoCoreQuestLocation, EXenoCoreObjectiveIcon, EXenoCoreObjectiveKind, EXenoCoreQuestGateKind, EXenoCoreQuestKind, EXenoCoreQuestSort, EXenoCoreQuestStatus, FXenoCoreQuestChangedMessage, FXenoCoreQuestGate, FXenoCoreQuestObjective, FXenoCoreQuestRecord, FXenoCoreQuestReward, FXenoCoreQuestRowInfo, FXenoCoreQuestTurnedInMessage, UXenoCoreOfferQuest, UXenoCoreQuestComponent, UXenoCoreQuestDefinition, UXenoCoreQuestLogBase, UXenoCoreQuestLogRowBase, UXenoCoreQuestOfferBase, UXenoCoreQuestRewardBase, UXenoCoreQuestTrackerBase, UXenoCoreQuestUIStatics
- XenoCoreRuntime / Save — AXenoCoreSavePoint, EXenoCoreSaveScreenMode, FXenoCoreSaveBody, FXenoCoreSaveHeader, FXenoCoreSaveRecord, FXenoCoreSavedArt, FXenoCoreSavedChest, FXenoCoreSavedEquip, FXenoCoreSavedGem, FXenoCoreSavedItem, FXenoCoreSavedMapChests, FXenoCoreSavedMember, FXenoCoreSavedQuest, FXenoCoreSavedSkillBranch, UXenoCoreAutosaveBadgeBase, UXenoCoreSaveGame, UXenoCoreSaveParticipantComponent, UXenoCoreSaveRowBase, UXenoCoreSaveScreenBase, UXenoCoreSaveSettings, UXenoCoreSaveSubsystem, UXenoCoreTitleScreenBase, UXenoCoreTitleStateComponent
- XenoCoreRuntime / Shop — EXenoCoreShopMode, EXenoCoreShopStage, FXenoCoreShopBagEntry, FXenoCoreShopOffer, UXenoCoreOpenShop, UXenoCoreShopScreenBase, UXenoCoreShopStatics, UXenoCoreShopTable
- XenoCoreRuntime / Skills — EXenoCoreSkillCondition, EXenoCoreSkillOperation, EXenoCoreSkillPointLevelBasis, EXenoCoreSkillScope, EXenoCoreSkillShape, EXenoCoreSkillTiming, EXenoCoreSkillTrigger, FXenoCoreBranchProgress, FXenoCoreSkillBranchRow, FXenoCoreSkillBranchUnlock, FXenoCoreSkillBranchView, FXenoCoreSkillCostCurveRow, FXenoCoreSkillEntry, FXenoCoreSkillPointRewardRow, FXenoCoreSkillStatMod, FXenoCoreSkillTraitLadderRow, FXenoCoreSkillView, FXenoCoreSkillsProgress, UXenoCoreGameplayAbility_Skill, UXenoCoreInvisibleButtonStyle, UXenoCoreSkillAbility_TimedBuff, UXenoCoreSkillBranchHeaderBase, UXenoCoreSkillCellBase, UXenoCoreSkillGrant, UXenoCoreSkillIconBase, UXenoCoreSkillIconSet, UXenoCoreSkillsUIStatics
- XenoCoreRuntime / Targeting — FXenoCoreTargetChangedMessage, UXenoCoreGameplayAbility_TargetMode, UXenoCoreOffscreenArrowComponent, UXenoCoreTargetingStatics
- XenoCoreRuntime / Trade — EXenoCoreTradeStage, FXenoCoreOvertradeBonus, FXenoCoreTradeBagEntry, FXenoCoreTradeOffer, FXenoCoreTradeRowInfo, UXenoCoreOpenTrade, UXenoCoreTradeRowBase, UXenoCoreTradeScreenBase, UXenoCoreTradeStatics, UXenoCoreTradeTable
- XenoCoreRuntime / Tutorial — FXenoCoreTutorialCardStyle, FXenoCoreTutorialPrompt, FXenoCoreTutorialRow, UXenoCoreTutorialCardBase, UXenoCoreTutorialLogBase, UXenoCoreTutorialSubsystem
- XenoCoreRuntime / UI — AXenoCorePreviewStage, EXenoCoreArtsScreenMode, EXenoCoreItemSort, EXenoCorePaletteState, EXenoCoreStatBlockMode, FXenoCoreArtDetailLine, FXenoCoreArtView, FXenoCoreBattleNotification, FXenoCoreMenuEntry, FXenoCorePaletteEntry, FXenoCorePaletteSideSlot, FXenoCorePartyRowInfo, FXenoCoreSaveRowInfo, FXenoCoreUIEffect, FXenoCoreUIEffectPlayback, UXenoCoreArtRowBase, UXenoCoreArtsPaletteBase, UXenoCoreArtsScreenBase, UXenoCoreArtsUIStatics, UXenoCoreAskConfirmAsync, UXenoCoreBattleNotifyBase, UXenoCoreBattleNotifySubsystem, UXenoCoreBootScreenBase, UXenoCoreBuildStampSubsystem, UXenoCoreCharacterMenuScreenBase, UXenoCoreConfirmPopupBase, UXenoCoreDamageNumberSubsystem, UXenoCoreDefeatBannerBase, UXenoCoreDialogueBoxBase, UXenoCoreEnemyLabelBase, UXenoCoreGameplayAbility_PaletteCycle, UXenoCoreGemPopupBase, UXenoCoreGemRowButton, UXenoCoreHudPlateBase, UXenoCoreInteractPromptBase, UXenoCoreItemBadgeBase, UXenoCoreItemBadgeStackBase, UXenoCoreItemSortControl, UXenoCoreListWrap, UXenoCoreListWrapSubsystem, UXenoCoreLoadingScreenBase, UXenoCoreLogoBootScreenBase, UXenoCoreMainMenuBase, UXenoCoreMenuAction, UXenoCoreMenuAction_OpenArts, UXenoCoreMenuAction_OpenLoadScreen, UXenoCoreMenuAction_OpenQuestLog, UXenoCoreMenuAction_OpenSaveScreen, UXenoCoreMenuAction_OpenSkills, UXenoCoreMenuAction_QuitGame, UXenoCoreMenuAction_ReturnToTitle, UXenoCoreMenuCondition, UXenoCoreMenuEntryButton, UXenoCoreMenuEntrySet, UXenoCoreMenuStatics, UXenoCoreMovieBootScreenBase, UXenoCorePartyCardBase, UXenoCorePartyGaugeWidget, UXenoCorePartyJoinBannerBase, UXenoCorePartyMemberPlateBase, UXenoCorePartyUIStatics, UXenoCorePlayerPlateBase, UXenoCorePreviewControls, UXenoCoreSaveUIStatics, UXenoCoreShaderBootScreenBase, UXenoCoreSkillsScreenBase, UXenoCoreStatBlockBase, UXenoCoreTacticsPanelBase, UXenoCoreTargetPlateBase, UXenoCoreUIEffectStatics, UXenoCoreUISettings, UXenoCoreWorldLabelBase, UXenoCoreWorldReadySubsystem
- XenoCoreRuntime / Voice — FXenoCoreVisemeKey, FXenoCoreVoiceLineRow, FXenoCoreVoiceRuleRow, FXenoCoreVoiceSpokeMessage, FXenoCoreVoiceTake, UXenoCoreBattleVoiceConfig, UXenoCoreBattleVoiceSubsystem
- XenoCoreRuntime / World — AXenoCoreEnvironmentDirector, EXenoCorePhaseMask, EXenoCoreTimePhase, FXenoCoreTimeChangedMessage, FXenoCoreWeatherChanceRow, FXenoCoreWeatherChangedMessage, FXenoCoreWeatherTypeRow, UXenoCoreChangeTimeScreen, UXenoCoreClockDial, UXenoCoreEnvironmentSettings, UXenoCoreSkyProfile, UXenoCoreTimeOfDaySubsystem, UXenoCoreWeatherSubsystem
- XenoCoreEditor / (root) — FXenoCoreRandomPlayerEntry, UXenoCoreAITools, UXenoCoreAnimLayerTools, UXenoCoreCameraTools, UXenoCoreCosmeticTools, UXenoCoreEnvironmentTools, UXenoCoreGameplayEffectTools, UXenoCoreGraphTools, UXenoCoreMapTools, UXenoCoreMaterialTools, UXenoCoreMinimapTools, UXenoCoreNiagaraTools, UXenoCoreProjectSetup, UXenoCoreReleaseTools, UXenoCoreSkyTools, UXenoCoreStateTreeTools
XenoCoreRuntime / (root)¶
UXenoCoreAlwaysCookList¶
Class · derives from UPrimaryDataAsset · header XenoCoreRuntime/Public/XenoCoreAlwaysCookList.h · BlueprintType
No description.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Assets | Assets |
TArray<TSoftObjectPtr<UObject>> |
XenoCore › Packaging | EditAnywhere | Everything here is cooked into every build that includes XenoCore. Add an asset the moment code loads it by path. |
UXenoCoreContentSettings¶
Class · derives from UDeveloperSettings · header XenoCoreRuntime/Public/XenoCoreContentSettings.h
Assets XenoCore spawns or applies from code that are not UI. Project Settings > Game > XenoCore Content. Every entry defaults to the shipped asset.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Starting Roster Override | StartingRosterOverride |
TArray<TSoftObjectPtr<UXenoCorePartyMemberDefinition>> |
Startup | Config, EditAnywhere | Non-empty replaces the party component's authored StartingRoster for a New Game. A load restores from the save. | |
| New Game Map Override | NewGameMapOverride |
TSoftObjectPtr<UWorld> |
Startup | Config, EditAnywhere | Set = New Game opens this map instead of the title screen's authored NewGameMap. | |
| Title Music | TitleMusic |
TSoftObjectPtr<USoundBase> |
Startup | Config, EditAnywhere | Played 2D while the title screen is up. Cleared = a silent title. | |
| Title Music Volume | TitleMusicVolume |
float |
Startup | Config, EditAnywhere, ClampMin=0.0, ClampMax=2.0 | 1.0 |
Volume multiplier for the title music. |
| Fallback Field Music | FallbackFieldMusic |
TSoftObjectPtr<USoundBase> |
Startup | Config, EditAnywhere | Played by an Area Music actor whose own Field Music slot is empty. The map's own track always wins; cleared = that area is silent. | |
| Fallback Battle Music | FallbackBattleMusic |
TSoftObjectPtr<USoundBase> |
Startup | Config, EditAnywhere | As Fallback Field Music, for an Area Music actor whose Battle Music slot is empty. | |
| Dialogue Anchor | DialogueAnchor |
TSoftClassPtr<AXenoCoreDialogueAnchor> |
Dialogue | Config, EditAnywhere | The actor that carries the dialogue box over whoever is speaking. Must derive from XenoCoreDialogueAnchor. | |
| Dialogue Camera Rig | DialogueCameraRig |
TSoftObjectPtr<UCameraRigAsset> |
Dialogue | Config, EditAnywhere | The camera that frames a conversation: it blends in when an NPC starts talking and back out when the talk ends. Cleared = the camera stays where it was. | |
| Dialogue Turn Seconds | DialogueTurnSeconds |
float |
Dialogue | Config, EditAnywhere, ClampMin=0.0, ClampMax=2.0, Units=s | 0.3 |
How long the player and the NPC take to turn and face each other when a conversation opens (and the NPC to turn back after). 0 snaps. |
| Beam Material | BeamMaterial |
TSoftObjectPtr<UMaterialInterface> |
Feedback | Config, EditAnywhere | The material of the light shaft a heal or buff raises over its target. Drives Colour, Intensity and Opacity parameters. | |
| Victory Fanfare | VictoryFanfare |
TSoftObjectPtr<USoundBase> |
Battle | Config, EditAnywhere | Played once, 2D, the moment a battle is won. Cleared = no fanfare (the party still celebrates). | |
| Battle Voice Config | BattleVoiceConfig |
TSoftObjectPtr<UXenoCoreBattleVoiceConfig> |
Voice | Config, EditAnywhere | Pacing and playback for every party voice line. Cleared = the party is silent. | |
| Gem Registry | GemRegistry |
TSoftObjectPtr<UXenoCoreGemRegistry> |
Items | Config, EditAnywhere | Every gem, by id, and the effect gem stats are applied through. Cleared = the shipped registry. | |
| Ally Damage Taken Sound | AllyDamageTakenSound |
TSoftObjectPtr<USoundBase> |
Battle | Config, EditAnywhere | Played at a companion when it takes damage. Cleared = companions take hits silently. | |
| Ally Damage Taken Critical Sound | AllyDamageTakenCriticalSound |
TSoftObjectPtr<USoundBase> |
Battle | Config, EditAnywhere | As Ally Damage Taken Sound, on a critical hit. Cleared = the normal sound plays for crits too. | |
| Ally Damage Taken Volume | AllyDamageTakenVolume |
float |
Battle | Config, EditAnywhere, ClampMin=0.0, ClampMax=2.0 | 0.7 |
Volume of the companion hit sounds. Below 1 so the player's own hits stay the loudest. |
| Critical Hit Text | CriticalHitText |
FText |
Critical Hit | Config, EditAnywhere | The line raised over the target on a critical hit. Says hit, so it cannot be read as "critical health". | |
| Critical Hit Scale | CriticalHitScale |
float |
Critical Hit | Config, EditAnywhere, ClampMin=0.25, ClampMax=4.0 | 1.15 |
Resting size of the critical line. Break / topple / daze are 1. |
| Critical Hit Punch | CriticalHitPunch |
float |
Critical Hit | Config, EditAnywhere, ClampMin=1.0, ClampMax=4.0 | 1.7 |
The critical line starts this many times its resting size and snaps down to it. 1 = no punch. |
| Critical Hit Stop Seconds | CriticalHitStopSeconds |
float |
Critical Hit | Config, EditAnywhere, ClampMin=0.0, ClampMax=0.5, Units=s | 0.0 |
Hit-stop on a critical hit, in real seconds. 0 = off (XC1 has none). |
| Critical Hit Stop Dilation | CriticalHitStopDilation |
float |
Critical Hit | Config, EditAnywhere, ClampMin=0.01, ClampMax=1.0 | 0.05 |
World speed during the hit-stop. |
| Reaction Break Effect | ReactionBreakEffect |
TSoftClassPtr<UGameplayEffect> |
Debug | Config, EditAnywhere | The Break effect the XenoCore.Reaction debug command reads its duration from. |
|
| Reaction Topple Effect | ReactionToppleEffect |
TSoftClassPtr<UGameplayEffect> |
Debug | Config, EditAnywhere | The Topple effect the XenoCore.Reaction debug command reads its duration from. |
|
| Reaction Daze Effect | ReactionDazeEffect |
TSoftClassPtr<UGameplayEffect> |
Debug | Config, EditAnywhere | The Daze effect the XenoCore.Reaction debug command reads its duration from. |
XenoCoreRuntime / AI¶
FXenoCoreAbilityReadyCondition¶
Struct · derives from FStateTreeConditionCommonBase · header XenoCoreRuntime/Public/AI/XenoCoreCombatConditions.h
True when the pawn was granted an ability under this tag and it can activate right now.
FXenoCoreAbilityReadyConditionInstanceData¶
Struct · header XenoCoreRuntime/Public/AI/XenoCoreCombatConditions.h
No description.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Ability Tag | AbilityTag |
FGameplayTag |
Parameter | EditAnywhere | The art to test for, by tag - the same contract the activation task uses. |
FXenoCoreActivateAbilityTask¶
Struct · derives from FStateTreeTaskCommonBase · header XenoCoreRuntime/Public/AI/XenoCoreActivateAbilityTask.h
Activate one of the pawn's granted abilities, by tag.
FXenoCoreActivateAbilityTaskInstanceData¶
Struct · header XenoCoreRuntime/Public/AI/XenoCoreActivateAbilityTask.h
Tuning and running state for FXenoCoreActivateAbilityTask.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Ability Tag | AbilityTag |
FGameplayTag |
Parameter | EditAnywhere | Which ability to run, by tag rather than by class. | |
| Wait For End | bWaitForEnd |
bool |
Parameter | EditAnywhere | true |
Hold the state until the ability ends, rather than firing and moving on immediately. |
| Max Hold Time | MaxHoldTime |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 8.0 |
Safety net, in seconds. 0 disables it. |
FXenoCoreChaseTargetTask¶
Struct · derives from FStateTreeTaskCommonBase · header XenoCoreRuntime/Public/AI/XenoCoreChaseTargetTask.h
Chase the controller's aggro target, and walk home when the leash breaks.
FXenoCoreChaseTargetTaskInstanceData¶
Struct · header XenoCoreRuntime/Public/AI/XenoCoreChaseTargetTask.h
Tuning and running state for FXenoCoreChaseTargetTask.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Acceptable Radius | AcceptableRadius |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 140.0 |
How close the enemy tries to get. Should sit inside the attack ability's AttackRange. |
| Repath Interval | RepathInterval |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 0.25 |
Seconds between re-issuing MoveTo, so a moving target is tracked without per-tick path spam. |
| Chase Speed | ChaseSpeed |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 380.0 |
Chase move speed. Deliberately below the player's run speed: XC1 lets you outrun most things, which is what keeps its zones traversable. |
| Return Speed | ReturnSpeed |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 150.0 |
Walking home is slower than chasing - a giving-up enemy should read as disengaged. |
| Home Tolerance | HomeTolerance |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 120.0 |
How close to home counts as home. |
FXenoCoreCombatAIProfile¶
Struct · header XenoCoreRuntime/Public/AI/XenoCoreCombatAIProfile.h · BlueprintType
How one AI combatant - companion or enemy - behaves in a fight: decision pace, post-art cooldown, heal threshold, positioning.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Decision Interval | DecisionInterval |
float |
AI | EditAnywhere, BlueprintReadOnly, ClampMin=0.1, Units=Seconds | 1.5 |
Seconds between art decisions. The auto-attack keeps swinging in between. |
| Decision Jitter | DecisionJitter |
float |
AI | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, ClampMax=0.9 | 0.3 |
Random spread on each interval, as a fraction: 0.3 = 70-130 % (XC3's jitter). Stops companions acting in lockstep. |
| Post Art Cooldown | PostArtCooldown |
float |
AI | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=Seconds | 3.0 |
After using an art, choose no other for this long - on top of the art's own cooldown. (XC3's IntervalArts.) |
| Heal Threshold | HealThreshold |
float |
AI | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, ClampMax=100.0, Units=Percent | 30.0 |
An ally below this much health makes heal arts eligible. 30 is XC2's number; XC1's is unsourced. |
| Reliability | Reliability |
float |
AI | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, ClampMax=100.0, Units=Percent | 100.0 |
Chance to act at all on a decision, 0-100. Below 100 makes a character less dependable, as XC2 does on purpose. |
| Seek Positional Bonus | bSeekPositionalBonus |
bool |
AI | EditAnywhere, BlueprintReadOnly | true |
Move behind or beside the target for an art's positional bonus before using it (XC3). Off = fire from wherever it stands (XC1). |
| Positional Timeout | PositionalTimeout |
float |
AI | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, EditCondition=bSeekPositionalBonus, Units=Seconds | 2.0 |
Give up on reaching position after this long and use the art anyway. Never circles. |
| Attacking Me Weight | AttackingMeWeight |
float |
Target Choice | EditAnywhere, BlueprintReadOnly | 3.0 |
Engage at Will: score for an enemy that is attacking this character. |
| Attacking Ally Weight | AttackingAllyWeight |
float |
Target Choice | EditAnywhere, BlueprintReadOnly | 1.5 |
Engage at Will: score for an enemy that is attacking another party member. Raise it on a defender. |
| Leader Target Weight | LeaderTargetWeight |
float |
Target Choice | EditAnywhere, BlueprintReadOnly | 1.0 |
Raise it to stay with the player's fight. |
| Current Target Weight | CurrentTargetWeight |
float |
Target Choice | EditAnywhere, BlueprintReadOnly | 2.0 |
Engage at Will: score for the enemy this character is already fighting - stops it flip-flopping. |
| Per Ally On Target Weight | PerAllyOnTargetWeight |
float |
Target Choice | EditAnywhere, BlueprintReadOnly | -1.0 |
Engage at Will: added once per other companion already on an enemy. Negative spreads the party out. |
| Distance Penalty Per Metre | DistancePenaltyPerMetre |
float |
Target Choice | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 0.1 |
Engage at Will: subtracted per metre of distance, so the near enemy wins a tie. |
| Target Reconsider Interval | TargetReconsiderInterval |
float |
Target Choice | EditAnywhere, BlueprintReadOnly, ClampMin=0.1, Units=Seconds | 1.0 |
Engage at Will: how often the choice is reconsidered. A dead target is replaced at once regardless. |
FXenoCoreCompanionArtsTask¶
Struct · derives from FStateTreeTaskCommonBase · header XenoCoreRuntime/Public/AI/XenoCoreCompanionArtsTask.h
An AI body chooses and uses its arts - a companion its slotted arts, an enemy its Arts list - scored by each art's Companion AI section.
FXenoCoreCompanionArtsTaskInstanceData¶
Struct · header XenoCoreRuntime/Public/AI/XenoCoreCompanionArtsTask.h
Running state for FXenoCoreCompanionArtsTask. Nothing here is tuning - that is the member's AI profile.
FXenoCoreCompanionFightTask¶
Struct · derives from FStateTreeTaskCommonBase · header XenoCoreRuntime/Public/AI/XenoCoreCompanionFightTask.h
An AI body fights its target with its own auto-attack: a companion the party's target, an enemy its aggro target.
FXenoCoreCompanionFightTaskInstanceData¶
Struct · header XenoCoreRuntime/Public/AI/XenoCoreCompanionFightTask.h
Tuning and running state for FXenoCoreCompanionFightTask.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Retry Interval | RetryInterval |
float |
Parameter | EditAnywhere, ClampMin=0.05 | 0.5 |
How often a refused auto-attack is asked again, in seconds. |
| Draw Delay Min | DrawDelayMin |
float |
Parameter | EditAnywhere, ClampMin=0.0, Units=s | 0.15 |
A companion draws this long after the party enters battle - before it closes in, so it never walks up to an enemy unarmed. Rolled per member between Min and Max, so the party does not draw in unison. |
| Draw Delay Max | DrawDelayMax |
float |
Parameter | EditAnywhere, ClampMin=0.0, Units=s | 0.6 |
Upper bound of the per-member draw delay, in seconds. |
FXenoCoreEnemyPatrolTask¶
Struct · derives from FStateTreeTaskCommonBase · header XenoCoreRuntime/Public/AI/XenoCoreEnemyPatrolTask.h
An unprovoked enemy walks its patrol route back and forth. Succeeds the moment it is provoked.
FXenoCoreEnemyPatrolTaskInstanceData¶
Struct · header XenoCoreRuntime/Public/AI/XenoCoreEnemyPatrolTask.h
Running state for FXenoCoreEnemyPatrolTask. The route itself is per enemy, on the enemy.
FXenoCoreHasAggroTargetCondition¶
Struct · derives from FStateTreeConditionCommonBase · header XenoCoreRuntime/Public/AI/XenoCoreCombatConditions.h
True when the controller currently has an aggro target.
FXenoCoreHasAggroTargetConditionInstanceData¶
Struct · header XenoCoreRuntime/Public/AI/XenoCoreCombatConditions.h
No description.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Invert | bInvert |
bool |
Parameter | EditAnywhere | false |
Invert to branch the other way - "no target" is what freeroam selects on. |
FXenoCoreInAttackRangeCondition¶
Struct · derives from FStateTreeConditionCommonBase · header XenoCoreRuntime/Public/AI/XenoCoreCombatConditions.h
True when the controller has an aggro target and the pawn is within Range of it.
FXenoCoreInAttackRangeConditionInstanceData¶
Struct · header XenoCoreRuntime/Public/AI/XenoCoreCombatConditions.h
Tuning for FXenoCoreInAttackRangeCondition.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Range | Range |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 300.0 |
Should match the art's own AttackRange, or the state selects and the swing then whiffs. |
FXenoCorePartyFollowLeaderTask¶
Struct · derives from FStateTreeTaskCommonBase · header XenoCoreRuntime/Public/AI/XenoCorePartyTravelTasks.h
Trail the leader with one long-lived MoveToActor, speed-matched. Succeeds once the leader has stopped and the member has arrived; the transition then runs RecalculatePosition.
FXenoCorePartyFollowLeaderTaskInstanceData¶
Struct · header XenoCoreRuntime/Public/AI/XenoCorePartyTravelTasks.h
Tuning and running state for FXenoCorePartyFollowLeaderTask.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Trail Distance | TrailDistance |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 260.0 |
The distance a member settles at behind a moving leader. Roughly XC1's trailing distance. |
| Per Slot Spacing | PerSlotSpacing |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 90.0 |
Added per party slot, so members string out rather than converging on one distance. |
| Arrive Slack | ArriveSlack |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 60.0 |
Once the leader has stopped, arrive within TrailDistance + this and hand over to RecalculatePosition. |
| Leader Stopped Speed | LeaderStoppedSpeed |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 20.0 |
The leader counts as stopped below this ground speed. |
| Speed Gain | SpeedGain |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 1.2 |
Speed correction per unit of distance error: speed = leader speed + Gain x (distance - trail). |
| Catch Up Ratio | CatchUpRatio |
float |
Parameter › Pace | EditAnywhere, ClampMin=1 | 1.5 |
Catch-up never runs faster than leader speed x this, plus CatchUpMargin. |
| Catch Up Margin | CatchUpMargin |
float |
Parameter › Pace | EditAnywhere, ClampMin=0, Units=CentimetersPerSecond | 120.0 |
Flat speed added to the catch-up cap on top of leader speed x CatchUpRatio. |
| Arrive Speed | ArriveSpeed |
float |
Parameter › Pace | EditAnywhere, ClampMin=0, Units=CentimetersPerSecond | 380.0 |
The pace a member comes in at once the leader has stopped. |
| Pace Smoothing | PaceSmoothing |
float |
Parameter › Pace | EditAnywhere, ClampMin=0.1 | 3.0 |
How fast the chosen pace eases toward its target, per second. Lower is smoother and laggier. |
| Min Speed | MinSpeed |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 180.0 |
Never slower than this while following. |
| Max Speed | MaxSpeed |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 850.0 |
Never faster than this. Above the player's run, so a member that lost ground regains it. |
| Too Close Fraction | TooCloseFraction |
float |
Parameter | EditAnywhere, ClampMin=0.0, ClampMax=1.0, UIMin=0.0, UIMax=1.0 | 0.55 |
Closer than TrailDistance x this is too close - e.g. the leader walked back into the member. Hand over to RecalculatePosition rather than push through the leader's capsule. |
| Repath Interval | RepathInterval |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 0.5 |
After a failed or finished path, wait this long before asking the pathfinder again. |
FXenoCorePartyFollowTask¶
Struct · derives from FStateTreeTaskCommonBase · header XenoCoreRuntime/Public/AI/XenoCorePartyFollowTask.h
The party member's legs in battle, plus the left-behind teleport at all times.
FXenoCorePartyFollowTaskInstanceData¶
Struct · header XenoCoreRuntime/Public/AI/XenoCorePartyFollowTask.h
Tuning and running state for FXenoCorePartyFollowTask.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Trail Distance | TrailDistance |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 260.0 |
How close a member is content to get to the leader before it stops. |
| Per Slot Spacing | PerSlotSpacing |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 90.0 |
Extra spacing added per party slot, so two members do not aim for an identical stopping distance and grind against each other on arrival. Detour Crowd resolves the rest. |
| Follow Speed | FollowSpeed |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 600.0 |
Normal pace. Matched to the player's jog so a member neither drifts back nor overruns. |
| Catch Up Speed | CatchUpSpeed |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 850.0 |
Used when badly out of position, so a member that lost ground actually regains it. |
| Catch Up Distance | CatchUpDistance |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 700.0 |
Beyond this from the leader, use CatchUpSpeed. |
| Teleport Distance | TeleportDistance |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 4000.0 |
Teleport to the leader beyond this distance. 0 disables it. |
| Failed Move Retry Interval | FailedMoveRetryInterval |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 1.0 |
After a move request fails, wait this long before asking again. |
| Engage Distance | EngageDistance |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 180.0 |
How close to stand to the target in battle. |
| Spot Accept Radius | SpotAcceptRadius |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 40.0 |
How close counts as "at" a claimed combat spot. |
| Spot Repath Distance | SpotRepathDistance |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 60.0 |
A re-picked spot closer than this to the current one keeps the current move. |
| Max Hold For Draw | MaxHoldForDraw |
float |
Parameter | EditAnywhere, ClampMin=0.0, Units=s | 1.5 |
A still-sheathed member holds position this long at the start of a fight, waiting for its draw (XenoCore Fight Target draws it), and only then closes in - arm, then approach, never the reverse. |
| Sheathe Reassert Delay | SheatheReassertDelay |
float |
Parameter | EditAnywhere, ClampMin=0.0, Units=s | 1.5 |
Out of battle, a member still holding its weapon this long is asked to sheathe again. |
FXenoCorePartyGazeTask¶
Struct · derives from FStateTreeTaskCommonBase · header XenoCoreRuntime/Public/AI/XenoCorePartyGazeTask.h
What this party member looks at, picked on its own clock. Writes the controller's gaze; moves only the head.
FXenoCorePartyGazeTaskInstanceData¶
Struct · header XenoCoreRuntime/Public/AI/XenoCorePartyGazeTask.h
No description.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Glance Interval Min | GlanceIntervalMin |
float |
Parameter › Timing | EditAnywhere, ClampMin=0.2, Units=Seconds | 1.8 |
How long one look lasts before the next is picked. |
| Glance Interval Max | GlanceIntervalMax |
float |
Parameter › Timing | EditAnywhere, ClampMin=0.2, Units=Seconds | 5.0 |
Upper bound of a look's duration; each look rolls between Min and Max. |
| Leader Chance | LeaderChance |
float |
Parameter › Out Of Battle | EditAnywhere, ClampMin=0 | 2.5 |
Relative chance out of battle of looking at the leader. |
| Ally Chance | AllyChance |
float |
Parameter › Out Of Battle | EditAnywhere, ClampMin=0 | 2.5 |
Relative chance out of battle of looking at another party member. |
| Enemy Chance | EnemyChance |
float |
Parameter › Out Of Battle | EditAnywhere, ClampMin=0 | 2.0 |
Relative chance out of battle of looking at a nearby enemy that has not noticed the party. |
| View Chance | ViewChance |
float |
Parameter › Out Of Battle | EditAnywhere, ClampMin=0 | 1.5 |
Relative chance out of battle of looking out at the view. |
| Ahead Chance | AheadChance |
float |
Parameter › Out Of Battle | EditAnywhere, ClampMin=0 | 1.5 |
Relative chance out of battle of looking straight ahead. |
| Walking Ahead Multiplier | WalkingAheadMultiplier |
float |
Parameter › Out Of Battle | EditAnywhere, ClampMin=0 | 4.0 |
Multiplies AheadChance while this member is walking - eyes go where the feet go. |
| Eye Contact Multiplier | EyeContactMultiplier |
float |
Parameter › Out Of Battle | EditAnywhere, ClampMin=0 | 2.5 |
Multiplies an ally's chance when that ally is already looking at this member. |
| Max Gaze Distance | MaxGazeDistance |
float |
Parameter › Out Of Battle | EditAnywhere, ClampMin=0, Units=Centimeters | 2000.0 |
Nothing further than this is looked at. |
| Enemy Notice Radius | EnemyNoticeRadius |
float |
Parameter › Out Of Battle | EditAnywhere, ClampMin=0, Units=Centimeters | 2200.0 |
An unengaged enemy inside this is worth a wary look. |
| View Distance | ViewDistance |
float |
Parameter › Out Of Battle | EditAnywhere, ClampMin=100, Units=Centimeters | 1500.0 |
"The view": a point this far out, within this yaw of the body's facing, at this pitch. |
| View Yaw Range | ViewYawRange |
float |
Parameter › Out Of Battle | EditAnywhere, ClampMin=0, ClampMax=120, Units=Degrees | 70.0 |
How far either side of the body's facing a view point may be picked. |
| View Pitch Min | ViewPitchMin |
float |
Parameter › Out Of Battle | EditAnywhere, ClampMin=-60, ClampMax=60, Units=Degrees | -6.0 |
Lowest pitch of a view point; negative looks down. |
| View Pitch Max | ViewPitchMax |
float |
Parameter › Out Of Battle | EditAnywhere, ClampMin=-60, ClampMax=60, Units=Degrees | 12.0 |
Highest pitch of a view point. |
| Battle Glance Chance | BattleGlanceChance |
float |
Parameter › Battle | EditAnywhere, ClampMin=0, ClampMax=1 | 0.2 |
In battle: the chance each look is a quick glance at an ally instead of the target. |
| Battle Glance Time Min | BattleGlanceTimeMin |
float |
Parameter › Battle | EditAnywhere, ClampMin=0.1, Units=Seconds | 0.5 |
Shortest duration of an in-battle glance at an ally. |
| Battle Glance Time Max | BattleGlanceTimeMax |
float |
Parameter › Battle | EditAnywhere, ClampMin=0.1, Units=Seconds | 1.1 |
Longest duration of an in-battle glance at an ally. |
FXenoCorePartyHoldTask¶
Struct · derives from FStateTreeTaskCommonBase · header XenoCoreRuntime/Public/AI/XenoCorePartyTravelTasks.h
Rest near the party, on this member's own clock. Succeeds when the leader has moved past this member's slack.
FXenoCorePartyHoldTaskInstanceData¶
Struct · header XenoCoreRuntime/Public/AI/XenoCorePartyTravelTasks.h
Tuning and running state for FXenoCorePartyHoldTask.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Follow Start Distance | FollowStartDistance |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 520.0 |
Leave Hold (-> Follow) once the leader is this far away. |
| Per Slot Spacing | PerSlotSpacing |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 60.0 |
Added per party slot. |
| Leash Jitter | LeashJitter |
float |
Parameter › Slack | EditAnywhere, ClampMin=0, Units=Centimeters | 260.0 |
Extra slack rolled per rest, 0..this, on top of FollowStartDistance. |
| Reaction Delay Min | ReactionDelayMin |
float |
Parameter › Slack | EditAnywhere, ClampMin=0, Units=Seconds | 0.2 |
Seconds between the leader leaving the slack and this member noticing - rolled per departure. |
| Reaction Delay Max | ReactionDelayMax |
float |
Parameter › Slack | EditAnywhere, ClampMin=0, Units=Seconds | 1.0 |
Upper bound of the per-departure reaction delay. |
| Immediate Follow Multiplier | ImmediateFollowMultiplier |
float |
Parameter › Slack | EditAnywhere, ClampMin=1 | 1.6 |
Past this multiple of the slack the member goes at once - a reaction delay is for a stroll, not a sprint. |
| Leader Moving Speed | LeaderMovingSpeed |
float |
Parameter › Activities | EditAnywhere, ClampMin=0, Units=CentimetersPerSecond | 60.0 |
No new rest activity starts while the leader moves faster than this - a group whose leader is walking off does not wander. |
| Activity Interval Min | ActivityIntervalMin |
float |
Parameter › Activities | EditAnywhere, ClampMin=0.5, Units=Seconds | 3.5 |
Shortest wait between rest activities, rolled per member. |
| Activity Interval Max | ActivityIntervalMax |
float |
Parameter › Activities | EditAnywhere, ClampMin=0.5, Units=Seconds | 9.0 |
Longest wait between rest activities, rolled per member. |
| Stroll Chance | StrollChance |
float |
Parameter › Activities | EditAnywhere, ClampMin=0 | 3.0 |
Relative chance a rest activity is a Stroll: a few steps to a free spot inside the group. |
| Social Chance | SocialChance |
float |
Parameter › Activities | EditAnywhere, ClampMin=0 | 3.0 |
Relative chance a rest activity is Social: step toward a companion and turn to them. |
| Solo Chance | SoloChance |
float |
Parameter › Activities | EditAnywhere, ClampMin=0 | 1.0 |
Relative chance a rest activity is Solo: pull a face from the character's SoloExpressions. |
| Stay Chance | StayChance |
float |
Parameter › Activities | EditAnywhere, ClampMin=0 | 2.0 |
Relative chance a rest activity is Stay: do nothing. |
| Stroll Min Distance | StrollMinDistance |
float |
Parameter › Activities | EditAnywhere, ClampMin=0, Units=Centimeters | 100.0 |
Shortest distance a stroll goes. |
| Stroll Max Distance | StrollMaxDistance |
float |
Parameter › Activities | EditAnywhere, ClampMin=0, Units=Centimeters | 320.0 |
Longest distance a stroll goes. |
| Stroll Slack Fraction | StrollSlackFraction |
float |
Parameter › Activities | EditAnywhere, ClampMin=0.1, ClampMax=1 | 0.7 |
A stroll stays inside this fraction of the member's slack, so it never wanders into following. |
| Min Separation | MinSeparation |
float |
Parameter › Activities | EditAnywhere, ClampMin=0, Units=Centimeters | 100.0 |
No stroll or social spot closer than this to another party member. |
| Amble Speed | AmbleSpeed |
float |
Parameter › Activities | EditAnywhere, ClampMin=50, Units=CentimetersPerSecond | 190.0 |
Walk speed for rest moves. Under the blend space's walk (200) reads as an amble. |
| Max Activity Move Time | MaxActivityMoveTime |
float |
Parameter › Activities | EditAnywhere, ClampMin=0.5, Units=Seconds | 4.0 |
A rest move that has not arrived after this long is abandoned. |
| Social Max Partner Distance | SocialMaxPartnerDistance |
float |
Parameter › Social | EditAnywhere, ClampMin=0, Units=Centimeters | 900.0 |
Companions further than this are not picked to turn to. |
| Social Stand Distance Min | SocialStandDistanceMin |
float |
Parameter › Social | EditAnywhere, ClampMin=0, Units=Centimeters | 115.0 |
Closest distance to stand from the partner - conversational, never in its face. |
| Social Stand Distance Max | SocialStandDistanceMax |
float |
Parameter › Social | EditAnywhere, ClampMin=0, Units=Centimeters | 165.0 |
Furthest distance to stand from the partner; keep it short, or the pair reads as too far apart to talk. |
| Turn To Attention Angle | TurnToAttentionAngle |
float |
Parameter › Social | EditAnywhere, ClampMin=0, ClampMax=180, Units=Degrees | 55.0 |
A resting member turns (one short step) toward its attention target when it is this far off its facing. 0 = never. |
| Turn To Attention Cooldown | TurnToAttentionCooldown |
float |
Parameter › Social | EditAnywhere, ClampMin=0, Units=Seconds | 2.0 |
At most one such turn this often. |
| Turn In Place Rate | TurnInPlaceRate |
float |
Parameter › Social | EditAnywhere, ClampMin=0, Units=DegreesPerSecond | 140.0 |
Too close to step: turn on the spot at this rate instead. There is no turn clip, so keep it gentle. |
| Social Turn Step | SocialTurnStep |
float |
Parameter › Social | EditAnywhere, ClampMin=0, Units=Centimeters | 80.0 |
Already this close: a short step toward the partner instead, which is how a body turns without a turn clip. |
| Social Attention Min | SocialAttentionMin |
float |
Parameter › Social | EditAnywhere, ClampMin=0, Units=Seconds | 3.0 |
Shortest time the pair look at each other. |
| Social Attention Max | SocialAttentionMax |
float |
Parameter › Social | EditAnywhere, ClampMin=0, Units=Seconds | 6.0 |
Longest time the pair look at each other. |
| Social Expression Chance | SocialExpressionChance |
float |
Parameter › Social | EditAnywhere, ClampMin=0, ClampMax=1 | 0.7 |
Chance the member pulls one of its SocialExpressions during a social activity. |
| Reply Expression Chance | ReplyExpressionChance |
float |
Parameter › Social | EditAnywhere, ClampMin=0, ClampMax=1 | 0.6 |
Chance the partner answers with one of its own SocialExpressions. |
| Reply Delay Min | ReplyDelayMin |
float |
Parameter › Social | EditAnywhere, ClampMin=0, Units=Seconds | 0.5 |
The partner's answer comes this late - an answer on the same frame reads as a mirror. |
| Reply Delay Max | ReplyDelayMax |
float |
Parameter › Social | EditAnywhere, ClampMin=0, Units=Seconds | 1.3 |
Latest the partner's answer may come. |
FXenoCorePartyInBattleCondition¶
Struct · derives from FStateTreeConditionCommonBase · header XenoCoreRuntime/Public/AI/XenoCoreCombatConditions.h
Is the party in battle?
FXenoCorePartyInBattleConditionInstanceData¶
Struct · header XenoCoreRuntime/Public/AI/XenoCoreCombatConditions.h
No description.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Invert | bInvert |
bool |
Parameter | EditAnywhere | false |
Invert, so one condition covers both the pre-battle and in-battle branches. |
FXenoCorePartyRecalculatePositionTask¶
Struct · derives from FStateTreeTaskCommonBase · header XenoCoreRuntime/Public/AI/XenoCorePartyTravelTasks.h
Stop, settle, then choose where to stand and step onto it. Succeeds when the member is in place (-> Hold); fails if the leader walks off (-> Follow).
FXenoCorePartyRecalculatePositionTaskInstanceData¶
Struct · header XenoCoreRuntime/Public/AI/XenoCorePartyTravelTasks.h
Tuning and running state for FXenoCorePartyRecalculatePositionTask.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Settle Time | SettleTime |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 0.3 |
Stand still this long after stopping before choosing a spot - the beat of "arriving". |
| Settle Jitter | SettleJitter |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 0.3 |
Random extra settle time, per entry. |
| Rest Distance | RestDistance |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 260.0 |
How far from the leader the first follower rests. Match Follow's TrailDistance. |
| Rest Slot Spacing | RestSlotSpacing |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 60.0 |
Added to RestDistance per slot after the first, so the party rests in shallow tiers. |
| Slot Spread Degrees | SlotSpreadDegrees |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 35.0 |
Angular spread between slots, in degrees, around the point directly behind the leader. Slot 1 swings one way, slot 2 the other, slot 3 twice as far one way, and so on. |
| Min Reposition Distance | MinRepositionDistance |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 90.0 |
Closer than this to the chosen spot and the member stays exactly where it stopped. |
| Max Reposition Distance | MaxRepositionDistance |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 400.0 |
Further than this from the slot behind the leader - e.g. the leader turned round and walked back past the member - and the member instead rests on its own side of the leader. Walking all the way round the leader to reach "behind" reads as fussing. |
| Reposition Speed | RepositionSpeed |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 200.0 |
Walk, not run, onto the spot - it is a small correction, not a chase. |
| Max Reposition Time | MaxRepositionTime |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 2.5 |
Give up stepping onto the spot after this long, and hold wherever the member is. |
| Abort Distance | AbortDistance |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 520.0 |
If the leader is this far away the member should be following, not tidying up: fail, and the transition goes straight back to Follow. Match Hold's FollowStartDistance. |
| Per Slot Spacing | PerSlotSpacing |
float |
Parameter | EditAnywhere, ClampMin=0.0, UIMin=0.0 | 90.0 |
Added to AbortDistance per party slot. Match Hold's and Follow's PerSlotSpacing. |
FXenoCoreTargetHasTagCondition¶
Struct · derives from FStateTreeConditionCommonBase · header XenoCoreRuntime/Public/AI/XenoCoreCombatConditions.h
Lets the enemy choose an art that can actually land, instead of one that is merely off cooldown.
FXenoCoreTargetHasTagConditionInstanceData¶
Struct · header XenoCoreRuntime/Public/AI/XenoCoreCombatConditions.h
No description.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Tag | Tag |
FGameplayTag |
Parameter | EditAnywhere | Tag to look for on the target's ASC. Hierarchical, so a parent matches its children. | |
| Invert | bInvert |
bool |
Parameter | EditAnywhere | false |
True passes when the target does not have the tag. |
UEnvQueryContext_XenoCoreCombatTarget¶
Class · derives from UEnvQueryContext · header XenoCoreRuntime/Public/AI/XenoCoreEnvQueryContexts.h
The enemy the querying companion is fighting - its controller's combat target. Empty if none.
UEnvQueryContext_XenoCorePartySpacing¶
Class · derives from UEnvQueryContext · header XenoCoreRuntime/Public/AI/XenoCoreEnvQueryContexts.h
Every other party member's position, plus the spot each other companion has claimed.
XenoCoreRuntime / AbilitySystem/Attributes¶
UXenoCoreStatSet¶
Class · derives from ULyraAttributeSet · header XenoCoreRuntime/Public/AbilitySystem/Attributes/XenoCoreStatSet.h · BlueprintType
Every per-character scalar the XC1 damage formula reads.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Max Character Level | MaxCharacterLevel |
float |
XenoCore › Progression | Config, EditDefaultsOnly, ClampMin=1, UIMin=1 | 99.0 |
The level cap CharacterLevel is clamped to. XC1's is 99. |
| Strength | Strength |
FGameplayAttributeData |
XenoCore › Stats | BlueprintReadOnly | Drives auto-attacks and physical arts. Does nothing for ether arts - the split is deliberate and is what makes physical and ether characters play differently at a stat level. | |
| Ether | Ether |
FGameplayAttributeData |
XenoCore › Stats | BlueprintReadOnly | Drives ether arts only. | |
| Agility | Agility |
FGameplayAttributeData |
XenoCore › Stats | BlueprintReadOnly | Both evasion and accuracy - it reads on offence and defence from the same number. | |
| Physical Defence | PhysicalDefence |
FGameplayAttributeData |
XenoCore › Stats | BlueprintReadOnly | No description. | |
| Ether Defence | EtherDefence |
FGameplayAttributeData |
XenoCore › Stats | BlueprintReadOnly | No description. | |
| Critical Rate | CriticalRate |
FGameplayAttributeData |
XenoCore › Stats | BlueprintReadOnly | 0-1. A crit is x1.25, or x1.5 against a toppled or dazed target. | |
| Block Rate | BlockRate |
FGameplayAttributeData |
XenoCore › Stats | BlueprintReadOnly | 0-1. Chance to block a physical hit; a blocked hit keeps the damage execution's Block Multiplier (0 by default, so it is negated - XC1 halves it). | |
| Weight | Weight |
FGameplayAttributeData |
XenoCore › Stats | BlueprintReadOnly | Summed from equipped armour. Heavier armour trades Agility for defence, so this is an input to Agility rather than a carry limit - XC1 has no encumbrance. | |
| Weapon Attack Min | WeaponAttackMin |
FGameplayAttributeData |
XenoCore › Weapon | BlueprintReadOnly | The wpn term is a uniform roll in [Min, Max], and the game caps the spread at Min+99. |
|
| Weapon Attack Max | WeaponAttackMax |
FGameplayAttributeData |
XenoCore › Weapon | BlueprintReadOnly | No description. | |
| Character Level | CharacterLevel |
FGameplayAttributeData |
XenoCore › Progression | BlueprintReadOnly | Feeds the level-difference correction, which swings damage from x0.5 to x2.0. An attribute rather than save data because buffs and debuffs read it. | |
| Experience | Experience |
FGameplayAttributeData |
XenoCore › Progression | BlueprintReadOnly | EXP banked toward the next level, not a running total. | |
| Experience To Next Level | ExperienceToNextLevel |
FGameplayAttributeData |
XenoCore › Progression | BlueprintReadOnly | What Experience must reach to level. Written from the character's experience curve on every level change, so the curve is the single source and nothing recomputes it independently. | |
| Talent Gauge | TalentGauge |
FGameplayAttributeData |
XenoCore › Talent | BlueprintReadOnly | 0-100. Fills as auto-attacks land, and pays for the Talent Art. | |
| Talent Charge Per Hit | TalentChargePerHit |
FGameplayAttributeData |
XenoCore › Talent | BlueprintReadOnly | Talent Gauge added per landed auto-attack. A percentage of the 0-100 gauge, not a multiplier. | |
| Auto Attack Speed | AutoAttackSpeed |
FGameplayAttributeData |
XenoCore › Combat | BlueprintReadOnly | How fast auto-attacks come round, as a multiplier on the swing cadence. 1 is normal. | |
| Move Speed | MoveSpeed |
FGameplayAttributeData |
XenoCore › Locomotion | BlueprintReadOnly | Field movement speed, as a percent bonus on the pawn's authored walk speed. 0 is normal. |
XenoCoreRuntime / AbilitySystem/Calculations¶
UXenoCoreMMC_EffectLevel¶
Class · derives from UGameplayModMagnitudeCalculation · header XenoCoreRuntime/Public/AbilitySystem/Calculations/XenoCoreMMC_EffectLevel.h
Returns the level the GameplayEffect was applied at.
XenoCoreRuntime / AbilitySystem/Executions¶
UXenoCoreDamageExecution¶
Class · derives from UGameplayEffectExecutionCalculation · header XenoCoreRuntime/Public/AbilitySystem/Executions/XenoCoreDamageExecution.h
XC1's damage formula.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Level Difference Curve | LevelDifferenceCurve |
TObjectPtr<UCurveTable> |
XenoCore › Damage | EditDefaultsOnly | Rows Damage.LevelDiff.Physical and .Ether, keyed by (attacker level - target level). |
|
| Max Defence Fraction | MaxDefenceFraction |
float |
XenoCore › Damage | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0 | 0.9 |
Defence cannot reduce damage by more than this. XC1: capped at 90%. |
| Minimum Modifiers | MinimumModifiers |
float |
XenoCore › Damage | EditDefaultsOnly, ClampMin=0.0 | 0.1 |
The mods bucket floor. XC1: 10%. |
| Critical Multiplier | CriticalMultiplier |
float |
XenoCore › Damage | EditDefaultsOnly, ClampMin=0.0, UIMin=0.0 | 1.25 |
Damage multiplier for a critical hit. XC1: x1.25. |
| Critical Multiplier Vs Reacting | CriticalMultiplierVsReacting |
float |
XenoCore › Damage | EditDefaultsOnly, ClampMin=0.0, UIMin=0.0 | 1.5 |
Damage multiplier for a critical hit against a toppled or dazed target. XC1: x1.5. |
| Block Multiplier | BlockMultiplier |
float |
XenoCore › Damage | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0 | 0.0 |
Damage a blocked physical hit keeps. 0 = a block negates the hit (XC1 halves it: 0.5). |
| Agility Hit Per Point | AgilityHitPerPoint |
float |
XenoCore › Damage | EditDefaultsOnly, ClampMin=0.0 | 0.01 |
Hit chance gained per point of Agility advantage. XC1: one point of Agility is one percent. |
| Hit Chance Cap | HitChanceCap |
float |
XenoCore › Damage | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0 | 1.0 |
Highest hit chance an attack can have. Tuning value, not sourced; 1.0 means equal agility never misses. |
| Hit Chance Floor | HitChanceFloor |
float |
XenoCore › Damage | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0 | 0.05 |
Lowest hit chance an attack can have. XC1: the maximum evade rate is 95%, so hit chance floors at 5%. |
| Physical Hit By Level Gap | PhysicalHitByLevelGap |
TArray<float> |
XenoCore › Damage › Level Difference | EditDefaultsOnly | { 0.0, 0.0, 0.0, 0.24, 0.32, 0.4, 1.2, 1.4, 1.6, 1.8, 2.0 } |
Physical hit-rate change by level gap 0..10+ (XC1: 3=24%, 4=32%, 5=40%, 6=120% ... 10+=200%). |
| Ether Hit By Level Gap | EtherHitByLevelGap |
TArray<float> |
XenoCore › Damage › Level Difference | EditDefaultsOnly | { 0.0, 0.0, 0.0, 0.18, 0.24, 0.32, 0.66, 0.77, 0.88, 0.99... |
Ether hit-rate change by level gap 0..10+ (XC1: 3=18%, 4=24%, 5=32%, 6=66% ... 10+=110%). |
| Block Rate Per Level | BlockRatePerLevel |
float |
XenoCore › Damage › Level Difference | EditDefaultsOnly, ClampMin=0.0 | 0.05 |
Block-rate change per level of gap, in the defender's favour when the attacker is lower. XC1: 5%, capped at BlockLevelModifierCap. |
| Block Level Dead Zone | BlockLevelDeadZone |
int32 |
XenoCore › Damage › Level Difference | EditDefaultsOnly, ClampMin=0 | 0 |
Level gap inside which the block-rate change is zero. XC1 sources disagree within +/-2 levels (5% per level all the way to zero, versus 0% from +2 to -2); both agree from 3 outwards. |
| Block Level Modifier Cap | BlockLevelModifierCap |
float |
XenoCore › Damage › Level Difference | EditDefaultsOnly, ClampMin=0.0 | 1.0 |
Largest block-rate bonus (and penalty) a level gap can give. XC1: +/-100%. |
| Miss Colour | MissColour |
FLinearColor |
XenoCore › Damage › Notifications | EditDefaultsOnly | FLinearColor(0.75, 0.78, 0.82, 1.0) |
Colour of the miss battle notification. |
| Critical Colour | CriticalColour |
FLinearColor |
XenoCore › Damage › Notifications | EditDefaultsOnly | FLinearColor(1.0, 0.85, 0.2, 1.0) |
Colour of the critical-hit battle notification. |
| Blocked Colour | BlockedColour |
FLinearColor |
XenoCore › Damage › Notifications | EditDefaultsOnly | FLinearColor(0.55, 0.75, 1.0, 1.0) |
Colour of the blocked battle notification. |
XenoCoreRuntime / Animation¶
FXenoCoreFaceExpressionRow¶
Struct · derives from FTableRowBase · header XenoCoreRuntime/Public/Animation/XenoCoreFaceExpression.h · BlueprintType
One named facial expression, as a weighted mix of face curves.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Curves | Curves |
TMap<FName, float> |
Face | EditAnywhere, BlueprintReadOnly | Face curve -> weight at full intensity. VRM presets (happy, angry, blink, aa...) or raw Fcl_* morphs. | |
| Suppress Blink | bSuppressBlink |
bool |
Face | EditAnywhere, BlueprintReadOnly | false |
Stop the procedural blink while this is shown - for an expression whose eyes are already shut or squeezed. |
| Pulse Curve | PulseCurve |
FName |
Face › Pulse | EditAnywhere, BlueprintReadOnly | A curve that oscillates on top of the mix (a laugh's mouth). None = no pulse. | |
| Pulse Weight | PulseWeight |
float |
Face › Pulse | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=1 | 0.5 |
Peak weight of the pulse curve, 0..1. |
| Pulse Rate | PulseRate |
float |
Face › Pulse | EditAnywhere, BlueprintReadOnly, ClampMin=0.1 | 4.0 |
Cycles per second. |
FXenoCoreFaceExpressionRule¶
Struct · header XenoCoreRuntime/Public/Animation/XenoCoreFaceAnimInstance.h · BlueprintType
One row of the face's "what is this character feeling" table. First matching row wins.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Required Tag | RequiredTag |
FGameplayTag |
XenoCore › Face | EditAnywhere, BlueprintReadOnly | Owned by the character's ASC (parents match children, so Status.Death covers Dying and Dead). |
|
| Expression | Expression |
FName |
XenoCore › Face | EditAnywhere, BlueprintReadOnly | A row of the face's ExpressionTable (Happy, Laugh, Pained...), or - when no row has the name - a single curve the face pose asset knows: happy, angry, sad, relaxed, surprised, blink, aa... | |
| Weight | Weight |
float |
XenoCore › Face | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=1 | 1.0 |
How strongly the expression shows, from 0 (not at all) to 1 (full). |
| Suppress Blink | bSuppressBlink |
bool |
XenoCore › Face | EditAnywhere, BlueprintReadOnly | false |
For expressions that already close the eyes (VRoid's "happy" is a closed-eye smile), or that must hold them shut (death). A blink on top reads as a twitch. |
FXenoCoreReactionMontages¶
Struct · header XenoCoreRuntime/Public/Animation/XenoCoreCharacterAnimProfile.h · BlueprintType
One reaction's clips for one character. Every slot is optional: an empty slot falls back to the reaction ability's own montage for that slot, so a profile only has to name what differs.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Front | Front |
TObjectPtr<UAnimMontage> |
Reaction | EditAnywhere, BlueprintReadOnly | Played when the other body is in front. Empty = the ability's own Front montage. | |
| Back | Back |
TObjectPtr<UAnimMontage> |
Reaction | EditAnywhere, BlueprintReadOnly | Played when the other body is behind. Empty = the ability's own Back montage. | |
| Left | Left |
TObjectPtr<UAnimMontage> |
Reaction | EditAnywhere, BlueprintReadOnly | Played when the other body is to the left. Empty = the ability's own Left montage. | |
| Right | Right |
TObjectPtr<UAnimMontage> |
Reaction | EditAnywhere, BlueprintReadOnly | Played when the other body is to the right. Empty = the ability's own Right montage. | |
| Follow Up | FollowUp |
TObjectPtr<UAnimMontage> |
Reaction | EditAnywhere, BlueprintReadOnly | Crossfaded in after the main clip - a get-up. Empty = the ability's own FollowUpMontage. |
FXenoCoreWeightedExpression¶
Struct · header XenoCoreRuntime/Public/Animation/XenoCoreFaceExpression.h · BlueprintType
An expression a character may pick, how likely, how strongly, and for how long.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Expression | Expression |
FName |
Face | EditAnywhere, BlueprintReadOnly | A row of the face's ExpressionTable. | |
| Chance | Chance |
float |
Face | EditAnywhere, BlueprintReadOnly, ClampMin=0 | 1.0 |
Relative chance against the other entries in the same list. |
| Intensity | Intensity |
float |
Face | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=1 | 1.0 |
0..1 - how strongly the expression is worn. |
| Duration | Duration |
float |
Face | EditAnywhere, BlueprintReadOnly, ClampMin=0.1 | 2.5 |
No description. |
UXenoCoreAnimInstance¶
Class · derives from UAnimInstance · header XenoCoreRuntime/Public/Animation/XenoCoreAnimInstance.h
The anim instance every XenoCore character ABP derives from.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Gameplay Tag Property Map | GameplayTagPropertyMap |
FGameplayTagBlueprintPropertyMap |
GameplayTags | EditDefaultsOnly | Gameplay tags mapped to the variables below. Use this rather than querying tags by hand. | |
| Ground Speed | GroundSpeed |
float |
XenoCore › Locomotion | BlueprintReadOnly | 0.0 |
Horizontal speed. Vertical motion must not read as running, so this is 2D. |
| Direction | Direction |
float |
XenoCore › Locomotion | BlueprintReadOnly | 0.0 |
Signed -180..180 against the actor's facing. Drives the blend space X axis. |
| Is Moving | bIsMoving |
bool |
XenoCore › Locomotion | BlueprintReadOnly | false |
No description. |
| Is Falling | bIsFalling |
bool |
XenoCore › Locomotion | BlueprintReadOnly | false |
No description. |
| Falling Alpha | FallingAlpha |
float |
XenoCore › Locomotion | BlueprintReadOnly | 0.0 |
0/1 mirror of bIsFalling, for transition rules that compare floats. GroundSpeed covers the moving/idle transitions; this covers the airborne ones. |
| In Battle | bInBattle |
bool |
XenoCore › Battle | BlueprintReadOnly | false |
Battle stance: does the owner's ASC have XenoCoreGameplayTags::Status_XenoCore_InBattle. |
| Target Yaw Delta | TargetYawDelta |
float |
XenoCore › Battle | BlueprintReadOnly | 0.0 |
Signed yaw from the character's facing to the held target, in degrees, damped and clamped. |
| Has Target | bHasTarget |
bool |
XenoCore › Battle | BlueprintReadOnly | false |
A target is held. Fades the twist out rather than snapping it to zero when one is dropped. |
| Max Target Twist | MaxTargetTwist |
float |
XenoCore › Battle | EditDefaultsOnly, ClampMin=0.0, ClampMax=179.0 | 70.0 |
How far the chest may turn, total, across the three spine bones. |
| Target Twist Interp Rate | TargetTwistInterpRate |
float |
XenoCore › Battle | EditDefaultsOnly, ClampMin=0.1 | 10.0 |
Degrees-per-second-ish damping on the twist. Higher snaps, lower drifts. |
| Smoothed Ground Speed | SmoothedGroundSpeed |
float |
XenoCore › Locomotion | BlueprintReadOnly | 0.0 |
GroundSpeed eased over time, and what the locomotion blend space's Speed axis reads. |
| Speed Smoothing Rate | SpeedSmoothingRate |
float |
XenoCore › Locomotion | EditDefaultsOnly, ClampMin=0.1, UIMin=0.1 | 6.0 |
FInterpTo rate for SmoothedGroundSpeed. Lower is smoother and laggier; too low and the feet visibly disagree with the ground. |
| Stride Scale | StrideScale |
float |
XenoCore › Locomotion | BlueprintReadOnly | 1.0 |
Drives the Stride Warping node so cadence can stay native while the body moves faster. GroundSpeed / AuthoredClipSpeed, floored by MinStrideScale. |
| Authored Clip Speed | AuthoredClipSpeed |
float |
XenoCore › Locomotion | EditDefaultsOnly, ClampMin=1.0, UIMin=1.0 | 400.0 |
The speed of the fastest clip in the locomotion blend space - the point above which there is no faster animation and stride warping has to cover the difference. |
| Min Stride Scale | MinStrideScale |
float |
XenoCore › Locomotion | EditDefaultsOnly, ClampMin=0.0, UIMin=0.0 | 1.0 |
Floors the stride so warping can only ever stretch, never compress. 1.0 because the blend space owns everything from walk (200) to jog (400) with real clips - below the fastest clip the right answer is to blend to a slower gait, not to shrink a jog's stride. |
| Moving Speed Threshold | MovingSpeedThreshold |
float |
XenoCore › Locomotion | EditDefaultsOnly, ClampMin=0.0, UIMin=0.0 | 20.0 |
Below this speed (cm/s) the character is idle. Too low (around 3) and the character leaves Idle on residual velocity and plays a warped-to-nothing jog. |
| Wants Idle Break | bWantsIdleBreak |
bool |
XenoCore › IdleBreak | BlueprintReadOnly | false |
Idle break - true while the character, having stood still long enough, should be fidgeting. |
| Idle Break Anim | IdleBreakAnim |
TObjectPtr<UAnimSequence> |
XenoCore › IdleBreak | EditDefaultsOnly, BlueprintReadOnly | The fidget this stance plays. Set on the layer child, which is what makes the break per-stance and per-gender for free - the feminine layer is already a separate child. | |
| Look Bone Rotation 0 | LookBoneRotation0 |
FRotator |
XenoCore › Look | BlueprintReadOnly | FRotator::ZeroRotator |
Look rotation for neck_01 (component space, additive). Driven by the gaze. |
| Look Bone Rotation 1 | LookBoneRotation1 |
FRotator |
XenoCore › Look | BlueprintReadOnly | FRotator::ZeroRotator |
Look rotation for neck_02 (component space, additive). |
| Look Bone Rotation 2 | LookBoneRotation2 |
FRotator |
XenoCore › Look | BlueprintReadOnly | FRotator::ZeroRotator |
Look rotation for head (component space, additive). |
| Look Bone Shares | LookBoneShares |
TArray<float> |
XenoCore › Look | EditDefaultsOnly | Share of the look each bone carries, in LookBoneRotation0..2 order. Should sum to 1. | |
| Look Bone Interp Speeds | LookBoneInterpSpeeds |
TArray<float> |
XenoCore › Look | EditDefaultsOnly | FInterpTo speed per bone, same order. Higher on the head so it leads. | |
| Look Max Yaw | LookMaxYaw |
float |
XenoCore › Look | EditDefaultsOnly, ClampMin=0, ClampMax=120, Units=Degrees | 70.0 |
Total head-and-neck yaw either side, after the chest's own twist. |
| Look Give Up Yaw | LookGiveUpYaw |
float |
XenoCore › Look | EditDefaultsOnly, ClampMin=0, ClampMax=180, Units=Degrees | 125.0 |
Beyond this the target is behind: look forward instead of craning at the limit. |
| Look Max Pitch Up | LookMaxPitchUp |
float |
XenoCore › Look | EditDefaultsOnly, ClampMin=0, ClampMax=80, Units=Degrees | 30.0 |
How far the head may tilt up toward its look target. |
| Look Max Pitch Down | LookMaxPitchDown |
float |
XenoCore › Look | EditDefaultsOnly, ClampMin=0, ClampMax=80, Units=Degrees | 25.0 |
How far the head may tilt down toward its look target. |
| Look Origin Bone | LookOriginBone |
FName |
XenoCore › Look | EditDefaultsOnly | "head" |
The bone the look is measured from - the eyes are near it. |
| Look Blocked By Tags | LookBlockedByTags |
FGameplayTagContainer |
XenoCore › Look | EditDefaultsOnly | While the character's ASC holds any of these the head returns forward - a clip is driving it. | |
| Idle Break Delay | IdleBreakDelay |
float |
XenoCore › IdleBreak | EditDefaultsOnly, ClampMin=0.0 | 8.0 |
Seconds of stillness before a break is requested. |
| Idle Break Jitter | IdleBreakJitter |
float |
XenoCore › IdleBreak | EditDefaultsOnly, ClampMin=0.0 | 6.0 |
Random extra delay on top, rolled per break, so repeats land IdleBreakDelay to IdleBreakDelay+IdleBreakJitter apart instead of reading as metronomic. |
UXenoCoreAnimNotify_GameplayEvent¶
Class · derives from UAnimNotify · header XenoCoreRuntime/Public/Animation/XenoCoreAnimNotify_GameplayEvent.h
Sends a gameplay event to the animating actor at the frame it is placed on.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Event Tag | EventTag |
FGameplayTag |
XenoCore | EditAnywhere, BlueprintReadOnly | The event to raise. An invalid tag is a no-op rather than an error - see the .cpp. |
UXenoCoreAnimProfileStatics¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreRuntime/Public/Animation/XenoCoreAnimProfileStatics.h
No description.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Anim Profile | Pure | 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 | 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 | UAnimMontage* PickVictoryMontage(const AActor* Actor) |
The battle-won emote: random from the profile's VictoryMontages, null when there are none. |
| Describe Resolution | Callable | FString DescribeResolution(const AActor* Actor) |
Every combat clip this actor resolves to, and where each came from - profile or default. |
UXenoCoreCharacterAnimProfile¶
Class · derives from UPrimaryDataAsset · header XenoCoreRuntime/Public/Animation/XenoCoreCharacterAnimProfile.h · BlueprintType
A character's own combat animation. Every slot is optional - empty falls back to the default.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Reactions | Reactions |
TMap<FGameplayTag, FXenoCoreReactionMontages> |
Reactions | EditAnywhere, BlueprintReadOnly, Categories=Anim.XenoCore.Reaction |
Per reaction, keyed by Anim.XenoCore.Reaction.* - the same tag the reaction ability carries as its ProfileKey. A reaction with no row here plays its ability's own montages. |
|
| Death Montages | DeathMontages |
TArray<TObjectPtr<UAnimMontage>> |
Death | EditAnywhere, BlueprintReadOnly | One is picked at random on death. Empty = the pawn's own DeathMontages. | |
| Victory Montages | VictoryMontages |
TArray<TObjectPtr<UAnimMontage>> |
Victory | EditAnywhere, BlueprintReadOnly | Battle won: one is picked at random and played once this character has sheathed. Empty = this character does not celebrate. | |
| Idle Breaks | IdleBreaks |
TArray<TObjectPtr<UAnimSequence>> |
Idle | EditAnywhere, BlueprintReadOnly | This character's idle breaks out of battle. Empty = the stance's own break. | |
| Armed Idle Breaks | ArmedIdleBreaks |
TArray<TObjectPtr<UAnimSequence>> |
Idle | EditAnywhere, BlueprintReadOnly | This character's idle breaks with the weapon drawn. Empty = the stance's own break. | |
| Social Expressions | SocialExpressions |
TArray<FXenoCoreWeightedExpression> |
Face | EditAnywhere, BlueprintReadOnly | Expressions worn when facing a companion at rest. | |
| Solo Expressions | SoloExpressions |
TArray<FXenoCoreWeightedExpression> |
Face | EditAnywhere, BlueprintReadOnly | Expressions worn now and then while standing alone at rest. |
UXenoCoreFaceAnimInstance¶
Class · derives from UAnimInstance · header XenoCoreRuntime/Public/Animation/XenoCoreFaceAnimInstance.h · Blueprintable
The parent of every VRoid body's runtime ABP (ABP_XenoCore_VRoidRetarget_*). The AnimGraph retargets the invisible Mannequin body's pose onto the VRoid mesh, then a Modify Curve node writes FaceCurves - one wire, the node's CurveMap pin - into the pose. The mesh's VRM4U post-process ABP (ABP_Post_*) turns those curves into morph targets through the model's own POSE_face asset, so the expressions are the ones authored in VRoid Studio.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Face Curves | FaceCurves |
TMap<FName, float> |
XenoCore › Face | Transient, BlueprintReadOnly | The curve values this frame. Wired to the Modify Curve node's CurveMap pin. | |
| Expression Rules | ExpressionRules |
TArray<FXenoCoreFaceExpressionRule> |
XenoCore › Face | EditDefaultsOnly, BlueprintReadOnly | Gameplay tag -> expression rules, checked in order; the first tag the character holds wins. | |
| Expression Table | ExpressionTable |
TSoftObjectPtr<UDataTable> |
XenoCore › Face | EditDefaultsOnly, BlueprintReadOnly | Named expressions, as mixes of face curves. Rule and PlayExpression names are looked up here first. | |
| Blink Curve | BlinkCurve |
FName |
XenoCore › Face › Blink | EditDefaultsOnly, BlueprintReadOnly | "blink" |
The face curve the procedural blink drives. |
| Blink Interval Min | BlinkIntervalMin |
float |
XenoCore › Face › Blink | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.1 | 2.5 |
Shortest time between blinks, in seconds. Each gap is rolled between Min and Max. |
| Blink Interval Max | BlinkIntervalMax |
float |
XenoCore › Face › Blink | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.1 | 6.0 |
Longest time between blinks, in seconds. |
| Blink Duration | BlinkDuration |
float |
XenoCore › Face › Blink | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.05 | 0.18 |
Close-and-open time. Real blinks are 0.1-0.4s; under 0.12 the pose asset barely reaches shut. |
| Expression Blend Speed | ExpressionBlendSpeed |
float |
XenoCore › Face | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.1 | 6.0 |
How fast an expression eases in and out, per second. |
| Talking Tag | TalkingTag |
FGameplayTag |
XenoCore › Face › Mouth | EditDefaultsOnly, BlueprintReadOnly | While the character's ASC holds this, the mouth cycles MouthShapes. Empty = never talks. | |
| Mouth Shapes | MouthShapes |
TArray<FName> |
XenoCore › Face › Mouth | EditDefaultsOnly, BlueprintReadOnly | Mouth curves the generic talking flap cycles through. | |
| Mouth Shape Interval | MouthShapeInterval |
float |
XenoCore › Face › Mouth | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.03 | 0.11 |
Seconds each mouth shape is held during the talking flap. |
| Mouth Weight | MouthWeight |
float |
XenoCore › Face › Mouth | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0, ClampMax=1 | 0.6 |
How far the mouth opens during the talking flap, 0..1. |
| Lip Sync | bLipSync |
bool |
XenoCore › Face › Lip Sync | EditDefaultsOnly, BlueprintReadOnly | true |
Off = voice lines only flap the mouth, ignoring their lip-sync keys. |
| Lip Sync Weight Scale | LipSyncWeightScale |
float |
XenoCore › Face › Lip Sync | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0, ClampMax=2 | 1.0 |
Multiplies every lip-sync key's weight. Raise for a model whose mouth shapes read small. |
| Lip Sync Blend Speed | LipSyncBlendSpeed |
float |
XenoCore › Face › Lip Sync | EditDefaultsOnly, BlueprintReadOnly, ClampMin=1 | 30.0 |
How fast the mouth moves between lip-sync shapes, per second. Higher is snappier. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Play Expression | Callable | void PlayExpression(FName Expression, float Weight = 1.f, float Duration = 2.f, bool bSuppressBlink = false) |
Show Expression at Weight for Duration seconds, over every tag-driven rule. |
| Clear Expression | Callable | void ClearExpression() |
Ends a timed or held PlayExpression; the tag-driven rules take over again. |
| Play Voice Line | Callable | void PlayVoiceLine(const TArray<FXenoCoreVisemeKey>& Keys, UAudioComponent* Audio, float Duration) |
Lip-sync the face to a voice line: Keys are mouth shapes over time, played while Audio plays. |
| Stop Voice Line | Callable | void StopVoiceLine() |
Stops the current voice line's lip sync and lets the mouth relax. |
| Is Lip Syncing | Pure | bool IsLipSyncing() const |
True while a voice line drives the mouth. |
| Play Expression On Actor | Callable | bool PlayExpressionOnActor(AActor* Actor, FName Expression, float Weight = 1.f, float Duration = 2.f) |
Play an expression on whatever face Actor has. |
| Is Playing Expression | Pure | bool IsPlayingExpression() const |
True while a timed or held PlayExpression is on screen - a scripted beat other systems should not stomp. |
| Get Expression Names | Pure | TArray<FName> GetExpressionNames() const |
Every row name of ExpressionTable, for tools and the console. |
| Find Face For Actor | Callable | UXenoCoreFaceAnimInstance* FindFaceForActor(AActor* Actor) |
Finds the face instance driving Actor's visible body - Actor may be the pawn itself or the cosmetic part. |
XenoCoreRuntime / Arts¶
EXenoCoreArtAICheck¶
Enum · header XenoCoreRuntime/Public/Arts/XenoCoreArtDefinition.h · BlueprintType
What a companion checks before using an art.
| Value | Shown as | Description |
|---|---|---|
TargetHasTag |
Target Has Tag | The enemy carries Tag - a reaction (Break/Topple/Daze), a status, an aura, a phase. |
TargetLacksTag |
Target Lacks Tag | No description. |
TargetHealthBelow |
Target Health Below | The enemy's health is below Percent. |
TargetHealthAbove |
Target Health Above | No description. |
IHoldTargetAggro |
I Hold Target Aggro | The enemy's current target (its highest aggro) is this companion. |
IDoNotHoldTargetAggro |
I Do Not Hold Target Aggro | No description. |
TargetFacingMe |
Target Facing Me | The enemy faces this companion (within its front arc). |
TargetNotFacingMe |
Target Not Facing Me | No description. |
AllyHealthBelowHealThreshold |
Ally Health Below Heal Threshold | Some living party member is below the companion's Heal Threshold (its AI profile). |
RecipientLacksTag |
Recipient Lacks Tag | Whoever the art lands on - the chosen ally, or the user for a self/party art - lacks Tag. Stops re-buffing. |
EXenoCoreArtArea¶
Enum · header XenoCoreRuntime/Public/Arts/XenoCoreArtDefinition.h · BlueprintType
XC1's "Range" line - how many it reaches. Only meaningful for an Enemy-targeted art.
| Value | Shown as | Description |
|---|---|---|
Single |
Single | No description. |
CircleAroundUser |
Circle Around User | No description. |
CircleAroundTarget |
Circle Around Target | No description. |
Cone |
Cone | No description. |
EXenoCoreArtAttribute¶
Enum · header XenoCoreRuntime/Public/Arts/XenoCoreArtDefinition.h · BlueprintType
Whether an art is physical or ether. Separate from Category, which is the art's type colour. An ether art uses Ether and Ether Defence instead of Strength and Physical Defence.
| Value | Shown as | Description |
|---|---|---|
Physical |
Physical | No description. |
Ether |
Ether | No description. |
EXenoCoreArtCategory¶
Enum · header XenoCoreRuntime/Public/Arts/XenoCoreArtDefinition.h · BlueprintType
The eight art categories. Drives the palette slot's colour, per XC1's reaction colour language.
| Value | Shown as | Description |
|---|---|---|
Physical |
Physical | No description. |
Ether |
Ether | No description. |
Break |
Break | No description. |
Topple |
Topple | Knocks a Broken target down. Green in XC1's colour language. |
Daze |
Daze | Stuns a Toppled target. Yellow in XC1's colour language. |
Buff |
Buff | Strengthens the user or the party. |
Debuff |
Debuff | No description. |
Heal |
Heal | No description. |
EXenoCoreArtEffect¶
Enum · header XenoCoreRuntime/Public/Arts/XenoCoreArtDefinition.h · BlueprintType
Whether the art's magnitude is dealt or restored.
| Value | Shown as | Description |
|---|---|---|
Damage |
Damage | No description. |
Heal |
Heal | No description. |
None |
None | A pure buff or debuff - the art's Effects list is all it does. |
EXenoCoreArtEffectCondition¶
Enum · header XenoCoreRuntime/Public/Arts/XenoCoreArtDefinition.h · BlueprintType
When an Effects entry applies.
| Value | Shown as | Description |
|---|---|---|
Always |
Always | No description. |
InPosition |
In Position | The art's own PositionalRequirement is met. |
FromSide |
From Side | No description. |
FromBehind |
From Behind | The user is behind the target. |
TargetBroken |
Target Broken | No description. |
TargetToppled |
Target Toppled | No description. |
TargetDazed |
Target Dazed | No description. |
FromFront |
From Front | No description. |
EXenoCoreArtEffectRecipient¶
Enum · header XenoCoreRuntime/Public/Arts/XenoCoreArtDefinition.h · BlueprintType
Who an Effects entry lands on.
| Value | Shown as | Description |
|---|---|---|
Target |
Target | Each target the art hits. |
User |
User | The caster - a self buff riding an attack. |
Party |
Party | Every active party member. |
EXenoCoreArtPositional¶
Enum · header XenoCoreRuntime/Public/Arts/XenoCoreArtDefinition.h · BlueprintType
Where the user must be standing relative to the target for the art's rider to apply.
| Value | Shown as | Description |
|---|---|---|
None |
None | No description. |
Back |
Back | No description. |
Side |
Side | No description. |
Front |
Front | In front of the target. Appended last so saved values of the others do not change. |
EXenoCoreArtTargetType¶
Enum · header XenoCoreRuntime/Public/Arts/XenoCoreArtDefinition.h · BlueprintType
Who the art is aimed at: the enemy, the user, one ally, or the whole party.
| Value | Shown as | Description |
|---|---|---|
Enemy |
Enemy | No description. |
User |
User | The caster. |
Ally |
Ally | One party member, chosen with the ally selector. |
Party |
Party | Every active party member at once. |
FXenoCoreArtAICondition¶
Struct · header XenoCoreRuntime/Public/Arts/XenoCoreArtDefinition.h · BlueprintType
One AI condition on an art. Required conditions gate the art; bonus conditions add to its score.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Check | Check |
EXenoCoreArtAICheck |
AI | EditAnywhere, BlueprintReadOnly | EXenoCoreArtAICheck::TargetHasTag |
What this condition checks. |
| Tag | Tag |
FGameplayTag |
AI | EditAnywhere, BlueprintReadOnly | For the tag checks. | |
| Percent | Percent |
float |
AI | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, ClampMax=100.0 | 50.0 |
For the health checks, 0-100. |
| Still Active On Impact | bStillActiveOnImpact |
bool |
AI | EditAnywhere, BlueprintReadOnly | false |
For "Target has tag": pass only if the tag will still be on the target when this art lands. |
| Required | bRequired |
bool |
AI | EditAnywhere, BlueprintReadOnly | true |
Required: the art is not used unless this passes. Unticked: passing adds Bonus to its score. |
| Bonus | Bonus |
float |
AI | EditAnywhere, BlueprintReadOnly, EditCondition=!bRequired | 1.0 |
Score added when an optional condition passes. |
FXenoCoreArtEffectEntry¶
Struct · header XenoCoreRuntime/Public/Arts/XenoCoreArtDefinition.h · BlueprintType
One status an art applies - a debuff, a buff, or a reaction.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Effect | Effect |
TSubclassOf<class UGameplayEffect> |
Effect | EditAnywhere, BlueprintReadOnly | The status - pick from GE_XenoCore_Status_* or GE_XenoCore_Reaction_*. |
|
| Chance | Chance |
float |
Effect | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, ClampMax=1.0 | 1.0 |
Probability, 0 to 1, that this status is applied when the art lands. |
| Duration | Duration |
FScalableFloat |
Effect | EditAnywhere, BlueprintReadOnly | Seconds, scaled by art level, sent as XenoCore.Status.Duration. Leave at 0 only for a status with its own fixed duration, such as a reaction. |
|
| Magnitude | Magnitude |
FScalableFloat |
Effect | EditAnywhere, BlueprintReadOnly | Strength, scaled by art level; what it means is the status's own. 0 = not sent. | |
| Condition | Condition |
EXenoCoreArtEffectCondition |
Effect | EditAnywhere, BlueprintReadOnly | EXenoCoreArtEffectCondition::Always |
No description. |
| Recipient | Recipient |
EXenoCoreArtEffectRecipient |
Effect | EditAnywhere, BlueprintReadOnly | EXenoCoreArtEffectRecipient::Target |
Who this status lands on: each target hit, the user, or the whole party. |
| Announce Chance | bAnnounceChance |
bool |
Effect | EditAnywhere, BlueprintReadOnly | true |
For a positional condition (front / side / behind / in position): light the palette's Chance while the user stands there. So Air Slash's "Slow from the side" is announced like Back Slash's double damage from behind. |
FXenoCoreArtPositionalBonus¶
Struct · header XenoCoreRuntime/Public/Arts/XenoCoreArtDefinition.h · BlueprintType
A reward for where the user stands - XC1's "Chance".
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Position | Position |
EXenoCoreArtPositional |
Positional | EditAnywhere, BlueprintReadOnly | EXenoCoreArtPositional::Back |
Where the user must stand relative to the target to earn this bonus. |
| Power Multiplier | PowerMultiplier |
float |
Positional | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 2.0 |
Power x this when the user is in Position. 1 = no damage bonus (a Chance for its Effects only). |
| Announce Chance | bAnnounceChance |
bool |
Positional | EditAnywhere, BlueprintReadOnly | true |
Light the palette's blue ! and the "Chance!" wordmark while the user is in Position. |
FXenoCoreArtUnlock¶
Struct · derives from FTableRowBase · header XenoCoreRuntime/Public/Arts/XenoCoreArtDefinition.h · BlueprintType
One art a character learns, and where it starts on their bar - one row of a learnset table.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Art | Art |
TSoftObjectPtr<class UXenoCoreArtDefinition> |
Art | EditAnywhere, BlueprintReadOnly | The art this row teaches. | |
| Unlock Level | UnlockLevel |
int32 |
Art | EditAnywhere, BlueprintReadOnly, ClampMin=1 | 1 |
The character level at which this art is learned. |
| Default Slot | DefaultSlot |
int32 |
Art | EditAnywhere, BlueprintReadOnly, ClampMin=-1, ClampMax=7 | -1 |
The palette slot it starts in (0-based), or -1 to be learned but not equipped - which is what gives the player a swap to make. Only read when the palette is first built. |
UXenoCoreArtDefinition¶
Class · derives from UPrimaryDataAsset · header XenoCoreRuntime/Public/Arts/XenoCoreArtDefinition.h · BlueprintType
Everything a designer types about one art.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Ability Class | AbilityClass |
TSubclassOf<class UXenoCoreGameplayAbility_Art> |
Art | EditAnywhere, BlueprintReadOnly | The ability class granted when this art is equipped. Leave it at the shared art class and an art is one asset - this definition and nothing else. | |
| Display Name | DisplayName |
FText |
Art | EditAnywhere, BlueprintReadOnly | Shown on the palette slot and in the arts menu. | |
| Description | Description |
FText |
Art | EditAnywhere, BlueprintReadOnly | The line shown under the palette, after the name - "Deals damage from behind". | |
| Montage | Montage |
TObjectPtr<UAnimMontage> |
Art › Animation | EditAnywhere, BlueprintReadOnly | The strike itself. Played by UXenoCoreGameplayAbility_Art - no Blueprint graph required. |
|
| Montage Play Rate | MontagePlayRate |
float |
Art › Animation | EditAnywhere, BlueprintReadOnly, ClampMin=0.01 | 1.0 |
Play rate of the montage. Also moves the impact, which is a fraction of the played length. |
| Impact Fraction | ImpactFraction |
float |
Art › Animation | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, ClampMax=1.0 | 0.45 |
When in the montage the art lands, as a fraction of its play length. |
| Icon | Icon |
TObjectPtr<UTexture2D> |
Art | EditAnywhere, BlueprintReadOnly | The art's icon in menus. | |
| Palette Glyph | PaletteGlyph |
TObjectPtr<UMaterialInterface> |
Art › Palette | EditAnywhere, BlueprintReadOnly | The glyph drawn on the palette slot. A material, unlike Icon above. | |
| Glyph Colour | GlyphColour |
FLinearColor |
Art › Palette | EditAnywhere, BlueprintReadOnly | FLinearColor::White |
The glyph's colour when the art is available. Grey is the unavailable look. |
| Palette Order | PaletteOrder |
int32 |
Art › Palette | EditAnywhere, BlueprintReadOnly | 0 |
Fallback palette order for a pawn with no party record (lower is further left). Party characters use their palette slots instead. |
| Category | Category |
EXenoCoreArtCategory |
Art | EditAnywhere, BlueprintReadOnly | EXenoCoreArtCategory::Physical |
The art's type, which sets its colour on the palette. |
| Base Level Up Cost | BaseLevelUpCost |
int32 |
Art › Level | EditAnywhere, BlueprintReadOnly, ClampMin=0 | 300 |
AP to raise this art from I to ii. Each further level multiplies it by UXenoCoreProgressionComponent::ArtLevelCostMultipliers. |
| Effect Type | EffectType |
EXenoCoreArtEffect |
Art | EditAnywhere, BlueprintReadOnly | EXenoCoreArtEffect::Damage |
Whether the art deals damage, heals, or only applies its Effects. |
| Attribute | Attribute |
EXenoCoreArtAttribute |
Art | EditAnywhere, BlueprintReadOnly | EXenoCoreArtAttribute::Physical |
XC1's "Attribute": which stats the damage reads. |
| Target Type | TargetType |
EXenoCoreArtTargetType |
Art | EditAnywhere, BlueprintReadOnly | EXenoCoreArtTargetType::Enemy |
XC1's "Target". One ally opens the party selector (Light Heal); Whole party hits everyone with no choice to make; User is the caster alone. |
| Area | Area |
EXenoCoreArtArea |
Art › Area | EditAnywhere, BlueprintReadOnly | EXenoCoreArtArea::Single |
XC1's "Range" - how many enemies it reaches. |
| Area Radius | AreaRadius |
float |
Art › Area | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, EditCondition=Area != EXenoCoreArtArea::Single, Units=Centimeters |
500.0 |
Radius of a circle, or the length of a cone. Typed in cm; the editor shows the unit. |
| Cone Angle | ConeAngle |
float |
Art › Area | EditAnywhere, BlueprintReadOnly, ClampMin=1.0, ClampMax=360.0, EditCondition=Area == EXenoCoreArtArea::Cone, Units=Degrees |
90.0 |
Full width of a cone, in degrees. |
| Distance | Distance |
float |
Art | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=Centimeters | 420.0 |
XC1's "Distance" - how close to its target the user must be for the art to strike. Used from further away, the character runs in first. |
| Effects | Effects |
TArray<FXenoCoreArtEffectEntry> |
Art › Effects | EditAnywhere, BlueprintReadOnly | Every status this art applies - debuffs, buffs, and the Break / Topple / Daze reaction. | |
| Cooldown Duration | CooldownDuration |
FScalableFloat |
Art | EditAnywhere, BlueprintReadOnly | How long this art recharges for, in seconds. | |
| Cooldown Tag | CooldownTag |
FGameplayTag |
Art | EditAnywhere, BlueprintReadOnly | The tag that marks this art as recharging. Must be unique per art. | |
| Power | Power |
FScalableFloat |
Art | EditAnywhere, BlueprintReadOnly | The art's magnitude, scaled by art level. | |
| Positional Bonuses | PositionalBonuses |
TArray<FXenoCoreArtPositionalBonus> |
Art › Positional | EditAnywhere, BlueprintReadOnly | Where standing pays off - one entry per position, each with its multiplier and whether it announces a Chance. A list, so an art can reward the side and the back; it replaced a single PositionalRequirement, which migrates in on load. | |
| Hits | Hits |
int32 |
Art › Hits | EditAnywhere, BlueprintReadOnly, ClampMin=1, ClampMax=10 | 1 |
How many times the art strikes. Each hit deals the full Power. |
| Hit Spacing | HitSpacing |
float |
Art › Hits | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, ClampMax=1.0, EditCondition=Hits > 1 | 0.1 |
Gap between hits, as a fraction of the montage. The first lands at ImpactFraction. |
| Impact Event Tag | ImpactEventTag |
FGameplayTag |
Art › Hits | EditAnywhere, BlueprintReadOnly | Every time the montage sends this event is one hit. Empty = use ImpactFraction / Hits. | |
| Force Multiplier | ForceMultiplier |
float |
Art › Hits | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, UIMax=5.0 | 1.0 |
How hard each hit knocks its target back, as a multiple of the target's PushDistance. 0 = none. |
| Lunge Multiplier | LungeMultiplier |
float |
Art › Hits | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, UIMax=5.0 | 0.0 |
Lyra's melee lunge: the first connecting hit also drives the user into its target by the art ability's Lunge.Strength x this. 0 = none. |
| Talent Charge | TalentCharge |
float |
Art › Talent Gauge | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, ClampMax=100.0 | 0.0 |
Talent Gauge gained from this art, out of 100. 0 = none. |
| Talent Charge Per Enemy Hit | bTalentChargePerEnemyHit |
bool |
Art › Talent Gauge | EditAnywhere, BlueprintReadOnly, EditCondition=TalentCharge > 0.0 | false |
Pay TalentCharge for every enemy hit, on every hit, instead of once per cast. XC1: Stream Edge fills per enemy hit. |
| Threat | Threat |
float |
Art › Aggro | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 10.0 |
Temporary aggro drawn from each enemy struck: this x (user's level + 14). 0 = none. |
| Usable By AI | bUsableByAI |
bool |
Art › Companion AI | EditAnywhere, BlueprintReadOnly | true |
Untick to keep this art player-only. |
| AI Priority | AIPriority |
float |
Art › Companion AI | EditAnywhere, BlueprintReadOnly, EditCondition=bUsableByAI | 1.0 |
Base score for companion AI. The highest-scoring usable art wins; ties go to palette order. |
| AI Chain Bonus | AIChainBonus |
float |
Art › Companion AI | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, EditCondition=bUsableByAI | 3.0 |
Extra score while this art's reaction can land - a Topple effect on a Broken target, a Daze on a Toppled one. Read from Effects; 0 = off. |
| AI Wait For Reaction | bAIWaitForReaction |
bool |
Art › Companion AI | EditAnywhere, BlueprintReadOnly, EditCondition=bUsableByAI | true |
Hold this art until its reaction can land (a Topple art until the target is Broken, a Daze art until Toppled). |
| AI Conditions | AIConditions |
TArray<FXenoCoreArtAICondition> |
Art › Companion AI | EditAnywhere, BlueprintReadOnly, EditCondition=bUsableByAI | When a companion uses this art. Empty = whenever it is ready (a Heal art implicitly waits for an ally below the heal threshold). | |
| Cast FX | CastFX |
TObjectPtr<UFXSystemAsset> |
Art › Cosmetics | EditAnywhere, BlueprintReadOnly | Spawned on the user when the art starts. | |
| Cast Socket | CastSocket |
FName |
Art › Cosmetics | EditAnywhere, BlueprintReadOnly | Socket or bone on the user's mesh the cast FX and sound attach to. Empty = the character's root. | |
| Cast Sound | CastSound |
TObjectPtr<USoundBase> |
Art › Cosmetics | EditAnywhere, BlueprintReadOnly | Played on the user when the art starts. | |
| Impact FX | ImpactFX |
TObjectPtr<UFXSystemAsset> |
Art › Cosmetics | EditAnywhere, BlueprintReadOnly | Spawned on every target, on every hit, where the strike lands. | |
| Impact Sound | ImpactSound |
TObjectPtr<USoundBase> |
Art › Cosmetics | EditAnywhere, BlueprintReadOnly | Played on every target, on every hit, where the strike lands. | |
| Area FX | AreaFX |
TObjectPtr<UFXSystemAsset> |
Art › Cosmetics | EditAnywhere, BlueprintReadOnly, EditCondition=Area != EXenoCoreArtArea::Single |
Spawned once per hit at the centre of an area art, on the ground. | |
| Area FX Authored Radius | AreaFXAuthoredRadius |
float |
Art › Cosmetics | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, EditCondition=Area != EXenoCoreArtArea::Single, Units=Centimeters |
0.0 |
The radius, in cm, the AreaFX was authored at - it is scaled by AreaRadius / this. 0 = never scaled. |
| Tint FX By Category | bTintFXByCategory |
bool |
Art › Cosmetics | EditAnywhere, BlueprintReadOnly | true |
Tint the Cast, Impact and Area FX with this art's category colour (Niagara User.Color). |
| Hit Feedback | bHitFeedback |
bool |
Art › Cosmetics | EditAnywhere, BlueprintReadOnly | true |
Play the hit shake and controller rumble when the art lands. Off for a gentle art. |
| Hit Camera Shake | HitCameraShake |
TSubclassOf<UCameraShakeBase> |
Art › Cosmetics | EditAnywhere, BlueprintReadOnly, EditCondition=bHitFeedback | A different camera shake for this art's hits. Empty = the shared hit shake and rumble. |
UXenoCoreGameplayAbility_Art¶
Class · derives from ULyraGameplayAbility · header XenoCoreRuntime/Public/Arts/XenoCoreGameplayAbility_Art.h · abstract
The base every XC1 Art is authored on. Reads everything it does from a UXenoCoreArtDefinition.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Contact Reach Tolerance | ContactReachTolerance |
float |
XenoCore › Art | EditDefaultsOnly, ClampMin=0.0 | 60.0 |
Extra reach, in cm, at the moment of impact only, never at activation - the auto-attack's own rule and its own number. Without it a small drift during the windup whiffs a strike that was in range. |
| Art Deadline Margin | ArtDeadlineMargin |
float |
XenoCore › Art | EditDefaultsOnly, ClampMin=0.0 | 0.35 |
Grace, in seconds, after the montage's expected end before the failsafe ends the art. |
| Art Face Time | ArtFaceTime |
float |
XenoCore › Art | EditDefaultsOnly, ClampMin=0.0 | 0.12 |
Seconds to turn onto the target at the start of an art. Zero snaps. |
| Lunge | Lunge |
FXenoCoreHitLunge |
XenoCore › Art | EditDefaultsOnly | The lunge for this art's first connecting hit. | |
| Default Cooldown Effect Class | DefaultCooldownEffectClass |
TSoftClassPtr<UGameplayEffect> |
XenoCore › Art | EditDefaultsOnly | The cooldown effect used when this ability's own Cooldown Gameplay Effect Class is unset. | |
| Talent Charge Effect | TalentChargeEffect |
TSoftClassPtr<UGameplayEffect> |
XenoCore › Art | EditDefaultsOnly | The instant effect an art's TalentCharge is paid through - the auto-attack's own GE_XenoCore_TalentCharge, one operation "add X to the gauge". Defaulted in the constructor. |
|
| Art Data | ArtData |
TObjectPtr<const UXenoCoreArtDefinition> |
XenoCore › Art | EditDefaultsOnly, BlueprintReadOnly | The art this ability runs as by default. A spec granted with a definition as its source object uses that instead. | |
| Art Effect | ArtEffect |
TSubclassOf<UGameplayEffect> |
XenoCore › Art | EditDefaultsOnly | Carries the art's magnitude onto Lyra's Damage or Healing meta attribute. | |
| Heal Art Effect | HealArtEffect |
TSubclassOf<UGameplayEffect> |
XenoCore › Art | EditDefaultsOnly | The effect a heal art applies. Null means ArtEffect. | |
| Front Angle | FrontAngle |
float |
XenoCore › Art › Positional | EditDefaultsOnly, ClampMin=0.0, ClampMax=180.0 | 60.0 |
Half-angle of the target's front cone, in degrees. Between this and BackAngle is "side"; beyond BackAngle is "behind". |
| Back Angle | BackAngle |
float |
XenoCore › Art › Positional | EditDefaultsOnly, ClampMin=0.0, ClampMax=180.0 | 120.0 |
Angle from the target's facing, in degrees, beyond which the user counts as behind it. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Art Data | Pure | const UXenoCoreArtDefinition* GetArtData() const |
The art's data. |
| Is Positional Satisfied | Pure | bool IsPositionalSatisfied(const AActor* Target) const |
Is the avatar standing where this art wants, relative to Target? |
| Is Positional Satisfied Between | Pure | bool IsPositionalSatisfiedBetween(const AActor* Attacker, const AActor* Target, EXenoCoreArtPositional Requirement, float InFrontAngle = 60.0f, float InBackAngle = 120.0f) |
The positional test without an ability instance, so the HUD can ask the same question. |
| Get Effective Power | Pure | float GetEffectivePower(const AActor* Target) const |
Power, including the positional multiplier when IsPositionalSatisfied. |
| Apply Art Effect | Callable | void ApplyArtEffect(AActor* Target) |
Apply the art to a target: magnitude, the positional rider, and the reaction tag. |
| Begin Strike | Callable | void BeginStrike(AActor* Target) |
Aim the character at Target and take yaw ownership for the strike. |
UXenoCoreGameplayAbility_TalentArt¶
Class · derives from UXenoCoreGameplayAbility_Art · header XenoCoreRuntime/Public/Arts/XenoCoreGameplayAbility_TalentArt.h · abstract
The Talent Art - XC1's gauge-paid art. Ours is Turn Strike, the Junk Sword's.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Talent Gauge Effect | TalentGaugeEffect |
TSubclassOf<UGameplayEffect> |
XenoCore › Talent | EditDefaultsOnly | The instant effect that moves the gauge. The same asset the auto-attack charges with. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Talent Art Data | Pure | const UXenoCoreTalentArtDefinition* GetTalentArtData() const |
The talent-flavoured view of ArtData. |
| Get Gauge Cost | Pure | float GetGaugeCost() const |
How much gauge this art costs, or 0 if it carries no talent definition. |
| Get Current Gauge | Pure | float GetCurrentGauge() const |
Current gauge on the avatar. |
UXenoCoreTalentArtDefinition¶
Class · derives from UXenoCoreArtDefinition · header XenoCoreRuntime/Public/Arts/XenoCoreTalentArtDefinition.h · BlueprintType
An art paid for with the Talent Gauge rather than a cooldown. XC1 calls these Talent Arts.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Gauge Cost | GaugeCost |
float |
Talent Art | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, ClampMax=100.0 | 100.0 |
Talent Gauge spent to use it, out of UXenoCoreStatSet::TalentGaugeMax (100). |
XenoCoreRuntime / Audio¶
AXenoCoreAreaMusic¶
Class · derives from AActor · header XenoCoreRuntime/Public/Audio/XenoCoreAreaMusic.h · Blueprintable
No description.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Field Music | FieldMusic |
TObjectPtr<USoundBase> |
Music › Field | EditAnywhere, BlueprintReadOnly | Played while the party is exploring. Empty = silence out of battle. | |
| Field Volume | FieldVolume |
float |
Music › Field | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, UIMax=2.0 | 1.0 |
Volume of the field track (it is faded to and from this). |
| Field Start Fade Seconds | FieldStartFadeSeconds |
float |
Music › Field | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=s | 3.0 |
Fade-in when the map starts. |
| Resume Field Music | bResumeFieldMusic |
bool |
Music › Field | EditAnywhere, BlueprintReadOnly | true |
True: after a battle the field track continues from where it was cut. False: from the top. |
| Field Music Night | FieldMusicNight |
TObjectPtr<USoundBase> |
Music › Field | EditAnywhere, BlueprintReadOnly | Played while exploring at night. Empty = the field track plays at night too. | |
| Field Night Volume | FieldNightVolume |
float |
Music › Field | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, UIMax=2.0 | 1.0 |
Volume of the night track. |
| Day Night Fade Seconds | DayNightFadeSeconds |
float |
Music › Transitions | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=s | 5.0 |
Crossfade between the day and night field tracks. |
| Weather Duck Seconds | WeatherDuckSeconds |
float |
Music › Transitions | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=s | 4.0 |
How long the music takes to follow a weather change in volume. |
| Battle Music | BattleMusic |
TObjectPtr<USoundBase> |
Music › Battle | EditAnywhere, BlueprintReadOnly | Played while the party is in battle. Empty = the field track keeps playing through fights. | |
| Battle Volume | BattleVolume |
float |
Music › Battle | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, UIMax=2.0 | 1.0 |
Volume of the battle track. |
| Enter Battle Fade Seconds | EnterBattleFadeSeconds |
float |
Music › Transitions | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=s | 1.0 |
Crossfade length when a battle starts (field out, battle in). |
| Leave Battle Fade Seconds | LeaveBattleFadeSeconds |
float |
Music › Transitions | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=s | 2.5 |
Crossfade length when a battle ends without a win (fled, or the enemy gave up). |
| Victory Fade Seconds | VictoryFadeSeconds |
float |
Music › Transitions | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=s | 0.75 |
How fast the battle track fades on a win, under the victory fanfare. |
| Field Return Fade Seconds | FieldReturnFadeSeconds |
float |
Music › Transitions | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=s | 3.0 |
Fade-in of the field track once the battle is over. |
| Poll Seconds | PollSeconds |
float |
Music › Transitions | EditAnywhere, AdvancedDisplay, ClampMin=0.05, Units=s | 0.2 |
How often the battle state is read. |
| Field Audio | FieldAudio |
TObjectPtr<UAudioComponent> |
Music | VisibleAnywhere | No description. | |
| Field Night Audio | FieldNightAudio |
TObjectPtr<UAudioComponent> |
Music | VisibleAnywhere | No description. | |
| Battle Audio | BattleAudio |
TObjectPtr<UAudioComponent> |
Music | VisibleAnywhere | No description. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Is Battle Music Active | Pure | bool IsBattleMusicActive() const |
True while the battle track owns the music. |
XenoCoreRuntime / Battle¶
EXenoCoreAttackTargetSource¶
Enum · header XenoCoreRuntime/Public/Battle/XenoCoreGameplayAbility_AutoAttack.h · BlueprintType
Where a swinging actor gets the thing it is swinging at.
| Value | Shown as | Description |
|---|---|---|
TargetLock |
Target Lock | The player's target-lock selection. |
NearestHostile |
Nearest Hostile | Enemies, and party AI later. |
FXenoCoreBattleWonMessage¶
Struct · header XenoCoreRuntime/Public/Battle/XenoCoreBattleVictorySubsystem.h · BlueprintType
The payload on XenoCore.Battle.Message.Won.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Celebrants | Celebrants |
TArray<TObjectPtr<ACharacter>> |
XenoCore › Battle | BlueprintReadOnly | Every living party body that was told to sheathe and celebrate. |
FXenoCoreHitLunge¶
Struct · header XenoCoreRuntime/Public/Battle/XenoCoreHitLunge.h · BlueprintType
No description.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Strength | Strength |
float |
XenoCore › Lunge | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=CentimetersPerSecond | 2200.0 |
Lunge speed at ForceMultiplier 1 and a target Distance away, in cm/s. Lyra: 2200. |
| Distance | Distance |
float |
XenoCore › Lunge | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=Centimeters | 350.0 |
The gap, in cm, at which the lunge reaches full Strength; closer is weaker, further is stronger. Lyra: 350. |
| Duration | Duration |
float |
XenoCore › Lunge | EditAnywhere, BlueprintReadOnly, ClampMin=0.01, Units=Seconds | 0.05 |
How long the force is applied, in seconds. Lyra: 0.05. |
| Is Additive | bIsAdditive |
bool |
XenoCore › Lunge | EditAnywhere, BlueprintReadOnly | true |
Additive rides on the attacker's own movement (Lyra); off replaces it for the duration. |
| Strength Over Time | StrengthOverTime |
TObjectPtr<UCurveFloat> |
XenoCore › Lunge | EditAnywhere, BlueprintReadOnly | Scales the force across Duration (X 0-1). None = constant. | |
| Velocity On Finish Mode | VelocityOnFinishMode |
ERootMotionFinishVelocityMode |
XenoCore › Lunge | EditAnywhere, BlueprintReadOnly | ERootMotionFinishVelocityMode::MaintainLastRootMotionVelo... |
What the attacker's velocity does when the force ends. Lyra: keep the last root-motion velocity. |
| Set Velocity On Finish | SetVelocityOnFinish |
FVector |
XenoCore › Lunge | EditAnywhere, BlueprintReadOnly | FVector::ZeroVector |
Velocity set on finish when the mode is SetVelocity. Lyra: zero. |
| Clamp Velocity On Finish | ClampVelocityOnFinish |
float |
XenoCore › Lunge | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=CentimetersPerSecond | 1000.0 |
Speed cap on finish when the mode is ClampVelocity, in cm/s. Lyra: 1000. |
| Enable Gravity | bEnableGravity |
bool |
XenoCore › Lunge | EditAnywhere, BlueprintReadOnly | true |
Gravity keeps acting during the lunge. Lyra: on. |
FXenoCoreThreatEntry¶
Struct · header XenoCoreRuntime/Public/Battle/XenoCoreThreatComponent.h · BlueprintType
One combatant's standing with one enemy. Two of XC1's three pools; Mad Taunt is not built.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Permanent | Permanent |
float |
XenoCore › Threat | BlueprintReadOnly | 1.0 |
From damage dealt and healing done. Never decays. |
| Temporary | Temporary |
float |
XenoCore › Threat | BlueprintReadOnly | 1.0 |
From using arts. Drains at TemporaryDecayPerSecond. |
UXenoCoreAggroIndicatorComponent¶
Class · derives from UActorComponent · header XenoCoreRuntime/Public/Battle/XenoCoreAggroIndicatorComponent.h
Shows who an enemy is after: a red ring under its target. Presentation only.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Ring System | RingSystem |
TSoftObjectPtr<UNiagaraSystem> |
XenoCore › Aggro | EditAnywhere, BlueprintReadOnly | The ring drawn at the target's feet. Size is the system's User.RingSize. | |
| Ring Lift | RingLift |
float |
XenoCore › Aggro | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=Centimeters | 8.0 |
Lift the ring off the ground this far, so it is not lost in grass. The decal projects downward from here. |
| Hide Grace | HideGrace |
float |
XenoCore › Aggro | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=Seconds | 0.4 |
Keep showing for this long after the target reads empty, so a one-frame gap does not blink the ring. |
UXenoCoreBattleVictorySubsystem¶
Class · derives from UWorldSubsystem · header XenoCoreRuntime/Public/Battle/XenoCoreBattleVictorySubsystem.h
Decides that a battle was won, plays the fanfare, and has the party disarm and celebrate.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Celebrate | Callable | void Celebrate() |
Run the won sequence now, whether or not a fight just ended - for scripted wins and testing. |
| Is Celebrating | Pure | bool IsCelebrating() const |
True while any body is still sheathing towards, or playing, its victory emote. |
UXenoCoreGameplayAbility_AutoAttack¶
Class · derives from ULyraGameplayAbility · header XenoCoreRuntime/Public/Battle/XenoCoreGameplayAbility_AutoAttack.h · abstract
The free auto-attack that runs while engaged.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Incapacitated Tags | IncapacitatedTags |
FGameplayTagContainer |
XenoCore › AutoAttack | EditDefaultsOnly | While the attacker carries any of these it does not swing: the loop pauses, a one-shot ends, and a swing already in flight does not connect. | |
| Talent Charge Effect | TalentChargeEffect |
TSubclassOf<UGameplayEffect> |
XenoCore › Talent | EditDefaultsOnly | Instant effect carrying the charge onto the attacker's TalentGauge. | |
| Attack Range | AttackRange |
float |
XenoCore › AutoAttack | EditDefaultsOnly, ClampMin=0.0 | 420.0 |
How far the swing reaches. |
| Contact Reach Tolerance | ContactReachTolerance |
float |
XenoCore › Attack | EditDefaultsOnly, ClampMin=0.0 | 60.0 |
Extra reach allowed at contact only, never when starting a swing. |
| Force Multiplier | ForceMultiplier |
float |
XenoCore › Attack | EditDefaultsOnly, ClampMin=0.0, UIMax=5.0 | 1.0 |
How hard each landed swing knocks its target back, as a multiple of the target's PushDistance. 0 = none. |
| Lunge Multiplier | LungeMultiplier |
float |
XenoCore › Attack | EditDefaultsOnly, ClampMin=0.0, UIMax=5.0 | 0.0 |
Lyra's melee lunge: each connecting swing also drives the attacker into its target by Lunge.Strength x this. 0 = none. |
| Lunge | Lunge |
FXenoCoreHitLunge |
XenoCore › Attack | EditDefaultsOnly | The lunge itself - Lyra's GA_Melee values by default. |
|
| Target Source | TargetSource |
EXenoCoreAttackTargetSource |
XenoCore › AutoAttack | EditDefaultsOnly | EXenoCoreAttackTargetSource::TargetLock |
Where to get the target. Data, not a subclass - the player and an enemy differ by this and bRequiresArming and nothing else, so a bespoke C++ ability per attacker would be two classes to express two booleans. |
| Requires Arming | bRequiresArming |
bool |
XenoCore › AutoAttack | EditDefaultsOnly | true |
Whether this attacker draws before swinging. |
| Swing Recovery | SwingRecovery |
float |
XenoCore › AutoAttack | EditDefaultsOnly, ClampMin=0.0 | 0.35 |
Idle gap between one swing finishing and the next starting. |
| Out Of Range Retry | OutOfRangeRetry |
float |
XenoCore › AutoAttack | EditDefaultsOnly, ClampMin=0.05 | 0.2 |
How often to re-check reach while paused out of range. Cheap, so it can be responsive. |
| Arm Poll | ArmPoll |
float |
XenoCore › AutoAttack | EditDefaultsOnly, ClampMin=0.02 | 0.05 |
How often to re-check whether the draw has finished. |
| Damage Effect | DamageEffect |
TSubclassOf<UGameplayEffect> |
XenoCore › AutoAttack | EditDefaultsOnly | The damage effect each landed swing applies. Without one the attack deals no damage. | |
| Attack Montages | AttackMontages |
TArray<TObjectPtr<UAnimMontage>> |
XenoCore › AutoAttack | EditDefaultsOnly | Swing animations, played in order and wrapped - Kwang's A/B/C primary chain. | |
| Attack Montages Stationary | AttackMontagesStationary |
TArray<TObjectPtr<UAnimMontage>> |
XenoCore › AutoAttack | EditDefaultsOnly | The same swings on the full body slot, played when the character is standing still. | |
| Face Target On Attack | bFaceTargetOnAttack |
bool |
XenoCore › AutoAttack | EditDefaultsOnly | false |
Snap the avatar's yaw onto the target when a swing starts. |
| Face Target Turn Rate | FaceTargetTurnRate |
float |
XenoCore › Attack | EditDefaultsOnly, ClampMin=0.0 | 0.0 |
Defaults to 0 - the one-frame snap. Turning is opt-in, because it changes how every attack in the game looks. |
| Root Motion When Stationary | bRootMotionWhenStationary |
bool |
XenoCore › AutoAttack | EditDefaultsOnly | true |
Let a stationary swing drive the capsule from its root motion, and ignore root motion entirely while moving. |
| Cancel Full Body On Move | bCancelFullBodyOnMove |
bool |
XenoCore › AutoAttack | EditDefaultsOnly | true |
Hand a full-body swing over to its upper-body twin the moment the player starts moving. |
| Full Body Cancel Blend Out | FullBodyCancelBlendOut |
float |
XenoCore › AutoAttack | EditDefaultsOnly, ClampMin=0.0 | 0.1 |
Blend used when handing the swing over. Short, or the legs slide through the blend. |
| Additional Effects | AdditionalEffects |
TArray<TSubclassOf<UGameplayEffect>> |
XenoCore › AutoAttack | EditDefaultsOnly | Extra effects applied to the target on a landed hit, alongside the damage. | |
| Loop Swings | bLoopSwings |
bool |
XenoCore › AutoAttack | EditDefaultsOnly | true |
Keep swinging on a timer. True for an auto-attack, false for an art. |
| Stationary Speed Threshold | StationarySpeedThreshold |
float |
XenoCore › AutoAttack | EditDefaultsOnly, ClampMin=0.0 | 20.0 |
Below this ground speed the character counts as standing still. |
| Montage Play Rate | MontagePlayRate |
float |
XenoCore › AutoAttack | EditDefaultsOnly, ClampMin=0.1 | 1.0 |
Clips run ~1.2s; raise this for XC1's snappier read without re-authoring them. |
UXenoCoreGameplayAbility_DazeReact¶
Class · derives from UXenoCoreGameplayAbility_KnockdownReact · header XenoCoreRuntime/Public/Battle/XenoCoreGameplayAbility_KnockdownReact.h · abstract
Status.XenoCore.Reaction.Daze arrived.
UXenoCoreGameplayAbility_DefenceReact¶
Class · derives from UXenoCoreGameplayAbility_Reaction · header XenoCoreRuntime/Public/Battle/XenoCoreGameplayAbility_DefenceReact.h · abstract
No description.
UXenoCoreGameplayAbility_Downed¶
Class · derives from ULyraGameplayAbility · header XenoCoreRuntime/Public/Battle/XenoCoreGameplayAbility_Downed.h · Blueprintable
A party member at 0 HP: kneels, cannot act, and waits for a revive. Replaces GA_Hero_Death on the party.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Enter Anim | EnterAnim |
TObjectPtr<UAnimSequenceBase> |
XenoCore › Downed | EditDefaultsOnly, BlueprintReadOnly | Played once as the body goes down. | |
| Loop Anim | LoopAnim |
TObjectPtr<UAnimSequenceBase> |
XenoCore › Downed | EditDefaultsOnly, BlueprintReadOnly | Looped while down. | |
| Get Up Anim | GetUpAnim |
TObjectPtr<UAnimSequenceBase> |
XenoCore › Downed | EditDefaultsOnly, BlueprintReadOnly | Played once on revive, ending standing. | |
| Slot Name | SlotName |
FName |
XenoCore › Downed | EditDefaultsOnly, BlueprintReadOnly | "FullBody" |
The montage slot all three play on. Use a full-body slot, or the legs keep walking. |
UXenoCoreGameplayAbility_EvadeReact¶
Class · derives from UXenoCoreGameplayAbility_DefenceReact · header XenoCoreRuntime/Public/Battle/XenoCoreGameplayAbility_DefenceReact.h · abstract
The defender evaded - XenoCore.Event.Combat.Evade. Owns Status.XenoCore.Defence.Evade.
UXenoCoreGameplayAbility_GuardReact¶
Class · derives from UXenoCoreGameplayAbility_DefenceReact · header XenoCoreRuntime/Public/Battle/XenoCoreGameplayAbility_DefenceReact.h · abstract
The defender blocked a physical hit - XenoCore.Event.Combat.Block. Owns Status.XenoCore.Defence.Guard.
UXenoCoreGameplayAbility_HitReact¶
Class · derives from UXenoCoreGameplayAbility_Reaction · header XenoCoreRuntime/Public/Battle/XenoCoreGameplayAbility_HitReact.h · abstract
Plays a directional flinch when something lands a hit on this pawn.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Flinch On Hit | bFlinchOnHit |
bool |
XenoCore › HitReact | EditDefaultsOnly, BlueprintReadOnly | false |
Play the flinch when hit. Off = no flinch montage; the knockback still applies. |
| Push Distance | PushDistance |
float |
XenoCore › HitReact › Push | EditDefaultsOnly, ClampMin=0.0, Units=Centimeters | 60.0 |
How far a hit at ForceMultiplier 1 knocks this body back, in cm. 0 = never pushed. |
| Push Time | PushTime |
float |
XenoCore › HitReact › Push | EditDefaultsOnly, ClampMin=0.02, Units=Seconds | 0.12 |
How long the knockback takes, in seconds. |
| Push Strength Over Time | PushStrengthOverTime |
TObjectPtr<UCurveFloat> |
XenoCore › HitReact › Push | EditDefaultsOnly | Shapes the knockback over PushTime (X 0-1 = normalised time, Y = strength). None = constant. | |
| Flinch Suppressed By Tags | FlinchSuppressedByTags |
FGameplayTagContainer |
XenoCore › HitReact | EditDefaultsOnly | While the pawn carries any of these, a flinch does not play. |
UXenoCoreGameplayAbility_KnockdownReact¶
Class · derives from UXenoCoreGameplayAbility_Reaction · header XenoCoreRuntime/Public/Battle/XenoCoreGameplayAbility_KnockdownReact.h · abstract
No description.
UXenoCoreGameplayAbility_Reaction¶
Class · derives from ULyraGameplayAbility · header XenoCoreRuntime/Public/Battle/XenoCoreGameplayAbility_Reaction.h · abstract
Base for a body's reaction - flinch, knockdown, guard, recoil, dodge. Machinery only.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Profile Key | ProfileKey |
FGameplayTag |
XenoCore › Reaction | EditDefaultsOnly, Categories=Anim.XenoCore.Reaction |
Which row of the character's anim profile this reaction reads. Empty = always its own montages. | |
| Directional Montages | DirectionalMontages |
TArray<TObjectPtr<UAnimMontage>> |
XenoCore › Reaction | EditDefaultsOnly | Front, Back, Left, Right - in that order. Any entry may be null; that direction no-ops. | |
| Random Montages | RandomMontages |
TArray<TObjectPtr<UAnimMontage>> |
XenoCore › Reaction | EditDefaultsOnly | If set, each activation plays one of these at random instead of the directional montage. A profile row still overrides. | |
| Play Rate | PlayRate |
float |
XenoCore › Reaction | EditDefaultsOnly, ClampMin=0.1 | 1.0 |
Play rate of the reaction montage. |
| Hold Until Montage Ends | bHoldUntilMontageEnds |
bool |
XenoCore › Reaction | EditDefaultsOnly | false |
Hold the ability open until the montage finishes, instead of ending on the same frame. |
| Hold While Trigger Tag Present | bHoldWhileTriggerTagPresent |
bool |
XenoCore › Reaction | EditDefaultsOnly, EditCondition=bHoldUntilMontageEnds | false |
Hold the reaction for exactly as long as the tag that triggered it stays on the ASC - not for the montage's length. |
| Follow Up Montage | FollowUpMontage |
TObjectPtr<UAnimMontage> |
XenoCore › Reaction | EditDefaultsOnly, EditCondition=bHoldUntilMontageEnds | Played after the main montage, crossfaded into it. Empty means no follow-up. | |
| Front Back Half Angle | FrontBackHalfAngle |
float |
XenoCore › Reaction | EditDefaultsOnly, ClampMin=5.0, ClampMax=90.0 | 45.0 |
Half-angle, in degrees, of the cone counted as front or back. |
UXenoCoreGameplayAbility_RecoilReact¶
Class · derives from UXenoCoreGameplayAbility_DefenceReact · header XenoCoreRuntime/Public/Battle/XenoCoreGameplayAbility_DefenceReact.h · abstract
The attacker's hit was blocked - XenoCore.Event.Combat.Blocked. Owns Status.XenoCore.Defence.Recoil.
UXenoCoreGameplayAbility_ToppleReact¶
Class · derives from UXenoCoreGameplayAbility_KnockdownReact · header XenoCoreRuntime/Public/Battle/XenoCoreGameplayAbility_KnockdownReact.h · abstract
Status.XenoCore.Reaction.Topple arrived.
UXenoCoreStatusEffect¶
Class · derives from UGameplayEffect · header XenoCoreRuntime/Public/Battle/XenoCoreStatusEffect.h · Blueprintable
A status - a debuff or a buff - that knows how to present itself.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Display Name | DisplayName |
FText |
Status | EditDefaultsOnly, BlueprintReadOnly | "Slow", "Strength Down" - the popup over the character, and the Arts menu's effect line. | |
| Abbreviation | Abbreviation |
FText |
Status | EditDefaultsOnly, BlueprintReadOnly | Two or three characters drawn on the HUD icon when no Icon texture is set - "slw", "str". | |
| Colour | Colour |
FLinearColor |
Status | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.6, 0.35, 0.85, 1.0) |
The popup's colour and the icon's fill. |
| Icon | Icon |
TObjectPtr<UTexture2D> |
Status | EditDefaultsOnly, BlueprintReadOnly | Optional art for the HUD icon. Unset, the icon is the Colour with the Abbreviation on it. | |
| Is Buff | bIsBuff |
bool |
Status | EditDefaultsOnly, BlueprintReadOnly | false |
Good for whoever has it. Buffs sort after debuffs on the HUD. |
UXenoCoreStatusPercentCalc¶
Class · derives from UGameplayModMagnitudeCalculation · header XenoCoreRuntime/Public/Battle/XenoCoreStatusPercentCalc.h
A status's strength, as a percentage the applier sends - "Agility Up 15 %".
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Default Percent | DefaultPercent |
float |
XenoCore › Status | EditDefaultsOnly, ClampMin=0.0, UIMin=0.0 | 30.0 |
The strength, in percent, used when the applier sends no XenoCore.Status.Magnitude (30 = x1.3 for an Up, x0.7 for a Down). |
UXenoCoreThreatComponent¶
Class · derives from UActorComponent · header XenoCoreRuntime/Public/Battle/XenoCoreThreatComponent.h
What one enemy thinks of each party member, and therefore who it attacks. XC1's aggro: damage dealt and healing done build it, arts build a temporary share that drains, damage taken lowers it, and the enemy targets whoever holds the most.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Temporary Decay Per Second | TemporaryDecayPerSecond |
float |
XenoCore › Threat | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.0 | 75.0 |
XC1 Definitive Edition's rate. The original Wii release drained 60 per second. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Find Threat Component | Pure | UXenoCoreThreatComponent* FindThreatComponent(const AActor* Actor) |
The threat component on an actor (an enemy), or null. |
| Begin Battle | Callable | void BeginBattle() |
Start a fight: every active party member at 1, the leader first, so the leader is targeted. |
| Reset Threat | Callable | void ResetThreat() |
Forget everyone. |
| Select Target | Callable | AActor* SelectTarget() |
Who to attack: the highest total, keeping the current target on a tie. |
| Get Current Target | Pure | AActor* GetCurrentTarget() const |
The target SelectTarget last returned, without re-evaluating. |
| Is Tracking Anyone | Pure | bool IsTrackingAnyone() const |
True while anyone is tracked - i.e. this enemy is in a fight. |
| Get Threat For | Pure | float GetThreatFor(const AActor* Combatant) const |
Total aggro Combatant holds with this enemy, or 0 if untracked. |
| Add Permanent Threat | Callable | void AddPermanentThreat(AActor* Combatant, float Amount) |
Add directly. |
| Add Temporary Threat | Callable | void AddTemporaryThreat(AActor* Combatant, float Amount) |
Add to the temporary share, which drains at Temporary Decay Per Second. |
XenoCoreRuntime / Camera¶
UXenoCoreGameplayAbility_CameraRecentre¶
Class · derives from ULyraGameplayAbility · header XenoCoreRuntime/Public/Camera/XenoCoreGameplayAbility_CameraRecentre.h · abstract
R3: swing the camera back behind whoever the player is driving.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Recentre Duration | RecentreDuration |
float |
XenoCore › Camera | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.0 | 0.35 |
Seconds the sweep runs. 0 or less snaps. |
| Recentre Interp Speed | RecentreInterpSpeed |
float |
XenoCore › Camera | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.0 | 8.0 |
RInterpTo speed. Higher settles faster. |
| Recentre Pitch | RecentrePitch |
float |
XenoCore › Camera | EditDefaultsOnly, BlueprintReadOnly, ClampMin=-89.0, ClampMax=89.0 | -10.0 |
Pitch the camera settles at, in degrees. Negative looks down onto the character. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Recentre Rotation | Pure | FRotator GetRecentreRotation(const AActor* Avatar) const |
Where the camera ends up, given the avatar: pitch RecentrePitch, the avatar's yaw, no roll. |
XenoCoreRuntime / Characters¶
AXenoCoreCombatantCharacter¶
Class · derives from ALyraCharacterWithAbilities · header XenoCoreRuntime/Public/Characters/XenoCoreCombatantCharacter.h · abstract · Blueprintable
No description.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Revive Verb | ReviveVerb |
FText |
XenoCore › Party › Revive | EditDefaultsOnly, BlueprintReadOnly | NSLOCTEXT("XenoCore", "ReviveVerb", "Revive") |
The prompt's word over a downed body. |
| Talk Verb | TalkVerb |
FText |
XenoCore › Party › Talk | EditDefaultsOnly, BlueprintReadOnly | NSLOCTEXT("XenoCore", "TalkVerb", "Talk") |
The prompt's word over a companion out of battle. Empty = not talkable. |
| Interact Range | InteractRange |
float |
XenoCore › Interaction | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=cm | 110.0 |
How close the leader must be to offer Talk, in cm from the actor's origin. |
| Talk Max Leader Speed | TalkMaxLeaderSpeed |
float |
XenoCore › Interaction | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=cm/s | 50.0 |
Talk is offered only while the leader moves slower than this. Stop, then walk up to the one you want. |
| Combatant Pawn Data | CombatantPawnData |
TObjectPtr<const ULyraPawnData> |
XenoCore › Combatant | EditDefaultsOnly | The pawn data this combatant initialises itself from. | |
| Combatant Level | CombatantLevel |
int32 |
XenoCore › Combatant | EditAnywhere, BlueprintReadOnly, ClampMin=1 | 1 |
This combatant's level. |
| Self Initialise Ability System | bSelfInitialiseAbilitySystem |
bool |
XenoCore › Combatant | EditDefaultsOnly | true |
Run the PlayerState-less initialisation in PostInitializeComponents. |
| Keep Body On Death | bKeepBodyOnDeath |
bool |
XenoCore › Combatant | EditDefaultsOnly | false |
Keep the body - and therefore the ASC - when this combatant dies, instead of destroying it. |
| Stats Effect | StatsEffect |
TSubclassOf<UGameplayEffect> |
XenoCore › Combatant | EditDefaultsOnly | The per-type stat effect, applied at CombatantLevel. | |
| Anim Profile | AnimProfile |
TObjectPtr<UXenoCoreCharacterAnimProfile> |
XenoCore › Animation | EditDefaultsOnly, BlueprintReadOnly | This character's own combat clips. Empty slots fall back to the defaults. | |
| AI Steering | AISteering |
FXenoCoreAISteering |
XenoCore › Movement | EditDefaultsOnly, BlueprintReadOnly | How this body moves while an AI drives it. Off by default; party bodies turn it on. | |
| Art Learn Table | ArtLearnTable |
TSoftObjectPtr<UDataTable> |
XenoCore › Arts | EditDefaultsOnly | This character's learnset - a DataTable of XenoCoreArtUnlock rows: art, unlock level, starting slot. | |
| Skill Tree | SkillTree |
TSoftObjectPtr<UDataTable> |
XenoCore › Skills | EditDefaultsOnly | This character's skill tree - a DataTable of FXenoCoreSkillBranchRow, one row per branch. |
|
| Member Definition | MemberDefinition |
TObjectPtr<UXenoCorePartyMemberDefinition> |
XenoCore › Party | BlueprintReadOnly | No description. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Combatant Level | Pure | int32 GetCombatantLevel() const |
This combatant's level, and the X input into every stat curve. |
| Get Combatant Pawn Data | Pure | const ULyraPawnData* GetCombatantPawnData() const |
The PawnData this combatant initialises from, or null if it was never set. |
| Get Stats Effect | Pure | TSubclassOf<UGameplayEffect> GetStatsEffect() const |
The statline effect this combatant applies at its level. |
| Apply Authored Statline | Callable | void ApplyAuthoredStatline() |
Apply the authored statline now, for a path that did not run PostInitializeComponents' half. |
| Revive | Callable | bool Revive(float HealthFraction = 1.0f) |
Put a downed combatant back on its feet at HealthFraction of maximum. |
| Is Downed | Pure | bool IsDowned() const |
True while this combatant is down - dying or dead, but still present and revivable. |
| Get Member Definition | Pure | UXenoCorePartyMemberDefinition* GetMemberDefinition() const |
The roster entry this combatant is playing, or null if it is not a party character. |
| Get Member Display Name | Pure | FText GetMemberDisplayName() const |
The name shown on HUD plates and the Party screen. |
| Resolve Effective Level | Pure | int32 ResolveEffectiveLevel() const |
The level this pawn should actually run at. |
FXenoCoreAISteering¶
Struct · header XenoCoreRuntime/Public/Characters/XenoCoreCombatantCharacter.h · BlueprintType
How a body moves while an AI drives it. Opt-in; the player's possession restores the authored values.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Enabled | bEnabled |
bool |
AI Steering | EditAnywhere, BlueprintReadOnly | false |
Off = the authored movement, whoever drives. |
| Rotation Rate Yaw | RotationRateYaw |
float |
AI Steering | EditAnywhere, BlueprintReadOnly, ClampMin=30, EditCondition=bEnabled, Units=DegreesPerSecond | 420.0 |
Turn rate while AI-driven. The player's is usually far higher. |
| Max Acceleration | MaxAcceleration |
float |
AI Steering | EditAnywhere, BlueprintReadOnly, ClampMin=100, EditCondition=bEnabled | 1500.0 |
How fast it reaches speed - lower is a heavier start. |
| Braking Deceleration Walking | BrakingDecelerationWalking |
float |
AI Steering | EditAnywhere, BlueprintReadOnly, ClampMin=100, EditCondition=bEnabled | 1100.0 |
How fast it stops when nothing pushes it - lower is a longer, softer stop. |
UXenoCoreCosmeticStatics¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreRuntime/Public/Characters/XenoCoreCosmeticStatics.h
Checks and guards Lyra's cosmetic body-mesh selection, so a cosmetic part cannot hide its pawn.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Ensure Body Mesh Fallback | Callable | 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. |
| Get Body Mesh For Part | Pure | USkeletalMesh* GetBodyMeshForPart(const AActor* Pawn, TSubclassOf<AActor> PartClass) |
The body mesh a cosmetic part of this class would select on this pawn. |
| Get Cosmetic Part Tags | Pure | FGameplayTagContainer GetCosmeticPartTags(TSubclassOf<AActor> PartClass) |
The gameplay tags a cosmetic part of this class contributes. |
UXenoCoreHealthComponent¶
Class · derives from ULyraHealthComponent · header XenoCoreRuntime/Public/Characters/XenoCoreHealthComponent.h · Blueprintable
A ULyraHealthComponent that can be brought back.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Revive | Callable | bool Revive(float HealthFraction = 1.0f) |
Return a downed combatant to the living, at HealthFraction of its maximum. |
UXenoCoreHeroComponent¶
Class · derives from ULyraHeroComponent · header XenoCoreRuntime/Public/Characters/XenoCoreHeroComponent.h · Blueprintable
ULyraHeroComponent that binds the pawn's ability system instead of the PlayerState's.
XenoCoreRuntime / Debug¶
AXenoCoreTestInteractable¶
Class · derives from AXenoCoreInteractableActor · header XenoCoreRuntime/Public/Debug/XenoCoreTestInteractable.h
No description.
UXenoCoreSystemCheats¶
Class · derives from UCheatManagerExtension · header XenoCoreRuntime/Public/Debug/XenoCoreSystemCheats.h
The equipment, party, quest and save console commands, each forwarding to the component or subsystem that does the work.
UXenoCoreTestRunner¶
Class · derives from UTickableWorldSubsystem · header XenoCoreRuntime/Public/Debug/XenoCoreTestRunner.h
No description.
UXenoCoreTestSaveProbe¶
Class · derives from UObject · header XenoCoreRuntime/Public/Debug/XenoCoreTestSaveProbe.h
No description.
XenoCoreRuntime / Dialogue¶
AXenoCoreDialogueAnchor¶
Class · derives from AActor · header XenoCoreRuntime/Public/Dialogue/XenoCoreDialogueAnchor.h
Carries the dialogue box, attached to whoever is speaking.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Box Component | BoxComponent |
TObjectPtr<UWidgetComponent> |
XenoCore › Dialogue | VisibleAnywhere, BlueprintReadOnly | No description. | |
| Box Widget Class | BoxWidgetClass |
TSubclassOf<UUserWidget> |
XenoCore › Dialogue | EditDefaultsOnly | The dialogue box widget. Empty uses Project Settings > XenoCore UI > Dialogue Box. | |
| Box Height | BoxHeight |
float |
XenoCore › Dialogue | EditDefaultsOnly, ClampMin=0, UIMin=0 | 120.0 |
How far above the speaker's origin the box's bottom edge sits. |
EXenoCoreDialogueSpeaker¶
Enum · header XenoCoreRuntime/Public/Dialogue/XenoCoreDialogueTypes.h · BlueprintType
Which actor a line is anchored over.
| Value | Shown as | Description |
|---|---|---|
Npc |
Npc | The actor the player interacted with. Resolved by the subsystem, never passed per line. |
Player |
Player | The player's own pawn - a reply, a thought, a party member's aside. |
FXenoCoreDialogueLine¶
Struct · header XenoCoreRuntime/Public/Dialogue/XenoCoreDialogueTypes.h · BlueprintType
One line of dialogue: who is talking, and what they say.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Speaker | Speaker |
FText |
XenoCore › Dialogue | EditAnywhere, BlueprintReadWrite | The name on the plate. Empty carries the previous line's speaker forward. | |
| Line | Line |
FText |
XenoCore › Dialogue | EditAnywhere, BlueprintReadWrite | One sentence. | |
| Source | Source |
EXenoCoreDialogueSpeaker |
XenoCore › Dialogue | EditAnywhere, BlueprintReadWrite | EXenoCoreDialogueSpeaker::Npc |
Whose head the box floats over. |
UXenoCoreDialogueFramingCameraNode¶
Class · derives from UCameraNode · header XenoCoreRuntime/Public/Dialogue/XenoCoreDialogueFramingCameraNode.h
Frames the player and whoever they are talking to. Use in CameraRig_XenoCore_Dialogue.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Focus Bias | FocusBias |
float |
Framing | EditAnywhere, ClampMin=0.0, ClampMax=1.0 | 0.6 |
Where the camera looks: 0 = the player's head, 1 = the other speaker's head. |
| Aim Height | AimHeight |
float |
Framing | EditAnywhere, Units=cm | 0.0 |
Aims this far above the heads, so the box over them sits in frame without the camera backing off. |
| Distance | Distance |
float |
Framing | EditAnywhere, ClampMin=50.0, Units=cm | 250.0 |
How far the camera starts from the point it looks at. It moves back from here only if both speakers would not fit. |
| Max Distance | MaxDistance |
float |
Framing | EditAnywhere, ClampMin=50.0, Units=cm | 650.0 |
The furthest the camera may move back to fit both speakers. |
| Orbit Angle | OrbitAngle |
float |
Framing | EditAnywhere, ClampMin=0.0, ClampMax=180.0, Units=deg | 150.0 |
The angle around the speakers: 180 = straight behind the player, 90 = side-on. Smaller shows more of the player's face. |
| Left Shoulder | bLeftShoulder |
bool |
Framing | EditAnywhere | false |
Over the player's left shoulder instead of the right. |
| Elevation | Elevation |
float |
Framing | EditAnywhere, ClampMin=-30.0, ClampMax=60.0, Units=deg | 12.0 |
How far above the speakers the camera sits, looking down. |
| Box Headroom | BoxHeadroom |
float |
Framing › Fit | EditAnywhere, ClampMin=0.0, Units=cm | 60.0 |
Room kept above each head for the dialogue box when fitting the shot. |
| Screen Fill | ScreenFill |
float |
Framing › Fit | EditAnywhere, ClampMin=0.2, ClampMax=1.0 | 0.85 |
How much of the screen the speakers may span: 1 = edge to edge. |
| Aspect Ratio | AspectRatio |
float |
Framing › Fit | EditAnywhere, ClampMin=0.5 | 16.0 / 9.0 |
The screen shape the fit assumes. |
| Avoid Walls | bAvoidWalls |
bool |
Collision | EditAnywhere | true |
Pulls the camera in front of walls and rocks between it and the speakers. |
| Min Distance | MinDistance |
float |
Collision | EditAnywhere, ClampMin=0.0, EditCondition=bAvoidWalls, Units=cm | 120.0 |
The closest a wall may pull the camera in to the speakers. |
| Collision Radius | CollisionRadius |
float |
Collision | EditAnywhere, ClampMin=0.0, EditCondition=bAvoidWalls, Units=cm | 15.0 |
The camera's collision size. |
UXenoCoreDialogueSubsystem¶
Class · derives from UWorldSubsystem · header XenoCoreRuntime/Public/Dialogue/XenoCoreDialogueSubsystem.h
Shows one sentence at a time and waits for A.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Show Bark | Callable | void ShowBark(AActor* SpeakerActor, const FText& Line, float Duration) |
Shows one line over SpeakerActor that closes itself after Duration seconds (talk-to-ally, voiced remarks). |
| Is Active | Pure | bool IsActive() const |
True while a line is on screen. |
| Close | Callable | void Close() |
Takes the box down and hands the player back their controls. |
| Close Dialogue | Callable | void CloseDialogue() |
Closes the dialogue box and gives the player back movement and camera. |
| Set Box Suppressed | Callable | void SetBoxSuppressed(bool bSuppressed) |
Hides the box without ending the conversation, for a panel that opens on top of it. |
UXenoCorePlayDialogue¶
Class · derives from UBlueprintAsyncActionBase · header XenoCoreRuntime/Public/Dialogue/XenoCoreDialogueNodes.h
"Play Dialogue" - a whole run of lines from an array, then closes the box.
Events you can bind
| Event | Type | Description |
|---|---|---|
Completed |
FXenoCoreDialoguePin |
Fires once the last line has been advanced past and the box has closed. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Play Dialogue | Latent node factory | UXenoCorePlayDialogue* PlayDialogue(const TArray<FXenoCoreDialogueLine>& Lines) |
Play every line in order, then close. |
UXenoCoreShowDialogue¶
Class · derives from UBlueprintAsyncActionBase · 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.
Events you can bind
| Event | Type | Description |
|---|---|---|
Advanced |
FXenoCoreDialoguePin |
Fires when the player advances past this line. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Show Dialogue | Latent node factory | UXenoCoreShowDialogue* ShowDialogue(FText Speaker, FText Line, EXenoCoreDialogueSpeaker Source = EXenoCoreDialogueSpeaker::Npc) |
Show one sentence and wait for A. |
XenoCoreRuntime / Enemies¶
AXenoCoreEnemyCharacter¶
Class · derives from ALyraCharacterWithAbilities · header XenoCoreRuntime/Public/Enemies/XenoCoreEnemyCharacter.h · Blueprintable
No description.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Enemy Pawn Data | EnemyPawnData |
TObjectPtr<const ULyraPawnData> |
XenoCore › Enemy | EditDefaultsOnly | The pawn data this enemy initialises itself from. | |
| Enemy Level | EnemyLevel |
int32 |
XenoCore › Enemy | EditAnywhere, BlueprintReadOnly, ClampMin=1 | 1 |
This enemy's level, and the X input into every stat curve. |
| Display Name | DisplayName |
FText |
XenoCore › Enemy | EditAnywhere, BlueprintReadOnly | Shown on the target badge. Per-instance so a unique monster is just a renamed placement. | |
| Experience Reward | ExperienceReward |
int32 |
XenoCore › Enemy | EditAnywhere, BlueprintReadOnly, ClampMin=0 | 24 |
Base EXP for defeating this enemy, before the level-difference multiplier. |
| Experience Level Scale | ExperienceLevelScale |
FCurveTableRowHandle |
XenoCore › Enemy | EditAnywhere, BlueprintReadOnly | Scales ExperienceReward by this enemy's level. Empty = flat. | |
| Skill Point Multiplier | SkillPointMultiplier |
float |
XenoCore › Enemy | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 1.0 |
Scales the SP this enemy's level band pays - the band itself is the progression component's DT_XenoCore_SkillPointRewards, so this is the only per-enemy SP knob. |
| Art Point Reward | ArtPointReward |
int32 |
XenoCore › Enemy | EditAnywhere, BlueprintReadOnly, ClampMin=-1 | -1 |
AP this enemy pays before the level-difference multiplier. -1 (the default) uses XC1's formula, 2 x level + 2 (UXenoCoreProgressionComponent::ArtPointsPerEnemyLevel). Set it for a Unique or a boss that should pay differently. |
| Engage Radius Override | EngageRadiusOverride |
float |
XenoCore › AI | EditAnywhere, BlueprintReadOnly, ClampMin=-1.0, UIMin=-1.0 | -1.0 |
Engage radius for this enemy, in cm. -1 uses the controller's Engage Radius. |
| Patrol Points | PatrolPoints |
TArray<FVector> |
XenoCore › AI › Patrol | EditAnywhere, BlueprintReadWrite | Points to walk between while unprovoked, relative to where the enemy was placed. Drag them in the viewport. | |
| Patrol Speed | PatrolSpeed |
float |
XenoCore › AI › Patrol | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=CentimetersPerSecond | 105.0 |
Walking speed on patrol, cm/s. 105 is the minion walk clip's own speed, measured from its foot travel; faster blends toward the jog. |
| Arts | Arts |
TArray<TObjectPtr<class UXenoCoreArtDefinition>> |
XenoCore › Enemy › Arts | EditAnywhere, BlueprintReadOnly | This enemy's arts - the same art definitions the party uses, granted at level 1. | |
| AI Profile | AIProfile |
FXenoCoreCombatAIProfile |
XenoCore › Enemy › Arts | EditAnywhere, BlueprintReadOnly | How this enemy fights: decision pace, post-art cooldown and positioning. Same fields as a companion's. | |
| Patrol Wait | PatrolWait |
float |
XenoCore › AI › Patrol | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=Seconds | 2.0 |
Seconds to stand at each end of the route before turning back. Wandering waits a random 0.5x-1.5x of it. |
| Wander Radius | WanderRadius |
float |
XenoCore › AI › Patrol | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=Centimeters | 0.0 |
With no Patrol Points: wander to random spots this far from home, pausing between. 0 = stand still. |
| Detection | Detection |
EXenoCoreEnemyDetection |
XenoCore › AI › Detection | EditAnywhere, BlueprintReadOnly | EXenoCoreEnemyDetection::None |
How this enemy notices the party before being attacked. None = fights only when attacked. |
| Sight Radius | SightRadius |
float |
XenoCore › AI › Detection | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, EditCondition=Detection == EXenoCoreEnemyDetection::Sight, Units=Centimeters |
1400.0 |
Sight: how far it sees. Keep inside the engage radius or it notices you and stands there. |
| Sight Half Angle | SightHalfAngle |
float |
XenoCore › AI › Detection | EditAnywhere, BlueprintReadOnly, ClampMin=1.0, ClampMax=180.0, EditCondition=Detection == EXenoCoreEnemyDetection::Sight, Units=Degrees |
55.0 |
Sight: half the view cone, in degrees. 180 sees in every direction (XC1's bosses). |
| Sound Radius | SoundRadius |
float |
XenoCore › AI › Detection | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, EditCondition=Detection == EXenoCoreEnemyDetection::Sound, Units=Centimeters |
1000.0 |
Sound: how far a running leader is heard. |
| Ether Radius | EtherRadius |
float |
XenoCore › AI › Detection | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, EditCondition=Detection == EXenoCoreEnemyDetection::Ether, Units=Centimeters |
1500.0 |
Ether: how far away an ether art is felt. |
| Unique Monster | bUniqueMonster |
bool |
XenoCore › Enemy | EditAnywhere, BlueprintReadOnly | false |
A Unique Monster: ignores the six-level rule and wears a gold, named label. Set Always Gold Chest too. |
| Leash Radius Override | LeashRadiusOverride |
float |
XenoCore › AI | EditAnywhere, BlueprintReadOnly, ClampMin=-1.0, UIMin=-1.0 | -1.0 |
Leash radius for this enemy, in cm, measured from where it started. -1 uses the controller's Leash Radius. |
| Disengage Radius Scale Override | DisengageRadiusScaleOverride |
float |
XenoCore › AI | EditAnywhere, BlueprintReadOnly, ClampMin=-1.0, UIMin=-1.0 | -1.0 |
How much wider the stay-engaged radius is than the engage radius, for this enemy. -1 uses the controller's Disengage Radius Scale. Values from 0 to 1 are treated as 1. |
| Stats Effect | StatsEffect |
TSubclassOf<UGameplayEffect> |
XenoCore › Enemy | EditDefaultsOnly | The per-type stat effect, applied at EnemyLevel. | |
| Drop Table | DropTable |
TObjectPtr<const UXenoCoreDropTable> |
XenoCore › Loot | EditDefaultsOnly | What this enemy leaves behind, and the odds of each chest tier. | |
| Always Gold Chest | bAlwaysGoldChest |
bool |
XenoCore › Loot | EditAnywhere, BlueprintReadOnly | false |
Unique Monsters always drop a gold chest, whatever the table's odds say. |
| Chest Class | ChestClass |
TSubclassOf<AXenoCoreTreasureChest> |
XenoCore › Loot | EditDefaultsOnly | The chest Blueprint to spawn. One class for all three tiers - the tier is a material parameter the chest sets in K2_OnTierSet, not three separate actors. | |
| Chest Drop Delay | ChestDropDelay |
float |
XenoCore › Enemy › Loot | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 2.0 |
How long after death the dropped chest stays invisible and unopenable. |
| Chest Spawn Height | ChestSpawnHeight |
float |
XenoCore › Loot | EditDefaultsOnly, ClampMin=0.0 | 0.0 |
Clearance above the floor the chest is spawned at. |
| Death Effect | DeathEffect |
TSoftObjectPtr<UNiagaraSystem> |
XenoCore › Death | EditDefaultsOnly | Played where the body was, as it disappears. Null is fine - the corpse just vanishes, which is stock Lyra behaviour. | |
| Death Effect Scale | DeathEffectScale |
float |
XenoCore › Death | EditDefaultsOnly, ClampMin=0.01 | 1.0 |
Uniform scale for that effect, since one system has to cover minions and bosses alike. |
| Death Montages | DeathMontages |
TArray<TObjectPtr<UAnimMontage>> |
XenoCore › Death | EditDefaultsOnly | One of these plays on death before the body goes limp. Empty means ragdoll immediately. | |
| Anim Profile | AnimProfile |
TObjectPtr<UXenoCoreCharacterAnimProfile> |
XenoCore › Animation | EditDefaultsOnly, BlueprintReadOnly | This character's own combat clips. Empty slots fall back to the defaults. | |
| Ragdoll Delay Min | RagdollDelayMin |
float |
XenoCore › Death | EditDefaultsOnly, ClampMin=0.0 | 0.1 |
The randomised beat between the montage starting and the body going limp. Player: 0.1-0.6. |
| Ragdoll Delay Max | RagdollDelayMax |
float |
XenoCore › Death | EditDefaultsOnly, ClampMin=0.0 | 0.6 |
Upper end of the randomised beat between the death montage starting and the ragdoll. |
| Ragdoll Impulse Bone | RagdollImpulseBone |
FName |
XenoCore › Death | EditDefaultsOnly | FName("Pelvis") |
Where the death impulse lands, and how hard. The player's values. |
| Ragdoll Impulse Strength | RagdollImpulseStrength |
float |
XenoCore › Death | EditDefaultsOnly, ClampMin=0.0 | 500.0 |
Strength of the impulse applied to the ragdoll bone on death. |
| Death Vanish Delay | DeathVanishDelay |
float |
XenoCore › Death | EditDefaultsOnly, ClampMin=0.0 | 1.2 |
How long the corpse lies there before it goes. |
| Chevron Component | ChevronComponent |
TObjectPtr<UWidgetComponent> |
XenoCore › Enemy | VisibleAnywhere, BlueprintReadOnly | The small grey chevron floating over every enemy. | |
| Chevron Widget Class | ChevronWidgetClass |
TSubclassOf<UUserWidget> |
XenoCore › Enemy | EditDefaultsOnly | The widget drawn over every enemy: a plain chevron, or a level label (UXenoCoreEnemyLabelBase). |
|
| Health Bar Component | HealthBarComponent |
TObjectPtr<UWidgetComponent> |
XenoCore › Enemy | VisibleAnywhere, BlueprintReadOnly | Overhead HP bar. Separate from the chevron on purpose: the chevron is a 64x64 marker saying "this is an enemy", the bar is a readout of one pawn's health. | |
| Threat Component | ThreatComponent |
TObjectPtr<UXenoCoreThreatComponent> |
XenoCore › Enemy | VisibleAnywhere, BlueprintReadOnly | Who this enemy is angry with, and how much - XC1's aggro. Every enemy fights by it, so it is built here rather than added per Blueprint. | |
| Aggro Indicator | AggroIndicator |
TObjectPtr<UXenoCoreAggroIndicatorComponent> |
XenoCore › Enemy | VisibleAnywhere, BlueprintReadOnly | The red ring under this enemy's target and the line to it, while it fights. Presentation only. | |
| Health Bar Widget Class | HealthBarWidgetClass |
TSubclassOf<UUserWidget> |
XenoCore › Enemy | EditDefaultsOnly | The widget drawn as this enemy's overhead health bar. | |
| Health Bar Height | HealthBarHeight |
float |
XenoCore › Enemy | EditDefaultsOnly | 100.0 |
Height of the bar above the actor origin. Above the capsule, below the chevron. |
| Label Tick Check Interval | LabelTickCheckInterval |
float |
XenoCore › Enemy | EditDefaultsOnly, ClampMin=0.05, Units=Seconds | 0.4 |
Seconds between label range checks. |
| Chevron Height | ChevronHeight |
float |
XenoCore › Enemy | EditDefaultsOnly | 132.0 |
Height above the actor origin. The capsule is 90 half-height, so this floats clear of it. |
| Label Height | LabelHeight |
float |
XenoCore › Enemy | EditDefaultsOnly | 112.0 |
Height of the bottom of the level label above the actor origin. Above the health bar. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Enemy Level | Pure | int32 GetEnemyLevel() const |
This enemy's level, as authored on the placed instance. |
| Set Enemy Level | Callable | void SetEnemyLevel(int32 NewLevel) |
Re-levels a live enemy: sets EnemyLevel and re-applies its statline at it (a full heal, as on spawn). |
| Get Enemy Display Name | Pure | const FText& GetEnemyDisplayName() const |
The name shown on the target badge. |
| Get Experience Reward | Pure | int32 GetExperienceReward() const |
EXP granted to the party when this enemy dies, before level-difference scaling: ExperienceReward x ExperienceLevelScale at EnemyLevel (or ExperienceReward alone, if no row is set). |
| Get Art Point Reward | Pure | int32 GetArtPointReward() const |
AP before the level-difference multiplier; negative = XC1's formula. |
| Get Skill Point Multiplier | Pure | float GetSkillPointMultiplier() const |
Multiplies the SP this enemy's level band pays. |
| Get Engage Radius Override | Pure | float GetEngageRadiusOverride() const |
This enemy's own engage radius, or a negative value to use its controller's. |
| Get Patrol Route | Pure | TArray<FVector> GetPatrolRoute() const |
The patrol route in world space: where the enemy was placed, then each Patrol Point. |
| Get Leash Radius Override | Pure | float GetLeashRadiusOverride() const |
This enemy's own leash radius, or a negative value to use its controller's. |
| Get Disengage Radius Scale Override | Pure | float GetDisengageRadiusScaleOverride() const |
This enemy's own disengage scale, or a negative value to use its controller's. |
| Get Detection | Pure | EXenoCoreEnemyDetection GetDetection() const |
How this enemy notices the party before being attacked. |
| Is Unique Monster | Pure | bool IsUniqueMonster() const |
A Unique Monster: named, gold label, ignores the six-level rule. |
| Get Wander Radius | Pure | float GetWanderRadius() const |
Radius this enemy wanders inside while unprovoked and without a patrol route. |
| Get Wander Center | Pure | FVector GetWanderCenter() const |
Where wandering is centred: the spawner's location for a spawned squad, else where this enemy started. |
| Get Owning Spawner | Pure | class AXenoCoreEnemySpawner* GetOwningSpawner() const |
The spawner that made this enemy, or null for a hand-placed one. |
| Is Defeated | Pure | bool IsDefeated() const |
True while this enemy is dead or dying. |
AXenoCoreEnemyController¶
Class · derives from AModularAIController · header XenoCoreRuntime/Public/Enemies/XenoCoreEnemyController.h · Blueprintable
The AI controller enemies are possessed by. It carries the enemy's team; the behaviour itself lives in a StateTree on the pawn's StateTree AI component. Set the team before possession: the pawn reads it once, when it is possessed.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Detection Interval | DetectionInterval |
float |
XenoCore › AI › Detection | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.05 | 0.2 |
Seconds between detection checks. |
| Running Speed | RunningSpeed |
float |
XenoCore › AI › Detection | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.0, Units=CentimetersPerSecond | 280.0 |
Sound detection only hears a leader moving faster than this. |
| Heal On Give Up | bHealOnGiveUp |
bool |
XenoCore › AI | EditDefaultsOnly, BlueprintReadOnly | true |
Restore full health when this enemy gives up a fight. |
| Provoked Give Up Seconds | ProvokedGiveUpSeconds |
float |
XenoCore › AI | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0 | 10.0 |
Seconds a provoked enemy that never engaged waits with nobody in reach before it gives up (and heals). |
| Engage Radius | EngageRadius |
float |
XenoCore › AI | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.0 | 1600.0 |
Enemy notices the player inside this. The default for every enemy this controller possesses; an enemy can override it with its own Engage Radius Override. |
| Leash Radius | LeashRadius |
float |
XenoCore › AI | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.0 | 7000.0 |
Beyond this distance from home the enemy gives up and walks back. Measured from home, not from the player, so a kited enemy cannot be led across the whole zone. |
| Disengage Radius Scale | DisengageRadiusScale |
float |
XenoCore › AI | EditDefaultsOnly, BlueprintReadOnly, ClampMin=1.0 | 2.5 |
An engaged enemy stays engaged out to Engage Radius times this, so one standing on the edge does not flicker in and out of the fight. An enemy can override it with its own Disengage Radius Scale Override. |
| Ignore When Levels Below | IgnoreWhenLevelsBelow |
int32 |
XenoCore › AI | EditDefaultsOnly, BlueprintReadOnly, ClampMin=1 | 6 |
Enemies ignore the party entirely when the leader is this many levels above them, and only fight if attacked first. bAlwaysAggro is the exception for uniques and bosses. |
| Always Aggro | bAlwaysAggro |
bool |
XenoCore › AI | EditDefaultsOnly, BlueprintReadOnly | false |
Skip the level rule: this enemy detects the party whatever the level gap. For uniques and bosses. |
| Team Id | TeamId |
int32 |
XenoCore › Teams | EditDefaultsOnly, BlueprintReadOnly | 2 |
The team every enemy using this controller belongs to. An int32 rather than FGenericTeamId because that is what ULyraTeamSubsystem speaks and what Lyra's team assets are keyed on. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Aggro Target | Pure | AActor* GetAggroTarget() const |
The actor this enemy should be fighting, or null to stand down. |
| Notify Provoked | Callable | void NotifyProvoked() |
Enter combat. |
| Reset Aggro | Callable | void ResetAggro() |
Forget the fight: not engaged, not provoked. |
| Is Provoked | Pure | bool IsProvoked() const |
True once this enemy has been attacked or has detected the party, until it gives up. |
| Is Engaged | Pure | bool IsEngaged() const |
True once engaged, until the leash breaks or the enemy dies. |
| Get Home Location | Pure | FVector GetHomeLocation() const |
Where this enemy started. |
| Get Effective Engage Radius | Pure | float GetEffectiveEngageRadius() const |
The engage radius in force for the possessed enemy: its own override, else Engage Radius. |
| Get Effective Leash Radius | Pure | float GetEffectiveLeashRadius() const |
The leash radius in force for the possessed enemy: its own override, else Leash Radius. |
| Get Effective Disengage Radius Scale | Pure | float GetEffectiveDisengageRadiusScale() const |
The disengage scale in force for the possessed enemy: its own override, else Disengage Radius Scale. |
AXenoCoreEnemySpawner¶
Class · derives from AActor · header XenoCoreRuntime/Public/Enemies/XenoCoreEnemySpawner.h · Blueprintable
Keeps a squad of enemies alive here and respawns them after they fall, out of the party's sight. One spawner is one squad: its members wander round it, fight together, and only the last kill drops a chest.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Members | Members |
TArray<FXenoCoreSpawnerEntry> |
XenoCore › Spawner | EditAnywhere, BlueprintReadOnly | What this spawner keeps alive. Mix entries for a mixed squad. | |
| Spawn Radius | SpawnRadius |
float |
XenoCore › Spawner | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=Centimeters | 400.0 |
Members appear at random reachable spots within this of the spawner. |
| Wander Radius | WanderRadius |
float |
XenoCore › Spawner | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=Centimeters | 1200.0 |
While unprovoked, members wander to random spots this far from the spawner. 0 = they stand where they spawned. |
| Link Aggro | bLinkAggro |
bool |
XenoCore › Spawner › Squad | EditAnywhere, BlueprintReadOnly | true |
Link aggro: when one member is provoked, the others join. |
| Link Radius | LinkRadius |
float |
XenoCore › Spawner › Squad | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, EditCondition=bLinkAggro, Units=Centimeters | 2500.0 |
Link aggro reaches members within this of the provoked one. 0 = the whole squad wherever it is. |
| Squad Loot Rule | bSquadLootRule |
bool |
XenoCore › Spawner › Squad | EditAnywhere, BlueprintReadOnly | true |
Only the last member killed drops a chest: gold at Squad Gold Multiplier x the odds, else silver, filled from the leader's (first member's) drop table. |
| Squad Gold Multiplier | SquadGoldMultiplier |
float |
XenoCore › Spawner › Squad | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, EditCondition=bSquadLootRule | 3.0 |
The squad chest's gold chance is the leader's table's Gold Chance times this. XC1: 3. |
| Unique Monster | bUniqueMonster |
bool |
XenoCore › Spawner › Unique | EditAnywhere, BlueprintReadOnly | false |
Make every member a Unique Monster: gold named label, gold chest, ignores the six-level rule. |
| Unique Name | UniqueName |
FText |
XenoCore › Spawner › Unique | EditAnywhere, BlueprintReadOnly, EditCondition=bUniqueMonster | The Unique Monster's name. Empty keeps the Blueprint's Display Name. | |
| Respawn | bRespawn |
bool |
XenoCore › Spawner › Respawn | EditAnywhere, BlueprintReadOnly | true |
Bring fallen members back. Off = they stay dead until the spawner streams out and in again. |
| Respawn Delay | RespawnDelay |
float |
XenoCore › Spawner › Respawn | EditAnywhere, BlueprintReadOnly, ClampMin=1.0, EditCondition=bRespawn, Units=Seconds | 90.0 |
Seconds after a member falls before it may come back. |
| Respawn Chance | RespawnChance |
float |
XenoCore › Spawner › Respawn | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, ClampMax=1.0, EditCondition=bRespawn | 1.0 |
Chance each attempt actually respawns; a miss waits another Respawn Delay. XC1's uniques: 0.3. |
| Hidden Distance | HiddenDistance |
float |
XenoCore › Spawner › Respawn | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, EditCondition=bRespawn, Units=Centimeters | 5000.0 |
A respawn is always allowed when the party leader is at least this far away. |
| Behind Camera Min Distance | BehindCameraMinDistance |
float |
XenoCore › Spawner › Respawn | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, EditCondition=bRespawn, Units=Centimeters | 1800.0 |
Closer than Hidden Distance, a respawn is allowed only behind the camera and beyond this. |
| On Screen Half Angle | OnScreenHalfAngle |
float |
XenoCore › Spawner › Respawn | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, ClampMax=180.0, EditCondition=bRespawn, Units=Degrees | 65.0 |
Half-angle of the camera's view counted as "on screen" for that test. |
| Poll Interval | PollInterval |
float |
XenoCore › Spawner › Respawn | EditDefaultsOnly, ClampMin=0.1 | 1.0 |
Seconds between respawn checks. |
| Wander Preview | WanderPreview |
TObjectPtr<USphereComponent> |
XenoCore › Spawner | VisibleAnywhere | Editor only: the wander radius, drawn. | |
| Sprite | Sprite |
TObjectPtr<UBillboardComponent> |
XenoCore › Spawner | VisibleAnywhere | Editor only: the spawner's icon in the level. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Squad Size | Pure | int32 GetSquadSize() const |
How many enemies this spawner keeps alive. |
| Get Living Members | Pure | TArray<AXenoCoreEnemyCharacter*> GetLivingMembers() const |
The members alive right now. |
| Respawn All Now | Callable | void RespawnAllNow() |
Respawn every fallen member now, ignoring the timer and the out-of-sight rule. |
EXenoCoreEnemyDetection¶
Enum · header XenoCoreRuntime/Public/Enemies/XenoCoreEnemyCharacter.h · BlueprintType
How this enemy notices the party before being attacked.
| Value | Shown as | Description |
|---|---|---|
None |
None | Non-aggressive: fights only when attacked. |
Sight |
Sight | Starts a fight when the party leader enters its view cone. |
Sound |
Sound | Starts a fight when the party leader runs nearby. Walking is quiet enough to pass. |
Ether |
Ether | Starts a fight when the party uses an ether art nearby - even a harmless one. |
FXenoCoreEnemyDefeatedMessage¶
Struct · header XenoCoreRuntime/Public/Enemies/XenoCoreEnemyCharacter.h · BlueprintType
Broadcast on XenoCore.Enemy.Message.Defeated the moment a kill is real.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Enemy Class | EnemyClass |
TSubclassOf<AActor> |
XenoCore › Enemy | BlueprintReadOnly | What died. Matched with IsChildOf, so an objective can name a base class. | |
| Display Name | DisplayName |
FText |
XenoCore › Enemy | BlueprintReadOnly | The enemy's name as shown on its target badge. Empty if none was authored. | |
| Level | Level |
int32 |
XenoCore › Enemy | BlueprintReadOnly | 1 |
The enemy's level when it died. |
FXenoCoreLevelColourBand¶
Struct · header XenoCoreRuntime/Public/Enemies/XenoCoreEnemySettings.h · BlueprintType
One rung of the level-difference colour ladder.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Min Level Difference | MinLevelDifference |
int32 |
XenoCore › Enemy | EditAnywhere, BlueprintReadOnly | 0 |
Applies when (enemy level - party leader level) is at least this. Bands are checked highest first. |
| Colour | Colour |
FLinearColor |
XenoCore › Enemy | EditAnywhere, BlueprintReadOnly | FLinearColor::White |
The level text colour for this band. |
FXenoCoreSpawnerEntry¶
Struct · header XenoCoreRuntime/Public/Enemies/XenoCoreEnemySpawner.h · BlueprintType
One kind of enemy a spawner keeps alive, and how many of it.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Enemy Class | EnemyClass |
TSubclassOf<AXenoCoreEnemyCharacter> |
XenoCore › Spawner | EditAnywhere, BlueprintReadOnly | The enemy Blueprint to spawn. | |
| Count | Count |
int32 |
XenoCore › Spawner | EditAnywhere, BlueprintReadOnly, ClampMin=1, ClampMax=12 | 1 |
How many of it. |
| Min Level | MinLevel |
int32 |
XenoCore › Spawner | EditAnywhere, BlueprintReadOnly, ClampMin=1, ClampMax=99 | 1 |
Each one rolls a level between these, inclusive. |
| Max Level | MaxLevel |
int32 |
XenoCore › Spawner | EditAnywhere, BlueprintReadOnly, ClampMin=1, ClampMax=99 | 1 |
The highest level a member can roll. |
UXenoCoreEnemySettings¶
Class · derives from UDeveloperSettings · header XenoCoreRuntime/Public/Enemies/XenoCoreEnemySettings.h
How enemy levels read over their heads and on the target badge. Project Settings > Game > XenoCore Enemies.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Level Format | LevelFormat |
FText |
Level Label | Config, EditAnywhere | The level text. {0} is the level. | |
| Unique Format | UniqueFormat |
FText |
Level Label | Config, EditAnywhere | A Unique Monster's label. {0} is the level, {1} its name. | |
| Level Colour Bands | LevelColourBands |
TArray<FXenoCoreLevelColourBand> |
Level Label | Config, EditAnywhere | Level colour by (enemy level - party leader level). Highest Min Level Difference first; the first match wins. | |
| Fallback Level Colour | FallbackLevelColour |
FLinearColor |
Level Label | Config, EditAnywhere | FLinearColor::White |
Used when no band matches. |
| Unique Chevron Colour | UniqueChevronColour |
FLinearColor |
Level Label | Config, EditAnywhere | FLinearColor(1.0, 0.78, 0.25, 1.0) |
A Unique Monster's chevron. |
| Label Show Distance | LabelShowDistance |
float |
Level Label | Config, EditAnywhere, ClampMin=0.0, Units=Centimeters | 2500.0 |
The label is fully shown inside this distance from the camera. Always shown while the enemy is in battle. |
| Label Fade Distance | LabelFadeDistance |
float |
Level Label | Config, EditAnywhere, ClampMin=1.0, Units=Centimeters | 800.0 |
...and fades out over this much further. |
| Unique Label Show Distance | UniqueLabelShowDistance |
float |
Level Label | Config, EditAnywhere, ClampMin=0.0, Units=Centimeters | 6000.0 |
A Unique Monster's label is visible from this far, so the player sees it coming. |
UXenoCoreEnemyStatics¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreRuntime/Public/Enemies/XenoCoreEnemyStatics.h
How an enemy's level reads: its text and its colour against the party leader. The overhead label and the target badge both ask here, so they always agree. The ladder is XenoCore Enemies settings.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Party Leader Level | Pure | int32 GetPartyLeaderLevel() |
The party leader's level, which every enemy level is measured against. |
| Get Level Colour | Pure | FLinearColor GetLevelColour(int32 EnemyLevel) |
The colour this level reads in, from the XenoCore Enemies level colour ladder. |
| Get Enemy Level Text | Pure | FText GetEnemyLevelText(const AXenoCoreEnemyCharacter* Enemy) |
"lvl.N" (or "Name lvl.N" for a Unique Monster), per XenoCore Enemies settings. |
XenoCoreRuntime / Equipment¶
EXenoCoreEquipBlocker¶
Enum · header XenoCoreRuntime/Public/Equipment/XenoCoreEquipmentComponent.h · BlueprintType
Why a pairing was refused, not merely that it was.
| Value | Shown as | Description |
|---|---|---|
None |
None | It would equip. |
NoItem |
No Item | No item, or Count passed as a slot. |
NotEquippable |
Not Equippable | No UInventoryFragment_EquippableItem, or one naming no equipment definition. |
WrongSlot |
Wrong Slot | Its own UXenoCoreFragment_EquipSlots does not list this slot. |
WornInAnotherSlot |
Worn In Another Slot | This character already wears it somewhere else. One instance, one slot. |
WornByAnother |
Worn By Another | Another character wears it. |
WrongWeaponType |
Wrong Weapon Type | XC1's weapon lock: this character cannot wield this kind of weapon. |
EXenoCoreEquipSlot¶
Enum · header XenoCoreRuntime/Public/Equipment/XenoCoreEquipmentComponent.h · BlueprintType
XC1's equipment slots. One weapon and five pieces of armour, per character.
| Value | Shown as | Description |
|---|---|---|
Weapon |
Weapon | No description. |
Head |
Head | No description. |
Chest |
Chest | No description. |
Arms |
Arms | No description. |
Legs |
Legs | No description. |
Feet |
Feet | No description. |
FXenoCoreEquipmentSlotChangedMessage¶
Struct · header XenoCoreRuntime/Public/Equipment/XenoCoreEquipmentComponent.h · BlueprintType
Broadcast whenever a slot's contents change - equipped, swapped or emptied.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Owner | Owner |
TObjectPtr<AActor> |
XenoCore › Equipment | BlueprintReadOnly | nullptr |
The pawn whose loadout changed. Present so a listener can ignore other characters. |
| Slot | Slot |
EXenoCoreEquipSlot |
XenoCore › Equipment | BlueprintReadOnly | EXenoCoreEquipSlot::Weapon |
No description. |
| Item | Item |
TObjectPtr<ULyraInventoryItemInstance> |
XenoCore › Equipment | BlueprintReadOnly | nullptr |
What is in the slot now. Null means it was emptied. |
FXenoCoreEquippedSlot¶
Struct · header XenoCoreRuntime/Public/Equipment/XenoCoreEquipmentComponent.h
What is actually in a slot right now, and what equipping it applied.
FXenoCoreMemberLoadout¶
Struct · header XenoCoreRuntime/Public/Equipment/XenoCoreEquipmentComponent.h · BlueprintType
What a character was wearing when they left the field, kept so they come back dressed the same.
FXenoCoreStartingEquipment¶
Struct · header XenoCoreRuntime/Public/Equipment/XenoCoreEquipmentComponent.h · BlueprintType
One line of a starting loadout: what this character has equipped before any play happens.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Slot | Slot |
EXenoCoreEquipSlot |
XenoCore › Equipment | EditDefaultsOnly | EXenoCoreEquipSlot::Weapon |
The slot the item is equipped into. |
| Item Definition | ItemDefinition |
TSubclassOf<ULyraInventoryItemDefinition> |
XenoCore › Equipment | EditDefaultsOnly | The item to create and equip. It must list this slot in its Equip Slots fragment. |
FXenoCoreStartingItem¶
Struct · header XenoCoreRuntime/Public/Equipment/XenoCoreEquipmentComponent.h · BlueprintType
One line of a starting bag - items the party holds but nobody is wearing.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Item Definition | ItemDefinition |
TSubclassOf<ULyraInventoryItemDefinition> |
XenoCore › Equipment | EditDefaultsOnly | The item to add to the party bag. | |
| Count | Count |
int32 |
XenoCore › Equipment | EditDefaultsOnly, ClampMin=1 | 1 |
How many to add. The bag holds one entry per item, so this is a loop count, not a stack size. |
FXenoCoreWeaponAnimLayerRule¶
Struct · header XenoCoreRuntime/Public/Equipment/XenoCoreWeaponTypeDefinition.h · BlueprintType
One anim-layer rule: this layer, when the character's cosmetic tags include all of these.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Layer | Layer |
TSubclassOf<UAnimInstance> |
Animation | EditAnywhere, BlueprintReadOnly | The linked anim layer class to use when this rule matches. | |
| Required Tags | RequiredTags |
FGameplayTagContainer |
Animation | EditAnywhere, BlueprintReadOnly | E.g. Cosmetic.AnimationStyle.Feminine. |
FXenoCoreWeaponAnimLayers¶
Struct · header XenoCoreRuntime/Public/Equipment/XenoCoreWeaponTypeDefinition.h · BlueprintType
Which linked anim layer a stance uses: the first matching rule, else the default.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Rules | Rules |
TArray<FXenoCoreWeaponAnimLayerRule> |
Animation | EditAnywhere, BlueprintReadOnly | Checked in order; the first rule whose Required Tags the character has wins. | |
| Default Layer | DefaultLayer |
TSubclassOf<UAnimInstance> |
Animation | EditAnywhere, BlueprintReadOnly | Used when no rule matches. |
UXenoCoreEquipmentComponent¶
Class · derives from ULyraEquipmentManagerComponent · header XenoCoreRuntime/Public/Equipment/XenoCoreEquipmentComponent.h · Blueprintable
XC1's equipment paperdoll, over Lyra's inventory and equipment managers.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Allowed Weapon Types | AllowedWeaponTypes |
TArray<TObjectPtr<const UXenoCoreWeaponTypeDefinition>> |
XenoCore › Equipment | EditDefaultsOnly | The kinds of weapon this character may wield. Empty means any - set it on every party member. | |
| Starting Equipment | StartingEquipment |
TArray<FXenoCoreStartingEquipment> |
XenoCore › Equipment | EditDefaultsOnly | What this character starts with. The great sword goes here for the player. | |
| Starting Inventory | StartingInventory |
TArray<FXenoCoreStartingItem> |
XenoCore › Equipment | EditDefaultsOnly | What the party starts carrying but not wearing - the spare weapons and armour an equipment screen exists to choose between. |
Events you can bind
| Event | Type | Description |
|---|---|---|
OnEquipmentSlotChanged |
FXenoCoreEquipmentSlotChangedDelegate |
Fires after a slot's contents change. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Equip Item Definition To Slot | Callable | ULyraInventoryItemInstance* EquipItemDefinitionToSlot(EXenoCoreEquipSlot Slot, TSubclassOf<ULyraInventoryItemDefinition> ItemDefinition) |
Puts an item definition in a slot: adds it to the inventory, then equips it. |
| Equip Item To Slot | Callable | bool EquipItemToSlot(EXenoCoreEquipSlot Slot, ULyraInventoryItemInstance* Item, bool bTakeFromOtherCharacter = false) |
Equips an item the inventory already holds. |
| Unequip Slot | Callable | void UnequipSlot(EXenoCoreEquipSlot Slot) |
Empties a slot: removes the stat effect, and the equipment manager despawns the actors. |
| Get Item In Slot | Pure | ULyraInventoryItemInstance* GetItemInSlot(EXenoCoreEquipSlot Slot) const |
The item worn in a slot, or null when it is empty. |
| Refresh Gem Effect | Callable | void RefreshGemEffect() |
Re-apply this character's gem stats - every socket on everything worn, capped per gem type. |
| Get Equipment In Slot | Pure | ULyraEquipmentInstance* GetEquipmentInSlot(EXenoCoreEquipSlot Slot) const |
The equipment instance spawned for a slot's item, or null when the slot is empty. |
| Get Item For Equipment | Pure | ULyraInventoryItemInstance* GetItemForEquipment(const ULyraEquipmentInstance* Equipment) const |
The inventory item an equipment instance was spawned from - the item whose stats it carries. |
| Is Item Equipped | Pure | bool IsItemEquipped(const ULyraInventoryItemInstance* Item) const |
True if this exact item instance is in any slot. |
| Find Slot For Item | Pure | EXenoCoreEquipSlot FindSlotForItem(const ULyraInventoryItemInstance* Item, bool& bOutFound) const |
Which slot holds Item. bOutFound is false - and the slot meaningless - when it is in none. |
| Can Equip Item To Slot | Pure | bool CanEquipItemToSlot(EXenoCoreEquipSlot Slot, const ULyraInventoryItemInstance* Item) const |
Whether EquipItemToSlot would accept this pairing, without performing it. |
| Get Equip Blocker | Pure | EXenoCoreEquipBlocker GetEquipBlocker(EXenoCoreEquipSlot Slot, const ULyraInventoryItemInstance* Item) const |
The same rule as CanEquipItemToSlot, but it says why. |
| Can Wield Weapon Type | Pure | bool CanWieldWeaponType(const UXenoCoreWeaponTypeDefinition* WeaponType) const |
Whether this character may wield a weapon of this kind. |
| Get Weapon Attach Parent | Pure | USceneComponent* GetWeaponAttachParent(const APawn* Pawn, FName SocketName) |
The mesh a weapon should attach to for this socket: the visible cosmetic body if it has the socket, else the pawn's own mesh. |
| Reattach Equipment To Visible Body | Callable | void ReattachEquipmentToVisibleBody() |
Re-homes every equipped actor onto the visible body where it carries the socket. |
| Get Weapon Type Of Item | Pure | const UXenoCoreWeaponTypeDefinition* GetWeaponTypeOfItem(const ULyraInventoryItemInstance* Item) |
The kind of weapon an item is, read off its definition. |
| Get Equipped Weapon Type | Pure | const UXenoCoreWeaponTypeDefinition* GetEquippedWeaponType(const AActor* Pawn) |
The kind of weapon this pawn has in its Weapon slot. |
| Get Weapon Arm Montage | Pure | UAnimMontage* GetWeaponArmMontage(const UGameplayAbility* Ability, bool bDraw, UAnimMontage* Default) |
Draw or sheathe montage for this ability's avatar: the weapon type's, else Default. |
| Resolve Weapon Anim Layer | Pure | TSubclassOf<UAnimInstance> ResolveWeaponAnimLayer(const ULyraEquipmentInstance* Instance, bool bArmed, const FGameplayTagContainer& CosmeticTags, TSubclassOf<UAnimInstance> Fallback) |
Anim layer for this weapon's stance: the weapon type's, else Fallback (Lyra's PickBestAnimLayer). |
| Apply Starting Equipment | Callable | void ApplyStartingEquipment() |
Applies StartingEquipment. |
| Apply Starting Inventory | Callable | void ApplyStartingInventory() |
Adds StartingInventory to the party bag. |
| Mark Redeployment | Callable | void MarkRedeployment() |
Tell this body that its character has been deployed before. |
UXenoCoreGameplayAbility_EquipmentStats¶
Class · derives from ULyraGameplayAbility · header XenoCoreRuntime/Public/Equipment/XenoCoreGameplayAbility_EquipmentStats.h · abstract
Applies an equipped item's stats: every SetByCaller tag the stats effect consumes is filled from the item's stat tags. Removed again when the item is unequipped.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Equipment Stats Effect | EquipmentStatsEffect |
TSubclassOf<UGameplayEffect> |
XenoCore › Equipment | EditDefaultsOnly, BlueprintReadOnly | The effect applied while the item is equipped. Its SetByCaller modifiers decide which stats reach which attributes. | |
| Percent Stat Tags | PercentStatTags |
FGameplayTagContainer |
XenoCore › Equipment | EditDefaultsOnly, BlueprintReadOnly, Categories=XenoCore.Stat |
Extra stat tags authored as whole percent (15) and applied as a fraction (0.15). Stats the vocabulary already marks as percent need not be listed. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Set By Caller Tags | Pure | TArray<FGameplayTag> GetSetByCallerTags(TSubclassOf<UGameplayEffect> Effect) |
Every SetByCaller data tag an effect's modifiers read, in modifier order. |
| Get Stat Magnitude | Pure | float GetStatMagnitude(const ULyraInventoryItemInstance* Item, FGameplayTag StatTag) const |
The magnitude an item contributes for one stat tag: its stat-tag count, as a fraction when the tag is a percent stat. |
UXenoCoreWeaponTypeDefinition¶
Class · derives from UPrimaryDataAsset · header XenoCoreRuntime/Public/Equipment/XenoCoreWeaponTypeDefinition.h · BlueprintType
A kind of weapon - Sword, Staff, Rifle. Items point at one; characters list the ones they may use.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Display Name | DisplayName |
FText |
Identity | EditAnywhere, BlueprintReadOnly | What menus call this kind of weapon - "Sword", "Staff". | |
| Description | Description |
FText |
Identity | EditAnywhere, BlueprintReadOnly | One line for a tooltip or the item details pane. Optional. | |
| Icon | Icon |
TSoftObjectPtr<UTexture2D> |
Identity | EditAnywhere, BlueprintReadOnly | Small glyph for item lists and the equipment screen. Optional. | |
| Armed Layers | ArmedLayers |
FXenoCoreWeaponAnimLayers |
Animation | EditAnywhere, BlueprintReadOnly | The stance while the weapon is drawn. Empty = the weapon instance's Equipped Anim Set. | |
| Sheathed Layers | SheathedLayers |
FXenoCoreWeaponAnimLayers |
Animation | EditAnywhere, BlueprintReadOnly | The stance while it is sheathed. Empty = the weapon instance's Unequipped Anim Set. | |
| Preview Stance | PreviewStance |
TSoftObjectPtr<UAnimSequenceBase> |
Animation | EditAnywhere, BlueprintReadOnly | Looping stance the equipment preview holds for this weapon type. Empty = the preview's own Idle Animation. | |
| Draw Montage | DrawMontage |
TObjectPtr<UAnimMontage> |
Animation | EditAnywhere, BlueprintReadOnly | nullptr |
Played to draw. Empty = GA_XenoCore_Arm_v2's own (the greatsword draw). |
| Sheathe Montage | SheatheMontage |
TObjectPtr<UAnimMontage> |
Animation | EditAnywhere, BlueprintReadOnly | nullptr |
Played to sheathe. Empty = GA_XenoCore_Arm_v2's own. |
| Attack Montages | AttackMontages |
TArray<TObjectPtr<UAnimMontage>> |
Attack | EditAnywhere, BlueprintReadOnly | The auto-attack combo. Each needs a MeleeHit notify. | |
| Attack Montages Stationary | AttackMontagesStationary |
TArray<TObjectPtr<UAnimMontage>> |
Attack | EditAnywhere, BlueprintReadOnly | Full-body versions for standing still. Only read when Attack Montages is set; empty = use those. | |
| Attack Range | AttackRange |
float |
Attack | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=cm | 0.0 |
How far the auto-attack reaches, cm. 0 = the ability's own (420). |
| Default Gem Slots | DefaultGemSlots |
int32 |
Gems | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=3 | 2 |
Gem sockets on a weapon of this type, unless the weapon overrides it. At most 3. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Display Name Or Asset Name | Pure | FText GetDisplayNameOrAssetName() const |
DisplayName, or the asset's own name when that is empty - so a menu never draws a blank. |
XenoCoreRuntime / Feedback¶
AXenoCoreBeamFX¶
Class · derives from AActor · header XenoCoreRuntime/Public/Feedback/XenoCoreBeamFX.h
A shaft of light that rises and fades. The treasure chest's beam, made reusable.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Beam Mesh | BeamMesh |
TObjectPtr<UStaticMeshComponent> |
XenoCore › Feedback | VisibleAnywhere | No description. | |
| Beam Material | BeamMaterial |
TObjectPtr<UMaterialInterface> |
XenoCore › Feedback | EditDefaultsOnly | The chest's own shaft material, so both read as one effect. | |
| Beam Mesh Asset | BeamMeshAsset |
TObjectPtr<UStaticMesh> |
XenoCore › Feedback | EditDefaultsOnly | The mesh scaled into the shaft (a unit cube by default). | |
| Beam Intensity | BeamIntensity |
float |
XenoCore › Feedback | EditDefaultsOnly, ClampMin=0.0, UIMin=0.0 | 6.0 |
Peak brightness, before the fade scales it. |
| Beam Opacity | BeamOpacity |
float |
XenoCore › Feedback | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0, UIMin=0.0, UIMax=1.0 | 0.85 |
Peak opacity of the shaft, before the fade scales it. |
| Rise Fraction | RiseFraction |
float |
XenoCore › Feedback | EditDefaultsOnly, ClampMin=0.0, ClampMax=0.9 | 0.15 |
Fraction of the life spent rising to full before the fade begins. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Spawn Beam | Callable | AXenoCoreBeamFX* SpawnBeam(AActor* Target, FLinearColor InColour = FLinearColor(0.25f, 0.65f, 1.0f, 1.0f), float Height = 320.0f, float Width = 70.0f, float Duration = 0.9f) |
Spawn a shaft at Target's feet that fades out over Duration and then destroys itself. |
XenoCoreRuntime / Interaction¶
AXenoCoreInteractableActor¶
Class · derives from AActor · header XenoCoreRuntime/Public/Interaction/XenoCoreInteractableActor.h · abstract · Blueprintable
Base for anything the player can walk up to and interact with - a door, lever, sign or pickup. Subclass it in Blueprint, add meshes, set the verbs, and handle On Interact. It registers itself with the interaction prompt; nothing else is needed.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Scene Root | SceneRoot |
TObjectPtr<USceneComponent> |
XenoCore › Interaction | VisibleAnywhere, BlueprintReadOnly | Where range is measured from. Attach meshes and colliders under it. | |
| Interact Verb | InteractVerb |
FText |
XenoCore › Interaction | EditAnywhere, BlueprintReadWrite | The word the prompt shows beside A: "Open", "Pull", "Read". | |
| Secondary Interact Verb | SecondaryInteractVerb |
FText |
XenoCore › Interaction | EditAnywhere, BlueprintReadWrite | An optional second action, shown beside X. Leave empty for none. | |
| Interact Range | InteractRange |
float |
XenoCore › Interaction | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=cm | 200.0 |
How close the player must be for the prompt to appear, in cm, measured from the actor's origin. |
| Interact Enabled | bInteractEnabled |
bool |
XenoCore › Interaction | EditAnywhere, BlueprintReadOnly | true |
Whether the prompt offers this actor at all. Change it at runtime with Set Interact Enabled. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Set Interact Enabled | Callable | void SetInteractEnabled(bool bEnabled) |
No description. |
| Is Interact Enabled | Pure | bool IsInteractEnabled() const |
Whether interaction is switched on. |
| Is Interact Focused | Pure | bool IsInteractFocused() const |
True while the prompt is offering this actor to the player. |
| Is Secondary Verb | Pure | bool IsSecondaryVerb(int32 VerbIndex) const |
True when a verb index from On Interact is the secondary (X) verb rather than the primary (A). |
| Can Interact | Callable | bool CanInteract() const |
Whether the player may interact right now. |
| On Interact | Callable | void OnInteract(AActor* Interactor, int32 VerbIndex) |
The player pressed a verb this actor offered. |
| On Focused | Callable | void OnFocused() |
The prompt started offering this actor. |
| On Unfocused | Callable | void OnUnfocused() |
The prompt stopped offering this actor - out of range, disabled, or covered by a menu. |
UXenoCoreInteractionSubsystem¶
Class · derives from UWorldSubsystem · header XenoCoreRuntime/Public/Interaction/XenoCoreInteractionSubsystem.h
The one thing that decides what the player is standing next to, and the one thing that says so on screen.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Claim Release Delay | ClaimReleaseDelay |
float |
XenoCore › Interaction | EditDefaultsOnly, ClampMin=0.0, UIMin=0.0 | 0.5 |
How long the A-button claim outlives the prompt, in seconds, so a held A does not become a jump. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Offered Verbs | Pure | TArray<FText> GetOfferedVerbs(AActor* Actor) const |
The verbs Actor offers, primary first, capped at MaxPressableVerbs. |
| Find Nearest Interactable | Pure | AActor* FindNearestInteractable(AActor* Querier) const |
The nearest available interactable within its own range, or null. |
| Handle Interact Press | Callable | void HandleInteractPress(AActor* Interactor, int32 VerbIndex = 0) |
Everything the A button does out in the world, in one place. |
| Refresh Prompt Now | Callable | void RefreshPromptNow() |
Re-runs the prompt decision right now, instead of waiting for the next poll. |
| Is Menu Covering | Pure | bool IsMenuCovering() |
Is a full-screen menu on top of the world right now? |
| Is Interaction Blocked | Pure | bool IsInteractionBlocked() |
Can the player interact with the world at all right now? |
| Is Secondary Verb Offered | Pure | bool IsSecondaryVerbOffered() |
True while the interact prompt is up and offers more than one verb - X then belongs to the NPC. |
XenoCoreRuntime / Inventory¶
EXenoCoreEquipType¶
Enum · header XenoCoreRuntime/Public/Inventory/XenoCoreItemFragments.h · BlueprintType
XC1's armour weight class - the "Type Medium" row on the item details panel.
| Value | Shown as | Description |
|---|---|---|
None |
None | Declares nothing. Draws as an em dash. |
Light |
Light | No description. |
Medium |
Medium | No description. |
Heavy |
Heavy | No description. |
EXenoCoreItemCategory¶
Enum · header XenoCoreRuntime/Public/Inventory/XenoCoreItemFragments.h · BlueprintType
XC1's four inventory tabs.
| Value | Shown as | Description |
|---|---|---|
Equipment |
Equipment | Weapons and armour. Anything carrying UXenoCoreFragment_EquipSlots belongs here. |
Items |
Items | Legacy catch-all. Kept at value 1 so existing assets do not silently change meaning. |
Collectables |
Collectables | Field pickups. Trade fodder at 10x value. |
Key |
Key | Story items. Cannot be sold or discarded. |
Gems |
Gems | Gem crafting output. Slotted into equipment. |
Crystals |
Crystals | Ether crystals - gem crafting input, dropped by enemies. |
Materials |
Materials | Enemy-dropped crafting and trade materials. |
ArtManuals |
Art Manuals | Intermediate and Advanced Arts Manuals. |
FXenoCoreFixedGem¶
Struct · header XenoCoreRuntime/Public/Inventory/XenoCoreItemFragments.h · BlueprintType
A gem fixed into a piece of equipment from the moment it exists. It can never be removed.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Gem | Gem |
TSubclassOf<ULyraInventoryItemDefinition> |
XenoCore › Gems | EditDefaultsOnly, BlueprintReadOnly | The gem's item definition. It must carry a XenoCore Gem fragment and be in the gem registry. | |
| Value | Value |
int32 |
XenoCore › Gems | EditDefaultsOnly, BlueprintReadOnly, ClampMin=1 | 1 |
Its strength. Clamped into the gem's own band when the item is created. |
FXenoCoreInventoryChangedMessage¶
Struct · header XenoCoreRuntime/Public/Inventory/XenoCoreInventoryStatics.h · BlueprintType
Broadcast when the party bag gains or loses items.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Owner | Owner |
TObjectPtr<AActor> |
XenoCore › Inventory | BlueprintReadOnly | nullptr |
The bag's owner - the player controller. |
| Item Def | ItemDef |
TSubclassOf<ULyraInventoryItemDefinition> |
XenoCore › Inventory | BlueprintReadOnly | The item definition whose count changed. | |
| New Count | NewCount |
int32 |
XenoCore › Inventory | BlueprintReadOnly | 0 |
How many the party holds after the change. |
| Delta | Delta |
int32 |
XenoCore › Inventory | BlueprintReadOnly | 0 |
Positive when gained, negative when spent. Never zero - a no-op does not broadcast. |
FXenoCoreItemRarityRow¶
Struct · derives from FTableRowBase · header XenoCoreRuntime/Public/Inventory/XenoCoreItemRarity.h · BlueprintType
One rarity tier: its name, its look in every menu, and which chests may hold it.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Rarity | Rarity |
FGameplayTag |
Rarity | EditAnywhere, BlueprintReadOnly, Categories=XenoCore.Item.Rarity |
The tier this row describes. Items pick it on their Item Category fragment. | |
| Display Name | DisplayName |
FText |
Rarity | EditAnywhere, BlueprintReadOnly | Shown in details panes ("Rare · Materials") and on the Rarity sort. | |
| Rank | Rank |
int32 |
Rarity | EditAnywhere, BlueprintReadOnly | 0 |
Higher is rarer. Orders the Rarity sort, maps chest tiers, and decides the default: an item with no rarity set takes the lowest-ranked row. |
| Name Colour | NameColour |
FLinearColor |
Look | EditAnywhere, BlueprintReadOnly | FLinearColor::White |
Colour every menu draws this tier's item names in. |
| Tint Name | bTintName |
bool |
Look | EditAnywhere, BlueprintReadOnly | true |
Off draws names in each widget's own colour, as if rarity did not exist. |
| Name Shadow | bNameShadow |
bool |
Look | EditAnywhere, BlueprintReadOnly | true |
A soft drop shadow under the tinted name - half strength, 1 unit, beneath the outline. |
| Name Shadow Colour | NameShadowColour |
FLinearColor |
Look | EditAnywhere, BlueprintReadOnly, EditCondition=bNameShadow | FLinearColor(0.0, 0.0, 0.0, 0.5) |
Colour and opacity of the name's drop shadow. |
| Name Shadow Offset | NameShadowOffset |
FVector2D |
Look | EditAnywhere, BlueprintReadOnly, EditCondition=bNameShadow | FVector2D(1.0, 1.0) |
In slate units, before the menu's own scale. |
| Name Outline | bNameOutline |
bool |
Look | EditAnywhere, BlueprintReadOnly | true |
A thin dark outline round the tinted name - every edge of every letter, on any row colour. |
| Name Outline Colour | NameOutlineColour |
FLinearColor |
Look | EditAnywhere, BlueprintReadOnly, EditCondition=bNameOutline | FLinearColor(0.0, 0.0, 0.0, 0.85) |
Colour and opacity of the name's outline. |
| Name Outline Size | NameOutlineSize |
int32 |
Look | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=4, EditCondition=bNameOutline | 1 |
In slate units, before the menu's own scale. 1 is a hairline; 2 starts to fill the letter's counters. |
| Pips | Pips |
int32 |
Look | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=5 | 0 |
Diamonds drawn beside the name. Zero draws none. |
| Pip Colour | PipColour |
FLinearColor |
Look | EditAnywhere, BlueprintReadOnly | FLinearColor::White |
Colour of the rarity diamonds drawn beside the name. |
| Pip Texture | PipTexture |
TSoftObjectPtr<UTexture2D> |
Look | EditAnywhere, BlueprintReadOnly | The art for one pip, tinted by Pip Colour. Empty falls back to a turned square. | |
| Lowest Chest Tier | LowestChestTier |
EXenoCoreChestTier |
Loot | EditAnywhere, BlueprintReadOnly | EXenoCoreChestTier::Wooden |
The lowest chest a drop table may put this tier in. A drop table warns, never errors. |
| Chest Beam Colour | ChestBeamColour |
FLinearColor |
Loot | EditAnywhere, BlueprintReadOnly | FLinearColor::White |
The beam colour of a chest whose tier maps to this rarity. |
| Pickup Sound | PickupSound |
TSoftObjectPtr<USoundBase> |
Look | EditAnywhere, BlueprintReadOnly | Optional. Plays when an item of this tier is picked up or offered by a chest. |
FXenoCoreItemView¶
Struct · header XenoCoreRuntime/Public/Inventory/XenoCoreInventoryStatics.h · BlueprintType
Everything one item row shows, resolved once.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Item | Item |
TObjectPtr<ULyraInventoryItemInstance> |
XenoCore › Inventory | BlueprintReadOnly | nullptr |
The item this row is about. Null on an empty loadout slot - check bIsEmpty first. |
| Is Empty | bIsEmpty |
bool |
XenoCore › Inventory | BlueprintReadOnly | true |
True when there is no item - an empty slot on the loadout screen. |
| Slot | Slot |
EXenoCoreEquipSlot |
XenoCore › Inventory | BlueprintReadOnly | EXenoCoreEquipSlot::Weapon |
The slot this row is about: the slot itself on a loadout row, the item's own otherwise. |
| Slot Label | SlotLabel |
FText |
XenoCore › Inventory | BlueprintReadOnly | "Weapon", "Torso". XC1 says Torso, not Chest. | |
| Display Name | DisplayName |
FText |
XenoCore › Inventory | BlueprintReadOnly | The item's name, or an em dash when the row is empty. Never blank. | |
| Description | Description |
FText |
XenoCore › Inventory | BlueprintReadOnly | The item's description. | |
| Icon | Icon |
TSoftObjectPtr<UTexture2D> |
XenoCore › Inventory | BlueprintReadOnly | The item's icon art, if it has any. | |
| Symbol | Symbol |
FText |
XenoCore › Inventory | BlueprintReadOnly | The glyph shown beside the name, already resolved: the item's own Symbol if it authored one, otherwise its category's default. A row never has to decide. | |
| Symbol Colour | SymbolColour |
FLinearColor |
XenoCore › Inventory | BlueprintReadOnly | FLinearColor::White |
The glyph's colour. |
| Summary Label | SummaryLabel |
FText |
XenoCore › Inventory | BlueprintReadOnly | Heading for the one contextual stat column - "Attack", "Physical Def". | |
| Summary Value | SummaryValue |
FText |
XenoCore › Inventory | BlueprintReadOnly | That column's value - "12-20" for a weapon, a defence number for armour. | |
| Quantity | Quantity |
int32 |
XenoCore › Inventory | BlueprintReadOnly | 0 |
How many of this item definition the party holds. |
| Category | Category |
EXenoCoreItemCategory |
XenoCore › Inventory | BlueprintReadOnly | EXenoCoreItemCategory::Items |
Which tab this item lives under. Equipment unless a category fragment says otherwise. |
| Equip Type | EquipType |
EXenoCoreEquipType |
XenoCore › Inventory | BlueprintReadOnly | EXenoCoreEquipType::None |
XC1's armour class. None for anything that is not equipment, or declares no class. |
| Equip Type Label | EquipTypeLabel |
FText |
XenoCore › Inventory | BlueprintReadOnly | "Light", "Medium", "Heavy", or an em dash. Resolved here so no widget switches on the enum. | |
| Is Equipped | bIsEquipped |
bool |
XenoCore › Inventory | BlueprintReadOnly | false |
Worn by anyone in the party. |
| Equipped Here | bEquippedHere |
bool |
XenoCore › Inventory | BlueprintReadOnly | false |
Worn by the character this view was built for. False when another character has it. |
| Equipped In Slot | EquippedInSlot |
EXenoCoreEquipSlot |
XenoCore › Inventory | BlueprintReadOnly | EXenoCoreEquipSlot::Weapon |
Where it is worn. Only meaningful when bEquippedHere. |
| Equipped Elsewhere | bEquippedElsewhere |
bool |
XenoCore › Inventory | BlueprintReadOnly | false |
Worn - but by somebody other than the character this view was built for. |
| Equipped By Portrait | EquippedByPortrait |
TSoftObjectPtr<UTexture2D> |
XenoCore › Inventory | BlueprintReadOnly | The face to badge the row with. Empty unless bEquippedElsewhere. | |
| Equipped By Name | EquippedByName |
FText |
XenoCore › Inventory | BlueprintReadOnly | Who is wearing it, for the confirmation prompt. Empty unless bEquippedElsewhere. | |
| Sell Value | SellValue |
int32 |
XenoCore › Inventory | BlueprintReadOnly | 0 |
What a shop pays for one. Zero when the item declares no value. |
| Sort Order | SortOrder |
int32 |
XenoCore › Inventory | BlueprintReadOnly | 0 |
Sort key; lower first. Ties fall back to bag order. |
| Can Equip Here | bCanEquipHere |
bool |
XenoCore › Inventory | BlueprintReadOnly | false |
True when equipping this into Slot would be accepted - lets a list grey a row instead of offering an action that will fail. |
| Rarity | Rarity |
FGameplayTag |
XenoCore › Inventory | BlueprintReadOnly | XenoCore.Item.Rarity.* - the item's tier, or the lowest tier when it set none. Empty on an empty slot. |
|
| Rarity Name | RarityName |
FText |
XenoCore › Inventory | BlueprintReadOnly | "Common", "Rare", "Legendary". | |
| Rarity Rank | RarityRank |
int32 |
XenoCore › Inventory | BlueprintReadOnly | 0 |
Higher is rarer. |
| Name Colour | NameColour |
FLinearColor |
XenoCore › Inventory | BlueprintReadOnly | FLinearColor::White |
The name's resting colour - the tier's, or white when the tier does not tint names. |
| Rarity Pips | RarityPips |
int32 |
XenoCore › Inventory | BlueprintReadOnly | 0 |
How many diamonds the tier draws. |
FXenoCoreSocketedGem¶
Struct · header XenoCoreRuntime/Public/Inventory/XenoCoreGemStatics.h · BlueprintType
One socket on a piece of equipment, as the menus draw it.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Gem | Gem |
TSubclassOf<ULyraInventoryItemDefinition> |
XenoCore › Gems | BlueprintReadOnly | The gem in the socket. Null means the socket is empty. | |
| Value | Value |
int32 |
XenoCore › Gems | BlueprintReadOnly | 0 |
Its strength. |
| Fixed | bFixed |
bool |
XenoCore › Gems | BlueprintReadOnly | false |
A permanent gem, welded in by the item definition. It cannot be removed or replaced. |
FXenoCoreStatDefinition¶
Struct · header XenoCoreRuntime/Public/Inventory/XenoCoreInventoryStatics.h · BlueprintType
One stat in XC1's vocabulary: its tag, the attribute it feeds, and how it reads.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Stat Tag | StatTag |
FGameplayTag |
XenoCore › Stats | BlueprintReadOnly | The XenoCore.Stat.* tag an item carries to grant this. |
|
| Attribute | Attribute |
FGameplayAttribute |
XenoCore › Stats | BlueprintReadOnly | The UXenoCoreStatSet attribute it feeds. Invalid for a stat with no character attribute. |
|
| Display Name | DisplayName |
FText |
XenoCore › Stats | BlueprintReadOnly | Localised row label - "Physical Def". | |
| Is Percent | bIsPercent |
bool |
XenoCore › Stats | BlueprintReadOnly | false |
Authored on items as whole percent; the attribute is the 0-1 fraction. |
| Lower Is Better | bLowerIsBetter |
bool |
XenoCore › Stats | BlueprintReadOnly | false |
Weight is the one stat where more is worse - it trades Agility for defence. |
| Show On Equipment Screen | bShowOnEquipmentScreen |
bool |
XenoCore › Stats | BlueprintReadOnly | false |
Whether the item comparison block gives it a row. Table order is row order. |
| Show On Character Sheet | bShowOnCharacterSheet |
bool |
XenoCore › Stats | BlueprintReadOnly | false |
Whether the character sheet block gives it a row. |
FXenoCoreStatLine¶
Struct · header XenoCoreRuntime/Public/Inventory/XenoCoreInventoryStatics.h · BlueprintType
One row of a stat block - "Physical Def 105 (+64)".
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Stat Tag | StatTag |
FGameplayTag |
XenoCore › Inventory | BlueprintReadOnly | The XenoCore.Stat.* tag this row reports. |
|
| Label | Label |
FText |
XenoCore › Inventory | BlueprintReadOnly | Display label, already localised - "Auto-Attack Min", "Physical Def". | |
| Value | Value |
float |
XenoCore › Inventory | BlueprintReadOnly | 0.0 |
Where the character lands. Percent stats are in whole percent here, not 0-1. |
| Delta | Delta |
float |
XenoCore › Inventory | BlueprintReadOnly | 0.0 |
Change against what is equipped now. Zero on a totals block. |
| Affected | bAffected |
bool |
XenoCore › Inventory | BlueprintReadOnly | false |
False when nothing on either side touches this stat - render greyed. |
| Is Percent | bIsPercent |
bool |
XenoCore › Inventory | BlueprintReadOnly | false |
True for CriticalRate and BlockRate, which read as percentages. |
| Value Text | ValueText |
FText |
XenoCore › Inventory | BlueprintReadOnly | The headline number - "105", "12%", or an em dash when unaffected. | |
| Delta Text | DeltaText |
FText |
XenoCore › Inventory | BlueprintReadOnly | The parenthesised change - "(+64)", "(-3)". Empty when the delta is zero. | |
| Delta Color | DeltaColor |
FLinearColor |
XenoCore › Inventory | BlueprintReadOnly | FLinearColor(1.0, 1.0, 1.0, 0.0) |
Gain, loss, or fully transparent when there is no delta to colour. |
| New Value | NewValue |
float |
XenoCore › Inventory | BlueprintReadOnly | 0.0 |
The second column - what this stat becomes if the candidate is equipped. |
| New Value Text | NewValueText |
FText |
XenoCore › Inventory | BlueprintReadOnly | The second column's text. | |
| New Value Color | NewValueColor |
FLinearColor |
XenoCore › Inventory | BlueprintReadOnly | FLinearColor(1.0, 1.0, 1.0, 0.0) |
Green when the change is an improvement, which is not the same as an increase - see FXenoCoreStatDefinition::bLowerIsBetter, where a lighter Weight is a gain. |
| Has New Value | bHasNewValue |
bool |
XenoCore › Inventory | BlueprintReadOnly | false |
False for a stat the swap does not touch; the second column then draws nothing. |
UXenoCoreAbilityCost_PartyItem¶
Class · derives from ULyraAbilityCost · header XenoCoreRuntime/Public/Inventory/XenoCoreAbilityCost_PartyItem.h
Ability cost: spends a number of an item from the party bag. The ability cannot activate unless the party holds enough unequipped copies. Use this instead of Lyra's Inventory Item cost, which never lets an ability activate.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Quantity | Quantity |
FScalableFloat |
XenoCore › Cost | EditAnywhere, BlueprintReadOnly | How many to spend, keyed on ability level. Fractions round down. | |
| Item Definition | ItemDefinition |
TSubclassOf<ULyraInventoryItemDefinition> |
XenoCore › Cost | EditAnywhere, BlueprintReadOnly | The item to spend. |
UXenoCoreFragment_EquipSlots¶
Class · derives from ULyraInventoryItemFragment · header XenoCoreRuntime/Public/Inventory/XenoCoreItemFragments.h
Which of XC1's six slots an item may occupy.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Allowed Slots | AllowedSlots |
TArray<EXenoCoreEquipSlot> |
XenoCore › Equipment | EditDefaultsOnly | Empty means the item is not equipment at all - a material, a key item, an Arts manual. | |
| Equip Type | EquipType |
EXenoCoreEquipType |
XenoCore › Equipment | EditDefaultsOnly | EXenoCoreEquipType::None |
XC1's Light / Medium / Heavy. None draws as an em dash on the details panel. |
| Weapon Type | WeaponType |
TObjectPtr<const UXenoCoreWeaponTypeDefinition> |
XenoCore › Equipment | EditDefaultsOnly | nullptr |
The kind of weapon this is. Empty means any character may wield it. |
| Override Gem Slots | bOverrideGemSlots |
bool |
XenoCore › Equipment | EditDefaultsOnly | false |
Weapons only: use Gem Slots below instead of the weapon type's Default Gem Slots. |
| Gem Slots | GemSlots |
int32 |
XenoCore › Equipment | EditDefaultsOnly, ClampMin=0, ClampMax=3 | 0 |
Armour: how many gems this piece holds (0 or 1). Weapons: read only when Override Gem Slots is ticked (0-3). |
| Fixed Gems | FixedGems |
TArray<FXenoCoreFixedGem> |
XenoCore › Equipment | EditDefaultsOnly | Permanent gems, written into the first sockets when the item is created. They cannot be removed. |
UXenoCoreFragment_Gem¶
Class · derives from ULyraInventoryItemFragment · header XenoCoreRuntime/Public/Inventory/XenoCoreItemFragments.h
Makes an item a gem: the stat it raises, its rank, its strength band and its per-character cap.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Gem Id | GemId |
int32 |
XenoCore › Gems | EditDefaultsOnly, ClampMin=1 | 0 |
This gem's identity inside a socket. Unique across the gem registry, never 0, never renumbered. |
| Rank | Rank |
int32 |
XenoCore › Gems | EditDefaultsOnly, ClampMin=1, ClampMax=6 | 1 |
I to vi. Display only - the band below is what the rank means. |
| Stat Tag | StatTag |
FGameplayTag |
XenoCore › Gems | EditDefaultsOnly, Categories=XenoCore.Stat |
The XenoCore.Stat.* this gem adds to. It must be a SetByCaller on the gem stats effect. |
|
| Min Value | MinValue |
int32 |
XenoCore › Gems | EditDefaultsOnly, ClampMin=0 | 5 |
The lowest strength a gem of this rank can roll. Whole numbers; a percent stat is whole percent. |
| Max Value | MaxValue |
int32 |
XenoCore › Gems | EditDefaultsOnly, ClampMin=0 | 10 |
The highest strength a gem of this rank can roll. |
| Cap | Cap |
int32 |
XenoCore › Gems | EditDefaultsOnly, ClampMin=0 | 0 |
The most every gem of this stat can add to one character, summed across all their sockets. XC1: Strength Up 150, Agility Up 50, Critical Up 25. |
UXenoCoreFragment_ItemCategory¶
Class · derives from ULyraInventoryItemFragment · header XenoCoreRuntime/Public/Inventory/XenoCoreItemFragments.h
Which tab an item lives under, and how many of it the party may hold.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Category | Category |
EXenoCoreItemCategory |
XenoCore › Item | EditDefaultsOnly | EXenoCoreItemCategory::Items |
The inventory tab this item is listed under. |
| Max Carried | MaxCarried |
int32 |
XenoCore › Item | EditDefaultsOnly, ClampMin=0 | 0 |
How many the party may hold. Zero means uncapped - XC1 caps collectables at 99. |
| Sell Value | SellValue |
int32 |
XenoCore › Item | EditDefaultsOnly, ClampMin=0 | 0 |
What a shop pays for one of these. |
| Sort Order | SortOrder |
int32 |
XenoCore › Item | EditDefaultsOnly | 0 |
Where this sits in a sorted list. Lower comes first; ties fall back to bag order. |
| Rarity | Rarity |
FGameplayTag |
XenoCore › Item | EditDefaultsOnly, Categories=XenoCore.Item.Rarity |
How rare this item is. Empty means the lowest tier in the rarity table (Common). |
UXenoCoreFragment_ItemDisplay¶
Class · derives from ULyraInventoryItemFragment · header XenoCoreRuntime/Public/Inventory/XenoCoreItemFragments.h
The prose an item shows in a details panel.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Description | Description |
FText |
XenoCore › Display | EditDefaultsOnly | The item's description, shown in details panels. | |
| Icon | Icon |
TSoftObjectPtr<UTexture2D> |
XenoCore › Display | EditDefaultsOnly | The item's own icon. Empty uses its category's glyph from the item icon set. | |
| Symbol | Symbol |
FText |
XenoCore › Display | EditDefaultsOnly | A short glyph shown beside the name in the loot panel and the items list. | |
| Symbol Colour | SymbolColour |
FLinearColor |
XenoCore › Display | EditDefaultsOnly | FLinearColor(0.72, 0.8, 0.92, 1.0) |
The glyph's tint. For a gem, its colour: tints its socket icon on the equipment screen. |
UXenoCoreGemRegistry¶
Class · derives from UPrimaryDataAsset · header XenoCoreRuntime/Public/Inventory/XenoCoreGemRegistry.h · BlueprintType
Every gem in the game, by id, and the effect that carries gem stats to a character.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Gems | Gems |
TArray<TSubclassOf<ULyraInventoryItemDefinition>> |
XenoCore › Gems | EditAnywhere, BlueprintReadOnly | Every gem item definition. Each needs a XenoCore Gem fragment with a unique, non-zero Gem Id. | |
| Gem Stats Effect | GemStatsEffect |
TSubclassOf<UGameplayEffect> |
XenoCore › Gems | EditAnywhere, BlueprintReadOnly | The effect a character's gems are applied through. Normally GE_XenoCore_EquipmentStats. |
UXenoCoreGemStatics¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreRuntime/Public/Inventory/XenoCoreGemStatics.h
Gems: what is in a socket, socketing and unsocketing, and what a character's gems add up to.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Is Gem | Pure | bool IsGem(const ULyraInventoryItemInstance* Item) |
True if this item is a gem. |
| Get Gem Slot Count | Pure | int32 GetGemSlotCount(const ULyraInventoryItemInstance* Item) |
How many sockets this piece of equipment has. |
| Get Gem Strength | Pure | int32 GetGemStrength(const ULyraInventoryItemInstance* GemItem) |
A loose gem's strength. |
| Get Sockets | Pure | TArray<FXenoCoreSocketedGem> GetSockets(const ULyraInventoryItemInstance* Item) |
Every socket on this piece, empty ones included, in order. |
| Get Loose Gems | Callable | TArray<ULyraInventoryItemInstance*> GetLooseGems() |
Every gem in the party bag, strongest first within a name. |
| Socket Gem | Callable | bool SocketGem(ULyraInventoryItemInstance* Host, int32 SocketIndex, ULyraInventoryItemInstance* GemItem) |
Put a loose gem from the bag into a socket. |
| Unsocket Gem | Callable | bool UnsocketGem(ULyraInventoryItemInstance* Host, int32 SocketIndex) |
Take a gem out of a socket and back into the bag. |
| Can Unsocket | Pure | bool CanUnsocket(const ULyraInventoryItemInstance* Host, int32 SocketIndex) |
True if this socket holds a gem that can be taken out. |
| Get Gem Name | Pure | FText GetGemName(TSubclassOf<ULyraInventoryItemDefinition> GemDef) |
"Strength Up I", the gem's name. |
| Describe Gem Effect | Pure | FText DescribeGemEffect(TSubclassOf<ULyraInventoryItemDefinition> GemDef, int32 Value) |
"Strength +8" - what a gem of this strength does. |
| Get Gem Value Text | Pure | 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 Gem Row Text | Pure | FText GetGemRowText(const ULyraInventoryItemInstance* Item) |
One loadout row's sockets on one line: an O per gem, a dash per empty socket. |
| Get Gem Colour | Pure | FLinearColor GetGemColour(TSubclassOf<ULyraInventoryItemDefinition> GemDef) |
The gem's colour - its display fragment's Symbol Colour, set to its XC1 element. |
| Get Gem Names Text | Pure | FText GetGemNamesText(const ULyraInventoryItemInstance* Item) |
The item's socketed gems by name, "Empty Slot" for an empty one. |
| Preview Socket Change | Callable | 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). |
UXenoCoreInventoryStatics¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreRuntime/Public/Inventory/XenoCoreInventoryStatics.h
The read side of XC1 equipment: everything a screen needs to know, and nothing that changes state.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Party Inventory | Pure | ULyraInventoryManagerComponent* GetPartyInventory() |
The party bag. |
| Get Items For Slot | Callable | TArray<ULyraInventoryItemInstance*> GetItemsForSlot(EXenoCoreEquipSlot Slot, const UXenoCoreEquipmentComponent* ForCharacter = nullptr) |
Every item in the party bag that may go in Slot, in bag order. |
| Can Unequip Slot | Pure | bool CanUnequipSlot(UXenoCoreEquipmentComponent* Equipment, EXenoCoreEquipSlot Slot) |
Whether the loadout's unequip action should be offered for this slot. |
| Get Item Display Name | Pure | FText GetItemDisplayName(ULyraInventoryItemInstance* Item) |
The item's display name off its definition. |
| Get Item Stat | Pure | float GetItemStat(ULyraInventoryItemInstance* Item, FGameplayTag StatTag) |
One stat off an item, 0 when absent. |
| Get Slot Label | Pure | FText GetSlotLabel(EXenoCoreEquipSlot Slot) |
Display label for a slot - "Weapon", "Torso". |
| Get Loadout Slot Text | Pure | 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 Equip Type Label | Pure | FText GetEquipTypeLabel(EXenoCoreEquipType EquipType) |
Display label for an armour class - "Medium". |
| Make Item View | Pure | FXenoCoreItemView MakeItemView(ULyraInventoryItemInstance* Item, UXenoCoreEquipmentComponent* Equipment) |
One selection row: an item, priced and flagged against a character's current loadout. |
| Make Slot View | Pure | FXenoCoreItemView MakeSlotView(UXenoCoreEquipmentComponent* Equipment, EXenoCoreEquipSlot Slot) |
One loadout row: a named slot and whatever is in it. |
| Get Item Views For Slot | Callable | TArray<FXenoCoreItemView> GetItemViewsForSlot(UXenoCoreEquipmentComponent* Equipment, EXenoCoreEquipSlot Slot) |
The selection list for one slot: every bag item that fits it, already resolved. |
| Get Loadout Views | Callable | TArray<FXenoCoreItemView> GetLoadoutViews(UXenoCoreEquipmentComponent* Equipment) |
The six loadout rows, in slot order, empties included. |
| Get Items For Category | Callable | TArray<ULyraInventoryItemInstance*> GetItemsForCategory(EXenoCoreItemCategory Category) |
Every item instance in the party bag whose category matches. |
| Get Item Views For Category | Callable | TArray<FXenoCoreItemView> GetItemViewsForCategory(EXenoCoreItemCategory Category) |
One row per item definition in a tab, with Quantity filled in - "Ether Crystal x12". |
| Get Item Category | Pure | EXenoCoreItemCategory GetItemCategory(ULyraInventoryItemInstance* Item) |
Which tab an item belongs to. |
| Get Item Symbol | Pure | FText GetItemSymbol(ULyraInventoryItemInstance* Item, FLinearColor& OutColour) |
The glyph shown beside an item's name, and its colour. |
| Get Category Symbol | Pure | FText GetCategorySymbol(EXenoCoreItemCategory Category, FLinearColor& OutColour) |
The category's default glyph and colour, with no item to ask. |
| Get Stat Definitions | Pure | const TArray<FXenoCoreStatDefinition>& GetStatDefinitions() |
Every stat XC1 knows about, in display order. |
| Find Stat Definition | Pure | bool FindStatDefinition(FGameplayTag StatTag, FXenoCoreStatDefinition& OutDefinition) |
One stat by tag. |
| Get Party Item Count | Pure | int32 GetPartyItemCount(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
How many of ItemDef the party holds. |
| Add Item To Party | Callable | int32 AddItemToParty(TSubclassOf<ULyraInventoryItemDefinition> ItemDef, int32 Count = 1) |
Adds Count of ItemDef to the party bag, honouring the item's MaxCarried cap. |
| Add One Item To Party | Callable | ULyraInventoryItemInstance* AddOneItemToParty(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
Adds exactly one and returns the instance, which the equip path needs and a count cannot give. |
| Remove Item From Party | Callable | int32 RemoveItemFromParty(TSubclassOf<ULyraInventoryItemDefinition> ItemDef, int32 Count = 1) |
Removes up to Count of ItemDef. |
| Remove Item Instance From Party | Callable | bool RemoveItemInstanceFromParty(ULyraInventoryItemInstance* Item) |
Removes this exact item from the party bag. |
| Consume Items From Party | Callable | bool ConsumeItemsFromParty(TSubclassOf<ULyraInventoryItemDefinition> ItemDef, int32 Count = 1) |
Spends exactly Count of ItemDef, or nothing at all. |
| Get Free Party Item Count | Pure | int32 GetFreePartyItemCount(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
How many of ItemDef the party holds that nobody is wearing - what can be spent or sold. |
| Is Item Equipped By Anyone | Pure | bool IsItemEquippedByAnyone(const ULyraInventoryItemInstance* Item) |
True if any character in the world has this exact instance equipped. |
| Find Free Item By Definition | Pure | ULyraInventoryItemInstance* FindFreeItemByDefinition(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
An instance of this definition that the party owns and nobody is wearing, or null. |
| Find Equipment Holding | Pure | UXenoCoreEquipmentComponent* FindEquipmentHolding(const ULyraInventoryItemInstance* Item) |
Whose loadout holds this item, or null if nobody is wearing it. |
| Get Max Carried | Pure | int32 GetMaxCarried(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
The carry cap for a definition, or 0 when uncapped. |
| Build Item Stat Lines | Callable | 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 | TArray<FXenoCoreStatLine> BuildItemStatLinesForDef(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
The same block, priced off a definition - for an item nobody owns yet. |
| Get Item Stat For Def | Pure | float GetItemStatForDef(TSubclassOf<ULyraInventoryItemDefinition> ItemDef, FGameplayTag StatTag) |
One authored stat off a definition's CDO. |
| Build Stat Comparison | Callable | 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 | 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 | TArray<FXenoCoreStatLine> BuildStatTotals(AActor* Character) |
The character's actual current stats, read through the ability system. |
| Build Stat Totals With Candidate | Callable | 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. |
UXenoCoreInventoryWatchSubsystem¶
Class · derives from UTickableWorldSubsystem · header XenoCoreRuntime/Public/Inventory/XenoCoreInventoryWatchSubsystem.h
Notices party-bag edits made without the XenoCore inventory functions (for example Lyra's own inventory nodes) and sends the inventory-changed message for them, so menus stay current.
UXenoCoreItemIconSet¶
Class · derives from UPrimaryDataAsset · header XenoCoreRuntime/Public/Inventory/XenoCoreItemIconSet.h · BlueprintType
One glyph per item category, for items that carry no art of their own.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Category Icons | CategoryIcons |
TMap<EXenoCoreItemCategory, TObjectPtr<UMaterialInterface>> |
XenoCore › Inventory | EditAnywhere, BlueprintReadOnly | The glyph for each category. | |
| Slot Icons | SlotIcons |
TMap<EXenoCoreEquipSlot, TObjectPtr<UMaterialInterface>> |
XenoCore › Inventory | EditAnywhere, BlueprintReadOnly | The glyph for each equipment slot - the six tabs the Equipment category splits into on a merchant list (XC1's Buy list: Weapons, Head, Torso, Arms, Legs, Feet). |
UXenoCoreItemRarityStatics¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreRuntime/Public/Inventory/XenoCoreItemRarity.h
Item rarity: the tier an item is, and how every menu should draw it.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Rarity Info | Pure | bool GetRarityInfo(FGameplayTag Rarity, FXenoCoreItemRarityRow& OutRow) |
The row for a tier. |
| Get Default Rarity Info | Pure | bool GetDefaultRarityInfo(FXenoCoreItemRarityRow& OutRow) |
The lowest-ranked row - what an item with no rarity set is. |
| Get Item Rarity | Pure | FGameplayTag GetItemRarity(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
An item definition's tier: its authored tag, else the default row's. |
| Get Item Rarity Info | Pure | bool GetItemRarityInfo(TSubclassOf<ULyraInventoryItemDefinition> ItemDef, FXenoCoreItemRarityRow& OutRow) |
An item definition's rarity row. |
| Get Item Rarity Rank | Pure | int32 GetItemRarityRank(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
Higher is rarer. |
| Get Item Rarity Name | Pure | FText GetItemRarityName(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
"Common", "Rare", "Legendary". |
| Get Item Name Colour | Pure | 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 Rarity For Chest Tier | Pure | bool GetRarityForChestTier(EXenoCoreChestTier Tier, FXenoCoreItemRarityRow& OutRow) |
The rarity a chest of this tier stands for - the highest rank whose Lowest Chest Tier fits. |
| Apply Item Rarity | Callable | 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. |
| Apply Item Instance Rarity | Callable | 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 Rarity To Button | Callable | bool ApplyItemRarityToButton(UUserWidget* Button, ULyraInventoryItemInstance* Item, FLinearColor Fallback = FLinearColor::White) |
Colour a button's label by an item's rarity. |
| Apply Item Definition Rarity To Button | Callable | 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 Loadout Slot Rarity | Callable | 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). |
| Prefix With Item Rarity | Pure | FText PrefixWithItemInstanceRarity(ULyraInventoryItemInstance* Item, const FText& Rest) |
"Rare · Weapon" - the tier in words in front of Rest. |
| Apply Item Rarity Label | Callable | bool ApplyItemRarityLabel(TSubclassOf<ULyraInventoryItemDefinition> ItemDef, UTextBlock* Text, FLinearColor Fallback = FLinearColor::White) |
Write the tier's name into a details row and colour it. |
| Apply Item Instance Rarity Label | Callable | bool ApplyItemInstanceRarityLabel(ULyraInventoryItemInstance* Item, UTextBlock* Text, FLinearColor Fallback = FLinearColor::White) |
ApplyItemRarityLabel for an item in the bag. |
UXenoCoreStatRowBase¶
Class · derives from UUserWidget · header XenoCoreRuntime/Public/Inventory/XenoCoreStatRowBase.h · abstract
One row of the equipment stat block - "Physical Def 105 (+64)".
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Label Text | LabelText |
TObjectPtr<UTextBlock> |
XenoCore › Inventory | BlueprintReadOnly, BindWidget | No description. | |
| Value Text | ValueText |
TObjectPtr<UTextBlock> |
XenoCore › Inventory | BlueprintReadOnly, BindWidget | No description. | |
| Delta Text | DeltaText |
TObjectPtr<UTextBlock> |
XenoCore › Inventory | BlueprintReadOnly, BindWidget | No description. | |
| Trail Spacer | TrailSpacer |
TObjectPtr<UWidget> |
XenoCore › Inventory | BlueprintReadOnly, BindWidgetOptional | The fill after DeltaText. Optional - SetDeltaColumnVisible collapses it with the column. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Set Line | Callable | void SetLine(const FXenoCoreStatLine& Line) |
Fills the row from one stat line. |
| Set Delta Gap | Callable | void SetDeltaGap(float Gap) |
The space between the value and its "(+n)", overriding the row asset's 8px. |
| Set Label Dimmed | Callable | void SetLabelDimmed(bool bDimmed) |
Grey the label too - the reference's compare cards grey a whole row neither item touches. |
| Set Delta Column Visible | Callable | void SetDeltaColumnVisible(bool bVisible) |
Show or collapse the "(+n)" column and the spacer behind it, so the value sits flush right. |
XenoCoreRuntime / Locomotion¶
UXenoCoreLocomotionStatics¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreRuntime/Public/Locomotion/XenoCoreLocomotionStatics.h
Rotation-mode switching for XC1's two movement stances.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Set Combat Stance | Callable | void SetCombatStance(ACharacter* Character, bool bInCombatStance) |
Puts the character into the combat stance (strafe) or the travel stance (free-run). |
| Suppress Self Rotation | Callable | bool SuppressSelfRotation(ACharacter* Character) |
Takes yaw ownership away from the pawn so an ability can aim it, and gives it back. |
| Restore Self Rotation | Callable | void RestoreSelfRotation(ACharacter* Character) |
Puts the three facing flags back to what the pawn class was authored with. |
XenoCoreRuntime / Loot¶
AXenoCoreCollectableOrb¶
Class · derives from AActor · header XenoCoreRuntime/Public/Loot/XenoCoreCollectableOrb.h · Blueprintable
A blue field orb. Walk into it and its item goes into the party bag.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Item To Grant | ItemToGrant |
TSubclassOf<ULyraInventoryItemDefinition> |
XenoCore › Collectable | EditAnywhere, BlueprintReadWrite | What walking into this orb puts in the bag. The one required field. | |
| Collect Radius | CollectRadius |
float |
XenoCore › Collectable | EditAnywhere, BlueprintReadWrite, ClampMin=16.0 | 90.0 |
How close the player must get. XC1 collects on contact, so this is body-sized, not a room. |
| Respawns | bRespawns |
bool |
XenoCore › Collectable | EditAnywhere, BlueprintReadWrite | true |
If set, the orb comes back after Respawn Seconds (as in XC1). Turn off for a one-shot reward orb. |
| Respawn Seconds | RespawnSeconds |
float |
XenoCore › Collectable | EditAnywhere, BlueprintReadWrite, ClampMin=0.0, EditCondition=bRespawns | 300.0 |
Seconds before a collected orb comes back. XC1 uses 5 minutes. |
| Orb Effect | OrbEffect |
TObjectPtr<UNiagaraSystem> |
XenoCore › Collectable | EditAnywhere, BlueprintReadWrite | The glow. Left unset in C++ so no asset path is hardcoded here - B_XenoCore_CollectableOrb sets it to NS_XenoCore_CollectableOrb, and that Blueprint is what a designer places. |
|
| Collect Sound | CollectSound |
TObjectPtr<USoundBase> |
XenoCore › Collectable | EditAnywhere, BlueprintReadWrite | Played once on collection. Unset ships silent rather than borrowing somebody else's cue. | |
| Collect Volume | CollectVolume |
TObjectPtr<USphereComponent> |
XenoCore › Collectable | VisibleAnywhere, BlueprintReadOnly | The overlap volume. Root, so moving the actor moves everything. | |
| Orb Visual | OrbVisual |
TObjectPtr<UNiagaraComponent> |
XenoCore › Collectable | VisibleAnywhere, BlueprintReadOnly | Plays Orb Effect while the orb is available. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Collect | Callable | bool Collect() |
Collect now, ignoring proximity entirely. |
| Is Available | Pure | bool IsAvailable() const |
True while the orb is on the ground and takeable. |
| On Collected | Event (implement in Blueprint) | void K2_OnCollected(ULyraInventoryItemInstance* Instance) |
Called after the item has entered the bag. |
| On Respawned | Event (implement in Blueprint) | void K2_OnRespawned() |
Called when the orb comes back after RespawnSeconds. |
AXenoCoreTreasureChest¶
Class · derives from AActor · header XenoCoreRuntime/Public/Loot/XenoCoreTreasureChest.h · abstract · Blueprintable
The treasure chest an enemy leaves behind.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Chest Body | ChestBody |
TObjectPtr<UStaticMeshComponent> |
XenoCore › Loot | VisibleAnywhere, BlueprintReadOnly | The body, and the root. | |
| Chest Lid | ChestLid |
TObjectPtr<UStaticMeshComponent> |
XenoCore › Loot | VisibleAnywhere, BlueprintReadOnly | The lid, as a separate component so it can rotate. | |
| Option | Option |
FInteractionOption |
XenoCore › Loot | EditDefaultsOnly, BlueprintReadOnly | What the prompt says and which ability opening runs. Use the Blueprint ability class, not a C++ base. | |
| Drop Table | DropTable |
TObjectPtr<const UXenoCoreDropTable> |
XenoCore › Loot | EditAnywhere, BlueprintReadOnly | Where the contents come from. Set it on a hand-placed chest; InitialiseFromDrop writes it when an enemy drops this chest. | |
| Tier | Tier |
EXenoCoreChestTier |
XenoCore › Loot | EditAnywhere, BlueprintReadOnly | EXenoCoreChestTier::Wooden |
Rolled at death for an enemy drop - the tier is what the player sees on the ground - and authored directly on a hand-placed chest. |
| Source Level | SourceLevel |
int32 |
XenoCore › Loot | EditAnywhere, BlueprintReadOnly, ClampMin=1 | 1 |
The source enemy's level - the drop table's level bands roll against it. Set it on a hand-placed chest. |
| Opened | bOpened |
bool |
XenoCore › Loot | VisibleInstanceOnly, BlueprintReadOnly | false |
Latch. The chest stays in the world once opened; the Blueprint decides what it looks like. |
| Dropped Chest | bDroppedChest |
bool |
XenoCore › Loot | VisibleInstanceOnly, BlueprintReadOnly | false |
Set by InitialiseFromDrop, and by a respawn from a dropped record. |
| Pending Contents | PendingContents |
TArray<TSubclassOf<ULyraInventoryItemDefinition>> |
XenoCore › Loot | VisibleInstanceOnly, BlueprintReadOnly | Rolled on Open and held until the player decides. | |
| Lid Open Angle | LidOpenAngle |
float |
XenoCore › Loot › Presentation | EditDefaultsOnly | 105.0 |
How far the lid swings, in degrees. Positive lifts the front. |
| Flip Hinge Side | bFlipHingeSide |
bool |
XenoCore › Loot › Presentation | EditDefaultsOnly | false |
Which end of the short axis the hinge is on. |
| Lid Hinge Offset | LidHingeOffset |
FVector |
XenoCore › Loot › Presentation | EditDefaultsOnly | FVector::ZeroVector |
Hinge position override, in the lid's own local space. |
| Front Yaw Offset | FrontYawOffset |
float |
XenoCore › Loot › Presentation | EditDefaultsOnly | -90.0 |
Yaw from "looking at the target" to "front facing the target". |
| Lid Open Time | LidOpenTime |
float |
XenoCore › Loot › Presentation | EditDefaultsOnly, ClampMin=0.01 | 0.35 |
Seconds for the lid to swing. |
| Beam Mesh | BeamMesh |
TObjectPtr<UStaticMeshComponent> |
XenoCore › Loot › Presentation | VisibleAnywhere, BlueprintReadOnly | The vertical shaft of light that says "there is loot here". | |
| Beam Mesh Asset | BeamMeshAsset |
TObjectPtr<UStaticMesh> |
XenoCore › Loot › Presentation | EditDefaultsOnly | The shaft's geometry. Stock /Engine/BasicShapes/Cylinder - 100uu tall, 50uu radius, centred on its own origin, which is what BeamHeight and BeamRadius are scaled against. | |
| Beam Material | BeamMaterial |
TObjectPtr<UMaterialInterface> |
XenoCore › Loot › Presentation | EditDefaultsOnly | The shaft's look. Expected to expose a "Colour" vector and an "Intensity" scalar - the chest makes a dynamic instance and drives both. | |
| Beam Height | BeamHeight |
float |
XenoCore › Loot › Presentation | EditDefaultsOnly, ClampMin=1.0 | 700.0 |
How tall the shaft reaches, in world units. |
| Beam Width | BeamWidth |
float |
XenoCore › Loot › Presentation | EditDefaultsOnly, ClampMin=0.0 | 0.0 |
The side of the beam's square cross-section, in world units. |
| Beam Width Fraction | BeamWidthFraction |
float |
XenoCore › Loot › Presentation | EditDefaultsOnly, ClampMin=0.05, ClampMax=1.0 | 0.66 |
How much of the chest's footprint the derived beam fills, per axis. |
| Beam Fade Time | BeamFadeTime |
float |
XenoCore › Loot › Presentation | EditDefaultsOnly, ClampMin=0.01 | 0.4 |
Seconds for the shaft to rise on open, and to fade on the answer. |
| Beam Offset | BeamOffset |
FVector |
XenoCore › Loot › Presentation | EditDefaultsOnly | FVector::ZeroVector |
An extra nudge on the beam's base, on top of the rim. |
| Use Rarity Beam Colour | bUseRarityBeamColour |
bool |
XenoCore › Loot › Presentation | EditDefaultsOnly | true |
Colour the beam by the rarity this chest tier stands for. Off uses the Beam Colour fields. |
| Beam Colour Wooden | BeamColourWooden |
FLinearColor |
XenoCore › Loot › Presentation | EditDefaultsOnly | FLinearColor(1.0, 0.86, 0.3, 1.0) |
The tier is the colour - one material, three tints, no second asset. Used when Use Rarity Beam Colour is off. |
| Beam Colour Silver | BeamColourSilver |
FLinearColor |
XenoCore › Loot › Presentation | EditDefaultsOnly | FLinearColor(1.0, 0.92, 0.55, 1.0) |
Beam colour for a silver chest. Used when Use Rarity Beam Colour is off. |
| Beam Colour Gold | BeamColourGold |
FLinearColor |
XenoCore › Loot › Presentation | EditDefaultsOnly | FLinearColor(1.0, 0.74, 0.16, 1.0) |
Beam colour for a gold chest. Used when Use Rarity Beam Colour is off. |
| Beam Intensity | BeamIntensity |
float |
XenoCore › Loot › Presentation | EditDefaultsOnly, ClampMin=0.0 | 4.0 |
Peak brightness the shaft fades up to. |
| Beam Opacity | BeamOpacity |
float |
XenoCore › Loot › Presentation | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0 | 0.55 |
Peak opacity of the shaft. |
| Open Sound | OpenSound |
TObjectPtr<USoundBase> |
XenoCore › Loot › Presentation | EditDefaultsOnly | The lid creak / chime when the chest opens. | |
| Take Sound | TakeSound |
TObjectPtr<USoundBase> |
XenoCore › Loot › Presentation | EditDefaultsOnly | The confirmation when the player takes the loot. Not played for "take none". | |
| Beam Effect | BeamEffect |
TObjectPtr<UNiagaraSystem> |
XenoCore › Loot › Presentation | EditDefaultsOnly | Optional extra particles - motes, sparkle - on top of the mesh shaft. | |
| Open Burst Effect | OpenBurstEffect |
TObjectPtr<UNiagaraSystem> |
XenoCore › Loot › Presentation | EditDefaultsOnly | One-shot burst out of the lid as it opens. Receives the tier colour as User.Color. | |
| Reveal Effect | RevealEffect |
TObjectPtr<UNiagaraSystem> |
XenoCore › Loot › Presentation | EditDefaultsOnly | One-shot burst where a dropped chest appears - only a drop has a reveal. Tier colour as User.Color. | |
| Beam Component | BeamComponent |
TObjectPtr<UNiagaraComponent> |
XenoCore › Loot › Presentation | Transient, BlueprintReadOnly | The live particle extra, so it can be stopped when the player answers. | |
| Despawn Delay | DespawnDelay |
float |
XenoCore › Loot › Presentation | EditDefaultsOnly, ClampMin=0.0 | 0.75 |
How long the chest lingers after the player has answered. |
| Label Component | LabelComponent |
TObjectPtr<UWidgetComponent> |
XenoCore › Loot | VisibleAnywhere, BlueprintReadOnly | "Treasure Chest" and the arrow, on the chest. | |
| Label Widget Class | LabelWidgetClass |
TSubclassOf<UUserWidget> |
XenoCore › Loot | EditDefaultsOnly | The widget drawn above the chest by LabelComponent. | |
| Label Height | LabelHeight |
float |
XenoCore › Loot | EditDefaultsOnly | 205.0 |
Height above the chest origin for the label. Sits above the button prompt. |
| Label Range | LabelRange |
float |
XenoCore › Loot | EditDefaultsOnly, ClampMin=0.0 | 400.0 |
How close the player must be to read the label. |
| Offer Delay After Lid | OfferDelayAfterLid |
float |
XenoCore › Loot › Presentation | EditDefaultsOnly, ClampMin=0.0 | 0.1 |
A beat after the lid has finished, before the panel appears. |
| Lid Open On Spawn | bLidOpenOnSpawn |
bool |
XenoCore › Loot › Presentation | EditAnywhere, BlueprintReadOnly | true |
The lid is already open when the chest appears. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Initialise From Drop | Callable | void InitialiseFromDrop(const UXenoCoreDropTable* InDropTable, EXenoCoreChestTier InTier, int32 InSourceLevel) |
Sets the drop table, tier and source level. |
| Open | Callable | void Open(AActor* Opener) |
Roll the contents, put them in the party bag, and announce it. |
| Take All | Callable | int32 TakeAll(AActor* Taker) |
Puts everything the chest offered into the party bag. |
| Face Actor | Callable | void FaceActor(const AActor* Target) |
Turns the chest so its front faces Target. |
| Take None | Callable | void TakeNone() |
XC1's "take none of them". |
| Get Pending Contents | Pure | const TArray<TSubclassOf<ULyraInventoryItemDefinition>>& GetPendingContents() const |
What the chest is currently offering, if anything. |
| Is Awaiting Decision | Pure | bool IsAwaitingDecision() const |
True while the chest is open and still holding an untaken offer. |
| Get Tier | Pure | EXenoCoreChestTier GetTier() const |
The chest's tier: wooden, silver or gold. |
| Is Opened | Pure | bool IsOpened() const |
True once the chest has been opened. |
| Get Source Level | Pure | int32 GetSourceLevel() const |
The level of the enemy that dropped this chest; the drop table's level bands roll against it. |
| Is Resolved | Pure | bool IsResolved() const |
Answered and about to despawn. |
| Is Dropped Chest | Pure | bool IsDroppedChest() const |
True when an enemy dropped this chest (or it was respawned from such a record). |
| On Opened | Event (implement in Blueprint) | void K2_OnOpened(const TArray<TSubclassOf<ULyraInventoryItemDefinition>>& Offered) |
Play the lid, spawn the beam. |
| On Tier Set | Event (implement in Blueprint) | void K2_OnTierSet(EXenoCoreChestTier InTier) |
Dress the chest for its tier - wood, silver or gold. |
| On Resolved | Event (implement in Blueprint) | void K2_OnResolved(bool bTookAnything) |
The player has answered - the offer is gone and the chest is about to despawn. |
| Begin Drop Reveal | Callable | void BeginDropReveal(float Delay) |
Hides the chest and keeps it unopenable for Delay seconds, then reveals it. |
| Is Revealed | Pure | bool IsRevealed() const |
False while the drop delay is still running. |
EXenoCoreChestTier¶
Enum · header XenoCoreRuntime/Public/Loot/XenoCoreDropTable.h · BlueprintType
XC1's three chest tiers.
| Value | Shown as | Description |
|---|---|---|
Wooden |
Wooden | One or two materials. |
Silver |
Silver | Materials, normal weapons, ether crystals. |
Gold |
Gold | Weapons, unique weapons, armour, Arts Manuals. |
FXenoCoreChestOpenedMessage¶
Struct · header XenoCoreRuntime/Public/Loot/XenoCoreTreasureChest.h · BlueprintType
The payload on XenoCore.Loot.Message.ChestOpened.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Chest | Chest |
TObjectPtr<AActor> |
XenoCore › Loot | BlueprintReadOnly | nullptr |
The chest. Null is not expected, but a listener outliving it is. |
| Tier | Tier |
EXenoCoreChestTier |
XenoCore › Loot | BlueprintReadOnly | EXenoCoreChestTier::Wooden |
The chest's tier. |
| Offered | Offered |
TArray<TSubclassOf<ULyraInventoryItemDefinition>> |
XenoCore › Loot | BlueprintReadOnly | What the chest is offering. Nothing has entered the bag yet. |
FXenoCoreCollectableCollectedMessage¶
Struct · header XenoCoreRuntime/Public/Loot/XenoCoreCollectableOrb.h · BlueprintType
The payload on XenoCore.Collectable.Message.Collected.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Item Def | ItemDef |
TSubclassOf<ULyraInventoryItemDefinition> |
XenoCore › Collectable | BlueprintReadOnly | What was picked up. Never null on a broadcast - a refused pickup does not send. | |
| Instance | Instance |
TObjectPtr<ULyraInventoryItemInstance> |
XenoCore › Collectable | BlueprintReadOnly | nullptr |
The instance that entered the bag, for anything that needs its stat tags. |
| Orb | Orb |
TObjectPtr<AActor> |
XenoCore › Collectable | BlueprintReadOnly | nullptr |
The orb. Null is not expected, but a listener outliving it is. |
FXenoCoreDropEntry¶
Struct · header XenoCoreRuntime/Public/Loot/XenoCoreDropTable.h · BlueprintType
One candidate item, and how heavily it is favoured against the others in its pool.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Item Def | ItemDef |
TSoftClassPtr<ULyraInventoryItemDefinition> |
XenoCore › Loot | EditAnywhere, BlueprintReadOnly | No description. | |
| Weight | Weight |
float |
XenoCore › Loot | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 1.0 |
Relative weight within the pool. Not a percentage - the pool normalises. |
| Min Level | MinLevel |
int32 |
XenoCore › Loot | EditAnywhere, BlueprintReadOnly, ClampMin=0 | 0 |
The entry only drops from an enemy of at least this level. 0 = no lower bound. |
| Max Level | MaxLevel |
int32 |
XenoCore › Loot | EditAnywhere, BlueprintReadOnly, ClampMin=0 | 0 |
The entry only drops from an enemy of at most this level. 0 = no upper bound. |
FXenoCoreDropPool¶
Struct · header XenoCoreRuntime/Public/Loot/XenoCoreDropTable.h · BlueprintType
What one tier of chest can contain, and how many items it rolls.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Min Items | MinItems |
int32 |
XenoCore › Loot | EditAnywhere, BlueprintReadOnly, ClampMin=0 | 1 |
Fewest items a chest from this pool rolls. |
| Max Items | MaxItems |
int32 |
XenoCore › Loot | EditAnywhere, BlueprintReadOnly, ClampMin=0 | 2 |
Most items a chest from this pool rolls. |
| Entries | Entries |
TArray<FXenoCoreDropEntry> |
XenoCore › Loot | EditAnywhere, BlueprintReadOnly | The candidate items, each with its relative weight and optional level band. | |
| Guarantee One Of Rarity | GuaranteeOneOfRarity |
FGameplayTag |
XenoCore › Loot | EditAnywhere, BlueprintReadOnly, Categories=XenoCore.Item.Rarity |
Every chest from this pool holds at least one item of this rarity or rarer. Empty = off. | |
| No Duplicate Equipment | bNoDuplicateEquipment |
bool |
XenoCore › Loot | EditAnywhere, BlueprintReadOnly | false |
A piece of equipment can come out of one chest at most once. Materials still repeat. |
UXenoCoreDropTable¶
Class · derives from UPrimaryDataAsset · header XenoCoreRuntime/Public/Loot/XenoCoreDropTable.h · BlueprintType
One enemy type's loot: the odds of each chest tier, and what each tier can hold.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Silver Chance | SilverChance |
float |
XenoCore › Loot | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, ClampMax=1.0 | 0.25 |
Chance (0-1) this enemy drops a silver chest rather than a wooden one, checked after gold. |
| Gold Chance | GoldChance |
float |
XenoCore › Loot | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, ClampMax=1.0 | 0.02 |
Chance (0-1) this enemy drops a gold chest. XC1 runs roughly 1-3%. |
| Pools | Pools |
TMap<EXenoCoreChestTier, FXenoCoreDropPool> |
XenoCore › Loot | EditAnywhere, BlueprintReadOnly | What each tier can contain. A tier without a pool drops an empty chest. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Roll Tier | Callable | EXenoCoreChestTier RollTier(bool bForceGold = false) const |
Which chest this enemy leaves behind. |
| Roll Squad Tier | Callable | EXenoCoreChestTier RollSquadTier(float GoldMultiplier = 3.0f, bool bForceGold = false) const |
The tier of a squad's one chest: gold at GoldChance x GoldMultiplier (XC1: x3), otherwise silver if this table has a silver pool, else wooden. |
| Roll Contents | Callable | TArray<TSubclassOf<ULyraInventoryItemDefinition>> RollContents(EXenoCoreChestTier Tier, int32 Level = 0) const |
What is actually inside. |
UXenoCoreLootPopupBase¶
Class · derives from UCommonActivatableWidget · header XenoCoreRuntime/Public/Loot/XenoCoreLootPopupBase.h · abstract · Blueprintable
The panel that says what came out of the chest.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Title Text | TitleText |
TObjectPtr<UTextBlock> |
XenoCore › Loot | BlueprintReadOnly, BindWidgetOptional | "Treasure", or the tier name. | |
| Item List | ItemList |
TObjectPtr<UVerticalBox> |
XenoCore › Loot | BlueprintReadOnly, BindWidgetOptional | One text row per item is added here. Cleared on every show. | |
| Hint Text | HintText |
TObjectPtr<UTextBlock> |
XenoCore › Loot | BlueprintReadOnly, BindWidgetOptional | "A Close" or similar. Optional now that there are real buttons. | |
| Take All Button | TakeAllButton |
TObjectPtr<UCommonButtonBase> |
XenoCore › Loot | BlueprintReadOnly, BindWidgetOptional | Takes everything the bag has room for. | |
| Quit Button | QuitButton |
TObjectPtr<UCommonButtonBase> |
XenoCore › Loot | BlueprintReadOnly, BindWidgetOptional | Leaves the items in the chest and closes the panel. | |
| Row Colour | RowColour |
FLinearColor |
XenoCore › Loot | EditDefaultsOnly | FLinearColor(0.92, 0.94, 1.0, 1.0) |
Row text colour. |
| Rejected Colour | RejectedColour |
FLinearColor |
XenoCore › Loot | EditDefaultsOnly | FLinearColor(1.0, 0.45, 0.35, 1.0) |
Colour for a line the bag has no room for (those items stay in the chest). |
| Row Font Size | RowFontSize |
int32 |
XenoCore › Loot | EditDefaultsOnly, ClampMin=8 | 20 |
Point size for each loot line. Taken from the title's typeface so the panel stays coherent. |
| Row Pip Size | RowPipSize |
float |
XenoCore › Loot | EditDefaultsOnly, ClampMin=0.0 | 0.0 |
Edge of one rarity diamond after each loot line; 0 uses Project Settings > XenoCore UI > Rarity Pip Size. Colours and counts come from the item rarity table rows. |
| Icon Set | IconSet |
TObjectPtr<const class UXenoCoreItemIconSet> |
XenoCore › Loot | EditDefaultsOnly | Where each item category's glyph comes from. Unset draws no glyph. | |
| Row Icon Size | RowIconSize |
float |
XenoCore › Loot | EditDefaultsOnly, ClampMin=4 | 28.0 |
Square size of that glyph, in slate units. Sized against RowFontSize, not the badge's 56. |
| Chest | Chest |
TWeakObjectPtr<AXenoCoreTreasureChest> |
XenoCore › Loot | BlueprintReadOnly | The chest whose offer is on screen. Weak - the chest can be destroyed while the panel is up. | |
| Fade Time | FadeTime |
float |
XenoCore › Loot | EditDefaultsOnly, ClampMin=0.0 | 0.18 |
Seconds for the panel to fade in, and to fade out once the player has answered. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Show Loot | Callable | void ShowLoot(const FXenoCoreChestOpenedMessage& Message) |
Fills the panel from one chest's result. |
| Take All | Callable | int32 TakeAll() |
XC1's "take them all". |
| Take None | Callable | void TakeNone() |
XC1's "take none of them". |
| On Loot Shown | Event (implement in Blueprint) | void K2_OnLootShown(EXenoCoreChestTier Tier, int32 ObtainedCount, int32 RejectedCount) |
Content-side hook, for a tier colour or an open sting. |
UXenoCoreLootPopupSubsystem¶
Class · derives from UWorldSubsystem · header XenoCoreRuntime/Public/Loot/XenoCoreLootPopupSubsystem.h
Puts the loot popup on screen when a chest is opened.
UXenoCoreLootStatics¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreRuntime/Public/Loot/XenoCoreLootStatics.h
Finds or opens the nearest treasure chest directly, bypassing the interaction system.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Open Nearest Chest | Callable | AXenoCoreTreasureChest* OpenNearestChest(AActor* Opener, float Range = 400.0f) |
Opens the nearest unopened chest within Range of Opener. |
| Find Nearest Chest | Pure | AXenoCoreTreasureChest* FindNearestChest(AActor* Opener, float Range = 400.0f) |
The nearest unopened chest within Range, without opening it. |
| Get Chest Interact Range | Pure | float GetChestInteractRange() |
The distance at which a chest can be prompted for and opened. |
XenoCoreRuntime / Lyra¶
FXenoCoreGrantedHandles¶
Struct · header XenoCoreRuntime/Public/Lyra/XenoCoreLyraBridge.h
What GiveAbilitySet granted, so it can be taken back - XenoCore's own copy of FLyraAbilitySet_GrantedHandles, whose arrays are protected and whose TakeFromAbilitySystem is not exported.
XenoCoreRuntime / Map¶
AXenoCoreMapArea¶
Class · derives from AActor · header XenoCoreRuntime/Public/Map/XenoCoreMapArea.h
No description.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Area | Area |
TObjectPtr<UXenoCoreAreaDefinition> |
Map | EditAnywhere, BlueprintReadOnly | The area this map shows on the minimap: its name, map image, bounds and weather. | |
| Bounds Preview | BoundsPreview |
TObjectPtr<UBoxComponent> |
Map | VisibleAnywhere | No description. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Current Area | Pure | UXenoCoreAreaDefinition* GetCurrentArea() |
The area of the map WorldContextObject is in, or null. |
FXenoCoreMapMarkerStyle¶
Struct · derives from FTableRowBase · header XenoCoreRuntime/Public/Map/XenoCoreMinimap.h · BlueprintType
How one kind of minimap marker looks. A row of the minimap's MarkerStyles table.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Kind | Kind |
FGameplayTag |
Marker | EditAnywhere, BlueprintReadOnly | The XenoCore.Map.Marker.* kind this row draws. |
|
| Icon | Icon |
FSlateBrush |
Marker | EditAnywhere, BlueprintReadOnly | The icon. Its image size is ignored - Size decides. | |
| Tint | Tint |
FLinearColor |
Marker | EditAnywhere, BlueprintReadOnly | FLinearColor::White |
Colour multiplied into the icon. |
| Size | Size |
FVector2D |
Marker | EditAnywhere, BlueprintReadOnly | FVector2D(12.0, 12.0) |
Size on the minimap, in widget units. |
| Rotate With Actor | bRotateWithActor |
bool |
Marker | EditAnywhere, BlueprintReadOnly | false |
Turn the icon with the actor's facing (an arrow), or keep it upright (a dot, a sign). |
| Clamp To Rim | bClampToRim |
bool |
Marker | EditAnywhere, BlueprintReadOnly | false |
Pin to the rim when out of range, pointing the way, instead of disappearing. For objectives. |
| Draw Order | DrawOrder |
int32 |
Marker | EditAnywhere, BlueprintReadOnly | 0 |
Higher draws on top. |
| Tint By Enemy Danger | bTintByEnemyDanger |
bool |
Marker | EditAnywhere, BlueprintReadOnly | false |
No description. |
| Pulse When Engaged | bPulseWhenEngaged |
bool |
Marker | EditAnywhere, BlueprintReadOnly | false |
Enemies only: pulse while the enemy is fighting the party (its controller is engaged). |
| Label On Full Map | bLabelOnFullMap |
bool |
Marker | EditAnywhere, BlueprintReadOnly | false |
On a Fill Widget map (the L3 view), print the actor's name beside the icon - an NPC's Display Name. |
| Label | Label |
FText |
Marker | EditAnywhere, BlueprintReadOnly | The legend line for this kind on the L3 view. Empty = not in the legend. |
UXenoCoreAreaDefinition¶
Class · derives from UPrimaryDataAsset · header XenoCoreRuntime/Public/Map/XenoCoreAreaDefinition.h · BlueprintType
No description.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Display Name | DisplayName |
FText |
Area | EditAnywhere, BlueprintReadOnly | Player-facing area name. | |
| Map Texture | MapTexture |
TObjectPtr<UTexture2D> |
Map | EditAnywhere, BlueprintReadOnly | The baked top-down image. Empty = the minimap draws its background colour and markers only. | |
| Map World Min | MapWorldMin |
FVector2D |
Map | EditAnywhere, BlueprintReadOnly | FVector2D(-100000.0, -100000.0) |
World xy (cm) at the image's top-left corner. Written by the bake. |
| Map World Max | MapWorldMax |
FVector2D |
Map | EditAnywhere, BlueprintReadOnly | FVector2D(100000.0, 100000.0) |
World xy (cm) at the image's bottom-right corner. Written by the bake. |
| Weather Table | WeatherTable |
TObjectPtr<UDataTable> |
Weather | EditAnywhere, BlueprintReadOnly | This area's weather odds. Empty = always clear. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| World To Map UV | Pure | FVector2D WorldToMapUV(const FVector2D& WorldXY) const |
World xy -> 0..1 image UV. |
UXenoCoreGameplayAbility_MinimapOverlay¶
Class · derives from ULyraGameplayAbility · header XenoCoreRuntime/Public/Map/XenoCoreGameplayAbility_MinimapOverlay.h
No description.
UXenoCoreMapMarkerSubsystem¶
Class · derives from UWorldSubsystem · header XenoCoreRuntime/Public/Map/XenoCoreMapMarkerSubsystem.h
No description.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Map Markers | Pure | UXenoCoreMapMarkerSubsystem* GetMapMarkers() |
The marker registry for this world. |
| Register Marker | Callable | void RegisterMarker(AActor* Actor, FGameplayTag Kind) |
Draw Actor on the minimap as Kind. |
| Unregister Marker | Callable | void UnregisterMarker(AActor* Actor) |
Stop drawing Actor on the minimap. |
| Set Overlay Open | Callable | void SetOverlayOpen(bool bOpen) |
Open or close the full-screen minimap overlay. |
| Toggle Overlay | Callable | void ToggleOverlay() |
Flip the full-screen minimap overlay open or closed. |
| Is Overlay Open | Pure | bool IsOverlayOpen() const |
True while the full-screen minimap overlay is open. |
UXenoCoreMinimap¶
Class · derives from UWidget · header XenoCoreRuntime/Public/Map/XenoCoreMinimap.h
No description.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Overlay | bOverlay |
bool |
Minimap | EditAnywhere, BlueprintReadWrite | false |
This instance is the full-screen overlay (XC1 de's L3): it draws only while the overlay is open (UXenoCoreMapMarkerSubsystem::IsOverlayOpen), and ignores XenoCore.Minimap.Hide. |
| Fill Widget | bFillWidget |
bool |
Minimap | EditAnywhere, BlueprintReadWrite | false |
No description. |
| Vignette Start | VignetteStart |
float |
Minimap › Look | EditAnywhere, BlueprintReadWrite, ClampMin=0, ClampMax=1, EditCondition=bFillWidget | 0.55 |
Fill Widget only: where the edge fade starts, 0 (centre) to 1 (edge midpoints). |
| Backdrop Dim | BackdropDim |
float |
Minimap › Look | EditAnywhere, BlueprintReadWrite, ClampMin=0, ClampMax=1, EditCondition=bFillWidget | 0.35 |
Fill Widget only: how much the game behind is darkened while the map is up. |
| Overlay Fade Seconds | OverlayFadeSeconds |
float |
Minimap | EditAnywhere, BlueprintReadWrite, ClampMin=0, EditCondition=bOverlay, Units=s | 0.15 |
Overlay only: seconds to fade in on open and out on close. 0 = snap. |
| Edge Shade | EdgeShade |
float |
Minimap › Look | EditAnywhere, BlueprintReadWrite, ClampMin=0, ClampMax=1 | 0.28 |
Darkens the disc toward its rim, 0..1. Circle only. |
| Area Name Strip | AreaNameStrip |
float |
Minimap › Text | EditAnywhere, BlueprintReadWrite, ClampMin=0 | 0.0 |
No description. |
| Area Name Font | AreaNameFont |
FSlateFontInfo |
Minimap › Text | EditAnywhere, BlueprintReadWrite | Font of the area name. | |
| Text Color | TextColor |
FLinearColor |
Minimap › Text | EditAnywhere, BlueprintReadWrite | FLinearColor(0.92, 0.88, 0.78, 1.0) |
Colour of the minimap's text. |
| Show Time And Weather | bShowTimeAndWeather |
bool |
Minimap › Time And Weather | EditAnywhere, BlueprintReadWrite | true |
Show the weather icon and the time after the area name. |
| Time Weather Font | TimeWeatherFont |
FSlateFontInfo |
Minimap › Time And Weather | EditAnywhere, BlueprintReadWrite | The time's font. | |
| Weather Icon Size | WeatherIconSize |
float |
Minimap › Time And Weather | EditAnywhere, BlueprintReadWrite, ClampMin=0, UIMin=0 | 18.0 |
Size of the weather icon. Its image size is ignored. |
| Time Weather Separator | TimeWeatherSeparator |
FText |
Minimap › Time And Weather | EditAnywhere, BlueprintReadWrite | Between the area name and the weather. | |
| Show Day Night Dial | bShowDayNightDial |
bool |
Minimap › Time And Weather | EditAnywhere, BlueprintReadWrite | true |
The sun or moon riding the rim: noon at the top, midnight at the bottom. |
| Sun Icon | SunIcon |
FSlateBrush |
Minimap › Time And Weather | EditAnywhere, BlueprintReadWrite, EditCondition=bShowDayNightDial | Drawn on the rim by day. Its image size is ignored - Dial Icon Size decides. | |
| Moon Icon | MoonIcon |
FSlateBrush |
Minimap › Time And Weather | EditAnywhere, BlueprintReadWrite, EditCondition=bShowDayNightDial | Drawn on the rim by night. | |
| Dial Icon Size | DialIconSize |
FVector2D |
Minimap › Time And Weather | EditAnywhere, BlueprintReadWrite, EditCondition=bShowDayNightDial | FVector2D(22.0, 22.0) |
Size of the sun and moon icons on the rim. |
| Show Header And Legend | bShowHeaderAndLegend |
bool |
Minimap › Text | EditAnywhere, BlueprintReadWrite, EditCondition=bFillWidget | true |
Fill Widget only: the area name across the top, and a legend of marker kinds bottom-left. |
| Header Font | HeaderFont |
FSlateFontInfo |
Minimap › Text | EditAnywhere, BlueprintReadWrite, EditCondition=bFillWidget | Font of the header and legend. | |
| Label Font | LabelFont |
FSlateFontInfo |
Minimap › Text | EditAnywhere, BlueprintReadWrite | Legend lines and the names beside markers. | |
| Leader Label | LeaderLabel |
FText |
Minimap › Text | EditAnywhere, BlueprintReadWrite | The legend line for the leader arrow. Empty = left out. | |
| Marker Scale | MarkerScale |
float |
Minimap › Markers | EditAnywhere, BlueprintReadWrite, ClampMin=0.1, UIMax=3 | 1.0 |
Multiplies every marker's size - larger icons on the big view. |
| Minimap Size | MinimapSize |
FVector2D |
Minimap | EditAnywhere, BlueprintReadWrite | FVector2D(240.0, 240.0) |
Desired size of the whole widget (map plus rim). |
| World Radius | WorldRadius |
float |
Minimap | EditAnywhere, BlueprintReadWrite, ClampMin=500, Units=cm | 6000.0 |
World distance (cm) from the centre to the edge of the map circle. |
| Rotate With Camera | bRotateWithCamera |
bool |
Minimap | EditAnywhere, BlueprintReadWrite | false |
False: north is always up and the leader arrow turns (XC1's default). True: the map turns so the camera looks up. |
| Map Material | MapMaterial |
TObjectPtr<UMaterialInterface> |
Minimap › Look | EditAnywhere, BlueprintReadOnly | The minimap material. Must expose the parameters UXenoCoreMinimapTools builds. |
|
| Rim Width | RimWidth |
float |
Minimap › Look | EditAnywhere, BlueprintReadWrite, ClampMin=0, ClampMax=0.3 | 0.025 |
Rim thickness as a fraction of the radius. |
| Rim Color | RimColor |
FLinearColor |
Minimap › Look | EditAnywhere, BlueprintReadWrite | FLinearColor(0.1, 0.08, 0.06, 0.85) |
XC1's rim is a thin dark band, not a highlight. |
| Shadow Width | ShadowWidth |
float |
Minimap › Look | EditAnywhere, BlueprintReadWrite, ClampMin=0, ClampMax=0.2 | 0.05 |
Soft shadow outside the rim, as a fraction of the radius. 0 = none. |
| Shadow Opacity | ShadowOpacity |
float |
Minimap › Look | EditAnywhere, BlueprintReadWrite, ClampMin=0, ClampMax=1 | 0.45 |
Opacity of the shadow outside the rim. |
| Background Color | BackgroundColor |
FLinearColor |
Minimap › Look | EditAnywhere, BlueprintReadWrite | FLinearColor(0.06, 0.05, 0.04, 0.8) |
Drawn where the area has no image (and where the image ends). |
| Map Opacity | MapOpacity |
float |
Minimap › Look | EditAnywhere, BlueprintReadWrite, ClampMin=0, ClampMax=1 | 0.88 |
Opacity of the map disc (the rim and markers stay opaque). |
| Map Brightness | MapBrightness |
float |
Minimap › Look | EditAnywhere, BlueprintReadWrite, ClampMin=0, UIMax=3 | 1.0 |
Multiplies the map image's brightness. |
| Leader Icon | LeaderIcon |
FSlateBrush |
Minimap › Leader | EditAnywhere, BlueprintReadWrite | The leader: XC1's position/bearing triangle. Points up in the image. | |
| Leader Icon Size | LeaderIconSize |
FVector2D |
Minimap › Leader | EditAnywhere, BlueprintReadWrite | FVector2D(24.0, 24.0) |
Size of the leader arrow. XC1's is about a tenth of the circle across - 24 at 240 px. |
| Leader Tint | LeaderTint |
FLinearColor |
Minimap › Leader | EditAnywhere, BlueprintReadWrite | FLinearColor(1.0, 0.86, 0.1, 1.0) |
Colour of the leader arrow. |
| Camera View Color | CameraViewColor |
FLinearColor |
Minimap › Leader | EditAnywhere, BlueprintReadWrite | FLinearColor(0.88, 0.88, 0.9, 0.6) |
No description. |
| Camera View Half Angle | CameraViewHalfAngle |
float |
Minimap › Leader | EditAnywhere, BlueprintReadWrite, ClampMin=0, ClampMax=90, Units=deg | 47.0 |
Half the width of the camera wedge. |
| Camera View Softness | CameraViewSoftness |
float |
Minimap › Leader | EditAnywhere, BlueprintReadWrite, ClampMin=0, ClampMax=45, Units=deg | 2.5 |
How far the wedge's sides fade out, in degrees. 0 = a hard edge. |
| Camera View Outer Strength | CameraViewOuterStrength |
float |
Minimap › Leader | EditAnywhere, BlueprintReadWrite, ClampMin=0, ClampMax=1 | 0.1 |
The wedge's strength at the rim, relative to the leader (XC1's is brightest at the arrow and fades out). 1 = even. |
| Camera Cone Icon | CameraConeIcon |
FSlateBrush |
Minimap › Leader | EditAnywhere, BlueprintReadWrite | Optional extra cone icon on the leader (apex at the image's bottom centre, opening up). Empty = none. | |
| Camera Cone Size | CameraConeSize |
FVector2D |
Minimap › Leader | EditAnywhere, BlueprintReadWrite | FVector2D(70.0, 70.0) |
Size of the camera cone icon. |
| Camera Cone Tint | CameraConeTint |
FLinearColor |
Minimap › Leader | EditAnywhere, BlueprintReadWrite | FLinearColor(1.0, 0.92, 0.45, 0.45) |
Colour of the camera cone icon. |
| Marker Styles | MarkerStyles |
TObjectPtr<UDataTable> |
Minimap › Markers | EditAnywhere, BlueprintReadOnly | FXenoCoreMapMarkerStyle rows. A kind with no row is not drawn. |
|
| Rim Clamp Inset | RimClampInset |
float |
Minimap › Markers | EditAnywhere, BlueprintReadWrite | 10.0 |
Rim-clamped markers sit this far inside the rim, in widget units. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get View Angle | Pure | float GetViewAngle() const |
The angle the map is turned by right now (0 when north-up). |
| Get Last Marker Count | Pure | int32 GetLastMarkerCount() const |
How many markers the last paint drew. |
| Has Area Image | Pure | bool HasAreaImage() const |
For tests. |
XenoCoreRuntime / Merchant¶
EXenoCoreMerchantSort¶
Enum · header XenoCoreRuntime/Public/Merchant/XenoCoreMerchantScreenBase.h · BlueprintType
How a merchant list orders the player's own items - trade's offer side, the shop's Sell list.
| Value | Shown as | Description |
|---|---|---|
MostRecent |
Most Recent | Newest acquisition first - the shop Sell reference's own default. |
Name |
Name | A-Z by display name. |
Value |
Value | Cheapest first - trade's order before sorting existed, so it stays trade's default. |
Rarity |
Rarity | Rarest first, then A-Z. |
UXenoCoreMerchantScreenBase¶
Class · derives from UCommonActivatableWidget · header XenoCoreRuntime/Public/Merchant/XenoCoreMerchantScreenBase.h · abstract · Blueprintable
The mechanics every item-list-plus-dialog screen shares - trade, shop - and nothing else.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Title Text | TitleText |
TObjectPtr<UTextBlock> |
XenoCore › Merchant | BlueprintReadOnly, BindWidgetOptional | The screen's own name. | |
| Item Tabs | ItemTabs |
TObjectPtr<UCommonTabListWidgetBase> |
XenoCore › Merchant | BlueprintReadOnly, BindWidgetOptional | The category tabs - W_HorizontalTabList, the same widget the Items menu uses. |
|
| Tab Button Class | TabButtonClass |
TSubclassOf<UCommonButtonBase> |
XenoCore › Merchant | EditDefaultsOnly | The tab button class. Use W_XenoCore_TabButton, not Lyra's W_LyraButtonTab - that one carries MinWidth 320. |
|
| Tab Icon Size | TabIconSize |
float |
XenoCore › Merchant | EditDefaultsOnly, ClampMin=4.0 | 30.0 |
How big a category glyph draws on a tab. |
| Pane Icon Size | PaneIconSize |
float |
XenoCore › Merchant | EditDefaultsOnly, ClampMin=4.0 | 28.0 |
How big an item icon draws in a pane or a dialog. |
| Header HB | HeaderHB |
TObjectPtr<UWidget> |
XenoCore › Merchant | BlueprintReadOnly, BindWidgetOptional | The list's column headings. Collapses with the list, never separately. | |
| Slot Header | SlotHeader |
TObjectPtr<UTextBlock> |
XenoCore › Merchant | BlueprintReadOnly, BindWidgetOptional | The first column heading - the current category, as XC1's screens have it. | |
| Empty List Text | EmptyListText |
TObjectPtr<UTextBlock> |
XenoCore › Merchant | BlueprintReadOnly, BindWidgetOptional | Shown over the list when the current tab has no rows - "No items owned". | |
| Rows Box | RowsBox |
TObjectPtr<UVerticalBox> |
XenoCore › Merchant | BlueprintReadOnly, BindWidgetOptional | Every row goes here. Cleared on each rebuild. | |
| Details Name | DetailsName |
TObjectPtr<UTextBlock> |
XenoCore › Merchant | BlueprintReadOnly, BindWidgetOptional | The details card's item name, tinted by rarity. | |
| Details Desc | DetailsDesc |
TObjectPtr<UTextBlock> |
XenoCore › Merchant | BlueprintReadOnly, BindWidgetOptional | The details card's item description. | |
| Details Rarity Value | DetailsRarityValue |
TObjectPtr<UTextBlock> |
XenoCore › Merchant | BlueprintReadOnly, BindWidgetOptional | The Rarity row's value - "Legendary", in the tier colour. Optional. | |
| Details Type Value | DetailsTypeValue |
TObjectPtr<UTextBlock> |
XenoCore › Merchant | BlueprintReadOnly, BindWidgetOptional | The item's category. | |
| Details Owned Value | DetailsOwnedValue |
TObjectPtr<UTextBlock> |
XenoCore › Merchant | BlueprintReadOnly, BindWidgetOptional | How many of this item the party owns, worn copies included. | |
| Details Stats Box | DetailsStatsBox |
TObjectPtr<UVerticalBox> |
XenoCore › Merchant | BlueprintReadOnly, BindWidgetOptional | One UXenoCoreStatRowBase per displayed stat - the same widget and row set the Items pane and the equipment comparison use. |
|
| Stat Row Class | StatRowClass |
TSubclassOf<UXenoCoreStatRowBase> |
XenoCore › Merchant | EditDefaultsOnly, BlueprintReadOnly | The stat row widget for the details card. Null means no stats are drawn, which is a clean opt-out. | |
| Row Class | RowClass |
TSubclassOf<UXenoCoreTradeRowBase> |
XenoCore › Merchant | EditDefaultsOnly | The list row widget. Required: unset logs an error and builds no rows. | |
| Icon Set | IconSet |
TObjectPtr<const UXenoCoreItemIconSet> |
XenoCore › Merchant | EditDefaultsOnly | Where a category's glyph comes from. One shared asset, per UXenoCoreItemIconSet. |
|
| Sort Action | SortAction |
FDataTableRowHandle |
XenoCore › Merchant | EditDefaultsOnly | The input action that cycles the sort mode (DT_XenoCore_Actions' MerchantSort row). Unset means no sort. |
|
| Portrait Box | PortraitBox |
TObjectPtr<UPanelWidget> |
XenoCore › Merchant › Character | BlueprintReadOnly, BindWidgetOptional | One portrait per active member, built in C++ on every change. The member being compared against is lit; the rest dim to UnselectedPortraitOpacity. | |
| Prev Char Glyph | PrevCharGlyph |
TObjectPtr<UCommonActionWidget> |
XenoCore › Merchant › Character | BlueprintReadOnly, BindWidgetOptional | Glyph for the previous-character input, drawn left of the portraits. | |
| Next Char Glyph | NextCharGlyph |
TObjectPtr<UCommonActionWidget> |
XenoCore › Merchant › Character | BlueprintReadOnly, BindWidgetOptional | Glyph for the next-character input, drawn right of the portraits. | |
| Prev Character Action | PrevCharacterAction |
FDataTableRowHandle |
XenoCore › Merchant › Character | EditDefaultsOnly | Step back to the previous character compared against (DT_XenoCore_Actions' PrevCharacter row). |
|
| Next Character Action | NextCharacterAction |
FDataTableRowHandle |
XenoCore › Merchant › Character | EditDefaultsOnly | Step on to the next character compared against (DT_XenoCore_Actions' NextCharacter row). |
|
| Portrait Size | PortraitSize |
float |
XenoCore › Merchant › Character | EditDefaultsOnly, ClampMin=8.0 | 56.0 |
Size of each party portrait in the character toggle. |
| Unselected Portrait Opacity | UnselectedPortraitOpacity |
float |
XenoCore › Merchant › Character | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0 | 0.4 |
Opacity of the portraits not being compared against (0 hidden, 1 fully lit). |
XenoCoreRuntime / Npc¶
AXenoCoreNpcCharacter¶
Class · derives from ACharacter · header XenoCoreRuntime/Public/Npc/XenoCoreNpcCharacter.h · Blueprintable
A townsperson. Stands somewhere, loops an idle, and may have a quest.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Display Name | DisplayName |
FText |
XenoCore › NPC | EditAnywhere, BlueprintReadOnly | The name over their head. | |
| Has Quest | bHasQuest |
bool |
XenoCore › NPC | EditAnywhere, BlueprintReadOnly | false |
Shows the "!" quest bubble over an NPC with no Quest set. Ignored when Quest is set - then the quest's own state decides. |
| Quest | Quest |
TObjectPtr<UXenoCoreQuestDefinition> |
XenoCore › NPC | EditAnywhere, BlueprintReadOnly | The quest this NPC gives, if any. | |
| Trade Offers | TradeOffers |
TObjectPtr<UXenoCoreTradeTable> |
XenoCore › NPC | EditAnywhere, BlueprintReadOnly | What this NPC will barter. Setting it is the only thing needed to make them a trader. | |
| Shop Table | ShopTable |
TObjectPtr<UXenoCoreShopTable> |
XenoCore › NPC | EditAnywhere, BlueprintReadOnly | What this NPC sells, if they keep a shop. Null for everyone who does not. | |
| Quest Id | QuestId |
FName |
XenoCore › NPC | EditAnywhere, BlueprintReadOnly | The name a Talk To NPC objective uses for this NPC (its Target Id). Empty = none. | |
| Member To Recruit | MemberToRecruit |
TObjectPtr<UXenoCorePartyMemberDefinition> |
XenoCore › NPC › Recruit | EditAnywhere, BlueprintReadOnly | The character who joins the party when this NPC is talked to. Null for everyone else. | |
| Recruit After Quest | RecruitAfterQuest |
TObjectPtr<UXenoCoreQuestDefinition> |
XenoCore › NPC › Recruit | EditAnywhere, BlueprintReadOnly | Optional: they join only once this quest has been turned in (or accepted - see Recruit When). Empty = on the first talk. | |
| Recruit When | RecruitWhen |
EXenoCoreRecruitGate |
XenoCore › NPC › Recruit | EditAnywhere, BlueprintReadOnly, EditCondition=RecruitAfterQuest != nullptr | EXenoCoreRecruitGate::QuestComplete |
When Recruit After Quest lets them join: once it is turned in, or once it is accepted. |
| Not Yet Recruited Dialogue | NotYetRecruitedDialogue |
TArray<FXenoCoreDialogueLine> |
XenoCore › NPC › Recruit | EditAnywhere, BlueprintReadOnly | Said instead of Dialogue while the recruit's quest gate is not met yet. Empty = Dialogue. | |
| Join At Party Level | bJoinAtPartyLevel |
bool |
XenoCore › NPC › Recruit | EditAnywhere, BlueprintReadOnly | true |
Arrive at least at the party's level, so a mid-story recruit is not left behind (as in XC1). |
| Leave When Recruited | bLeaveWhenRecruited |
bool |
XenoCore › NPC › Recruit | EditAnywhere, BlueprintReadOnly | true |
Once recruited, this NPC leaves and the member's body stands where they stood. |
| Portrait | Portrait |
TSoftObjectPtr<UTexture2D> |
XenoCore › NPC | EditAnywhere, BlueprintReadOnly | The face shown beside this NPC's half of a trade. | |
| Accepted Dialogue | AcceptedDialogue |
TArray<FXenoCoreDialogueLine> |
XenoCore › NPC › Dialogue | EditAnywhere, BlueprintReadOnly | Straight after the player accepts the quest. | |
| Declined Dialogue | DeclinedDialogue |
TArray<FXenoCoreDialogueLine> |
XenoCore › NPC › Dialogue | EditAnywhere, BlueprintReadOnly | Straight after the player turns it down. | |
| In Progress Dialogue | InProgressDialogue |
TArray<FXenoCoreDialogueLine> |
XenoCore › NPC › Dialogue | EditAnywhere, BlueprintReadOnly | While the quest is taken and unfinished - the "how are you getting on" lines. | |
| Turn In Dialogue | TurnInDialogue |
TArray<FXenoCoreDialogueLine> |
XenoCore › NPC › Dialogue | EditAnywhere, BlueprintReadOnly | On handing the quest in. | |
| Face Player When Talked To | bFacePlayerWhenTalkedTo |
bool |
XenoCore › NPC › Dialogue | EditAnywhere, BlueprintReadOnly | true |
This NPC turns to face the player when talked to. |
| Turn Back After Talking | bTurnBackAfterTalking |
bool |
XenoCore › NPC › Dialogue | EditAnywhere, BlueprintReadOnly, EditCondition=bFacePlayerWhenTalkedTo | true |
After the conversation, this NPC turns back to the way it was placed facing. |
| Use Dialogue Camera | bUseDialogueCamera |
bool |
XenoCore › NPC › Dialogue | EditAnywhere, BlueprintReadOnly | true |
Talking to this NPC moves the camera in to frame the conversation. |
| Dialogue Camera Rig | DialogueCameraRig |
TObjectPtr<UCameraRigAsset> |
XenoCore › NPC › Dialogue | EditAnywhere, BlueprintReadOnly, EditCondition=bUseDialogueCamera | A framing for this NPC alone. Empty uses the project's Dialogue Camera Rig. | |
| Interact Verb | InteractVerb |
FText |
XenoCore › NPC › Interaction | EditAnywhere, BlueprintReadOnly | The verb the screen prompt shows: "Talk". | |
| Dialogue | Dialogue |
TArray<FXenoCoreDialogueLine> |
XenoCore › NPC › Dialogue | EditAnywhere, BlueprintReadOnly | What this NPC says when talked to. | |
| Extra Interact Verbs | ExtraInteractVerbs |
TArray<FText> |
XenoCore › NPC › Interaction | EditAnywhere, BlueprintReadOnly | A further prompt action beyond Interact Verb, shown on X - "Heart-to-Heart". Only the first entry is used, and none if this NPC has Trade Offers (Trade takes X). | |
| Interact Range | InteractRange |
float |
XenoCore › NPC › Interaction | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 200.0 |
How close the player must be for the name, the marker and the prompt. |
| Idle Animation | IdleAnimation |
TObjectPtr<UAnimSequence> |
XenoCore › NPC › Animation | EditAnywhere, BlueprintReadOnly | The clip they loop while standing there. | |
| Overhead Component | OverheadComponent |
TObjectPtr<UWidgetComponent> |
XenoCore › NPC › Overhead | VisibleAnywhere, BlueprintReadOnly | The quest bubble, the name and the chevron - all of them, in one widget. | |
| Overhead Widget Class | OverheadWidgetClass |
TSubclassOf<UUserWidget> |
XenoCore › NPC › Overhead | EditDefaultsOnly | The overhead widget (quest bubble, name and chevron). | |
| Overhead Height | OverheadHeight |
float |
XenoCore › NPC › Overhead | EditDefaultsOnly, ClampMin=0, UIMin=0 | 100.0 |
Where the bottom of the stack sits, above the actor origin. The capsule is 88 half-height. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Display Name | Pure | FText GetDisplayName() const |
The name the plate over their head shows. |
| Has Quest | Pure | bool HasQuest() const |
True while this NPC should be wearing the quest marker. |
| Get Lines For | Pure | TArray<FXenoCoreDialogueLine> GetLinesFor(EXenoCoreNpcLine Which) const |
The lines for one occasion, falling back to Dialogue when that set is empty. |
| Get Quest | Pure | UXenoCoreQuestDefinition* GetQuest() const |
What this NPC is offering, if anything. |
| Get Portrait Texture | Pure | UTexture2D* GetPortraitTexture() const |
This NPC's face, loaded, or null. |
| Get Trade Offers | Pure | UXenoCoreTradeTable* GetTradeOffers() const |
What this NPC will barter, if anything. |
| Can Trade | Pure | bool CanTrade() const |
True when this NPC has anything to barter at all. |
| Is Trade Verb | Pure | bool IsTradeVerb(int32 VerbIndex) const |
Was this press the Trade button? |
| Get Shop Table | Pure | UXenoCoreShopTable* GetShopTable() const |
What this NPC's shop sells, if they keep one. |
| Get Quest Id | Pure | FName GetQuestId() const |
The name Talk To NPC objectives use for this NPC. |
| Can Shop | Pure | bool CanShop() const |
True when this NPC keeps a shop - the graph's gate for opening it after the conversation. |
| Can Recruit | Pure | bool CanRecruit() const |
True when talking to this NPC would recruit Member To Recruit right now. |
| Is Recruit Gate Met | Pure | bool IsRecruitGateMet() const |
True when Recruit After Quest is empty or has reached Recruit When. |
| Try Recruit | Callable | bool TryRecruit() |
Recruit Member To Recruit if Can Recruit. |
| On Interact | Event (implement in Blueprint) | void K2_OnInteract(AActor* Interactor, int32 VerbIndex) |
The press, handed to the Blueprint. |
EXenoCoreNpcLine¶
Enum · header XenoCoreRuntime/Public/Npc/XenoCoreNpcCharacter.h · BlueprintType
Which set of lines an NPC should say.
| Value | Shown as | Description |
|---|---|---|
Greeting |
Greeting | The opener, and what is said before a quest is offered. |
Accepted |
Accepted | Straight after the player accepts. |
Declined |
Declined | Straight after the player declines. |
InProgress |
In Progress | Quest taken, objectives outstanding. |
TurnIn |
Turn In | On handing the quest in. |
EXenoCoreRecruitGate¶
Enum · header XenoCoreRuntime/Public/Npc/XenoCoreNpcCharacter.h · BlueprintType
When a recruit's Recruit After Quest lets them join.
| Value | Shown as | Description |
|---|---|---|
QuestComplete |
Quest Complete | Once the quest is turned in - "help me first, then I'll come". |
QuestAccepted |
Quest Accepted | Once the quest is accepted - "the ranger sent you? I'll come". |
XenoCoreRuntime / Party¶
AXenoCorePartyCharacter¶
Class · derives from AXenoCoreCombatantCharacter · header XenoCoreRuntime/Public/Party/XenoCorePartyCharacter.h · Blueprintable
A playable character the party owns a body for. It exists to carry the components every party member needs and the player's own pawn already had - nothing else.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Death Montages | DeathMontages |
TArray<TObjectPtr<UAnimMontage>> |
XenoCore › Death | EditDefaultsOnly | One is picked at random on death. Empty means no performance - the body just goes limp. | |
| Ragdoll Delay Min | RagdollDelayMin |
float |
XenoCore › Death | EditDefaultsOnly, ClampMin=0.0 | 0.1 |
Shortest wait, in seconds, between the death montage starting and the body going limp. |
| Ragdoll Delay Max | RagdollDelayMax |
float |
XenoCore › Death | EditDefaultsOnly, ClampMin=0.0 | 0.6 |
Longest wait, in seconds, before the ragdoll. The actual wait is random between Min and Max. |
| Ragdoll Impulse Bone | RagdollImpulseBone |
FName |
XenoCore › Death | EditDefaultsOnly | FName("Pelvis") |
Bone that receives the push when the body goes limp. |
| Ragdoll Impulse Strength | RagdollImpulseStrength |
float |
XenoCore › Death | EditDefaultsOnly, ClampMin=0.0 | 500.0 |
Extra push, along the body's last movement direction, added to RagdollImpulseBone as it goes limp. |
| Equipment Component | EquipmentComponent |
TObjectPtr<UXenoCoreEquipmentComponent> |
XenoCore › Party | VisibleAnywhere, BlueprintReadOnly | Worn gear, per pawn. The pawn-side combat home. | |
| Perception Stimuli Component | PerceptionStimuliComponent |
TObjectPtr<UAIPerceptionStimuliSourceComponent> |
XenoCore › Party | VisibleAnywhere, BlueprintReadOnly | So enemies can perceive a member exactly as they perceive the player's own pawn. | |
| Context Effect Component | ContextEffectComponent |
TObjectPtr<ULyraContextEffectComponent> |
XenoCore › Party | VisibleAnywhere, BlueprintReadOnly | Footstep and surface effects, matching B_XenoCore_Player. |
AXenoCorePartyMemberController¶
Class · derives from AModularAIController · header XenoCoreRuntime/Public/Party/XenoCorePartyMemberController.h · Blueprintable
The AI controller every party member is possessed by. Like the enemy controller it carries the team and very little else - the behaviour lives in a StateTree on the pawn's UStateTreeAIComponent, as data.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Combat Spot Query | CombatSpotQuery |
TSoftObjectPtr<UEnvQuery> |
XenoCore › AI | EditDefaultsOnly, BlueprintReadOnly | The EQS query that picks where this companion stands in a fight. Unset = walk straight at the target. | |
| Crowd Avoidance While Travelling | bCrowdAvoidanceWhileTravelling |
bool |
XenoCore › AI › Crowd | EditAnywhere, BlueprintReadWrite | false |
Keep Detour Crowd avoidance on while travelling. Off: members follow their paths straight (no jitter); battle always avoids. |
| Crowd Avoidance Quality | CrowdAvoidanceQuality |
EXenoCoreCrowdQuality |
XenoCore › AI › Crowd | EditAnywhere, BlueprintReadWrite | EXenoCoreCrowdQuality::Low |
Detour Crowd sampling quality while it is on. Measured: higher qualities wobble more, not less. |
| Crowd Anticipate Turns | bCrowdAnticipateTurns |
bool |
XenoCore › AI › Crowd | EditAnywhere, BlueprintReadWrite | false |
Steer for the next corner early instead of at it. Measured: more wobble in a group. |
| Crowd Separation Weight | CrowdSeparationWeight |
float |
XenoCore › AI › Crowd | EditAnywhere, BlueprintReadWrite, ClampMin=0 | 2.0 |
How hard members push apart. Engine default 2. |
| Crowd Collision Query Range | CrowdCollisionQueryRange |
float |
XenoCore › AI › Crowd | EditAnywhere, BlueprintReadWrite, ClampMin=50, Units=Centimeters | 400.0 |
How far a member looks for others to avoid. Engine default 400. |
| Gaze Target Socket | GazeTargetSocket |
FName |
XenoCore › AI › Gaze | EditDefaultsOnly, BlueprintReadOnly | "head" |
The bone or socket an actor gaze aims at. Falls back to the actor's eye height when the actor has no such socket. |
| Back Spot Query | BackSpotQuery |
TSoftObjectPtr<UEnvQuery> |
XenoCore › AI | EditDefaultsOnly, BlueprintReadOnly | The query used while an art wants to be behind the target. Unset = spacing query. | |
| Side Spot Query | SideSpotQuery |
TSoftObjectPtr<UEnvQuery> |
XenoCore › AI | EditDefaultsOnly, BlueprintReadOnly | The query used while an art wants to be beside the target. Unset = spacing query. | |
| Combat Spot Requery Interval | CombatSpotRequeryInterval |
float |
XenoCore › AI | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.1, Units=Seconds | 2.0 |
Re-pick the spot at least this often while fighting, in seconds. |
| Combat Spot Stagger | CombatSpotStagger |
float |
XenoCore › AI | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.0, Units=Seconds | 0.2 |
Seconds per party slot before a companion first picks a spot on a new target, so each sees the claims of the slots before it. |
| Combat Spot Target Drift | CombatSpotTargetDrift |
float |
XenoCore › AI | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.0, Units=Centimeters | 150.0 |
Re-pick the spot early when the target has moved this far from where it was chosen. |
| Engaged Enemy Radius | EngagedEnemyRadius |
float |
XenoCore › AI | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.0, Units=Centimeters | 3000.0 |
How far an enemy can be and still count as fighting near us. Tuning value, not sourced. |
| State Tree AI | StateTreeAI |
TObjectPtr<UStateTreeAIComponent> |
XenoCore › AI | VisibleAnywhere, BlueprintReadOnly | The brain. Native rather than added per Blueprint so it can never be missing. | |
| Team Id | TeamId |
int32 |
XenoCore › Teams | EditDefaultsOnly, BlueprintReadOnly | 1 |
Fallback team for a member that was hand-placed rather than spawned by UXenoCorePartyComponent. The normal path overwrites this before possession - see the header. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Follow Target | Pure | APawn* GetFollowTarget() const |
The pawn this member walks after - the party leader, which in the current slice is always the player's own pawn. |
| Get Party Slot | Pure | int32 GetPartySlot() const |
This member's slot in the active party (0 is the leader). |
| Get Group Goal Location | Pure | FVector GetGroupGoalLocation() const |
Where the party is headed - the leader's bare location, and nothing else. |
| Get Combat Target | Pure | AActor* GetCombatTarget() const |
Who this member is fighting, per the party command: the leader's target, its own pick, or nobody (Come to Me). |
| Is Party In Battle | Pure | bool IsPartyInBattle() const |
Is the party in battle: the leader has drawn, or an enemy nearby is fighting the party. |
| Find Nearest Engaged Enemy | Pure | AActor* FindNearestEngagedEnemy() const |
The nearest enemy within EngagedEnemyRadius that is fighting the party, or null. |
| Get Combat Spot | Pure | bool GetCombatSpot(FVector& OutSpot) const |
The spot this companion has claimed in the current fight. |
| Has Combat Spot | Pure | bool HasCombatSpot() const |
True while this companion has claimed a spot in the current fight. |
| Update Combat Spot | Callable | void UpdateCombatSpot(AActor* Target) |
Keep the claimed spot current for Target: asks CombatSpotQuery again when the target changes, drifts more than CombatSpotTargetDrift from where the spot was chosen, or every CombatSpotRequeryInterval. |
| Clear Combat Spot | Callable | void ClearCombatSpot() |
No description. |
| Set Desired Position | Callable | void SetDesiredPosition(EXenoCoreArtPositional Position) |
Where the next spot should be relative to the target: behind, beside, or anywhere (None = spacing only). |
| Get Desired Position | Pure | EXenoCoreArtPositional GetDesiredPosition() const |
Where the next spot should be relative to the target, as last set by SetDesiredPosition. |
| Set Gaze Target | Callable | void SetGazeTarget(AActor* Actor, FVector Location) |
Point the head at an actor (tracked) or, with no actor, at a fixed world location. |
| Clear Gaze Target | Callable | void ClearGazeTarget() |
Look straight ahead again. |
| Get Gaze Location | Pure | bool GetGazeLocation(FVector& OutLocation) const |
Where the head should look this frame. |
| Get Gaze Actor | Pure | AActor* GetGazeActor() const |
The actor being looked at, if the gaze is on an actor. |
| Request Attention | Callable | void RequestAttention(AActor* Actor, float Seconds) |
Ask this member to look at Actor for Seconds, over whatever the gaze task would pick. |
| Get Attention Request | Pure | AActor* GetAttentionRequest() const |
The live attention request, or null once it has expired. |
| Update Crowd Steering | Callable | void UpdateCrowdSteering(bool bInBattle) |
Avoidance on for battle, off for travel unless bCrowdAvoidanceWhileTravelling. |
| Apply Crowd Settings | Callable | void ApplyCrowdSettings() |
Push the Crowd settings above onto the path-following component. |
AXenoCorePartyRecruitTrigger¶
Class · derives from AActor · header XenoCoreRuntime/Public/Party/XenoCorePartyRecruitTrigger.h · Blueprintable
Drag it into the level, set one field, and a character joins the party when the player walks in.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Member To Recruit | MemberToRecruit |
TObjectPtr<UXenoCorePartyMemberDefinition> |
XenoCore › Party | EditAnywhere, BlueprintReadWrite | The character who joins. This is the only field a designer has to set. | |
| Activate Immediately | bActivateImmediately |
bool |
XenoCore › Party | EditAnywhere, BlueprintReadWrite | true |
Put them straight into the active party if there is a free slot. |
| Join At Party Level | bJoinAtPartyLevel |
bool |
XenoCore › Party | EditAnywhere, BlueprintReadWrite | true |
Arrive at least at the party's level, so a mid-story recruit is not left behind. |
| Recruit On Overlap | bRecruitOnOverlap |
bool |
XenoCore › Party | EditAnywhere, BlueprintReadWrite | true |
Fire when the player walks into the volume. |
| Destroy After Recruiting | bDestroyAfterRecruiting |
bool |
XenoCore › Party | EditAnywhere, BlueprintReadWrite | true |
Destroy this actor once it has fired. |
| Recruit Volume | RecruitVolume |
TObjectPtr<UBoxComponent> |
XenoCore › Party | VisibleAnywhere, BlueprintReadOnly | The volume the player walks into. Sized in the level like any other trigger. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Recruit | Callable | void Recruit() |
Recruit now, ignoring the volume entirely. |
| On Recruited | Event (implement in Blueprint) | void K2_OnRecruited(const UXenoCorePartyMemberDefinition* Member) |
Called after the character has joined. |
EXenoCoreArtsOrder¶
Enum · header XenoCoreRuntime/Public/Party/XenoCorePartyTactics.h · BlueprintType
The Arts tactic's values, in order.
| Value | Shown as | Description |
|---|---|---|
All |
All | Every art, the Talent Art included. |
HoldTalent |
Hold Talent | Every art but the Talent Art - the gauge stays full for the player's call. |
AutoOnly |
Auto Only | Auto-attack only: no arts at all, heals included. |
EXenoCoreAttackOrder¶
Enum · header XenoCoreRuntime/Public/Party/XenoCorePartyTactics.h · BlueprintType
The Attack tactic's values, in order.
| Value | Shown as | Description |
|---|---|---|
Focus |
Focus | Attack the leader's target. XC1 "Focus attacks!", XC3 Focus Attacks on, xcx "Concentrate fire!". |
AtWill |
At Will | Each companion picks its own target (AI profile › Target Choice). XC1 "Engage at will!". |
Regroup |
Regroup | Stop attacking and gather round the leader, weapon drawn. XC1 "Come to me!", XC3 Follow Leader, xcx "Assemble!". |
EXenoCoreCrowdQuality¶
Enum · header XenoCoreRuntime/Public/Party/XenoCorePartyMemberController.h · BlueprintType
Detour Crowd avoidance quality - the engine's ECrowdAvoidanceQuality, which is not a uenum.
| Value | Shown as | Description |
|---|---|---|
Low |
Low | No description. |
Medium |
Medium | No description. |
Good |
Good | No description. |
High |
High | No description. |
EXenoCorePartyCommandInput¶
Enum · header XenoCoreRuntime/Public/Party/XenoCoreGameplayAbility_PartyCommand.h · BlueprintType
What one party-tactics button does.
| Value | Shown as | Description |
|---|---|---|
ToggleTactic |
Toggle Tactic | Flip one tactic for the whole party between two of its values (tap X: Attack, Focus <-> At Will). |
HoldTacticsPanel |
Hold Tactics Panel | Hold the tactics panel open until the button is released (hold X). |
StepScope |
Step Scope | Step who the open panel's orders are for (the bumpers while X is held). Does nothing with the panel closed. |
EXenoCorePartyCursorPurpose¶
Enum · header XenoCoreRuntime/Public/Party/XenoCorePartyComponent.h · BlueprintType
What the party cursor is choosing a member for - each purpose decides who it may stop on.
| Value | Shown as | Description |
|---|---|---|
AllyTarget |
Ally Target | An ally-targeted art (Light Heal): any member. |
Switch |
Switch | The ZL switch: the leader (releasing there cancels) or anyone who can take control. |
EXenoCorePartyNoticeType¶
Enum · header XenoCoreRuntime/Public/Party/XenoCorePartyNotice.h · BlueprintType
Which way a character crossed the active-party line.
| Value | Shown as | Description |
|---|---|---|
Joined |
Joined | Entered the active party. |
Left |
Left | Left it - benched by a swap, or removed outright. |
EXenoCorePartySwitchMode¶
Enum · header XenoCoreRuntime/Public/Party/XenoCoreGameplayAbility_PartySwitch.h · BlueprintType
What a press of the switch input does.
| Value | Shown as | Description |
|---|---|---|
Next |
Next | Tap: control to the next member down the column. |
Previous |
Previous | Control to the next member up the column. Not bound by default - a tap only goes forward. |
Select |
Select | Hold: a cursor on the party column; the D-pad moves it, releasing the input commits. |
EXenoCorePartyWipePhase¶
Enum · header XenoCoreRuntime/Public/Party/XenoCorePartyComponent.h · BlueprintType
Which half of a party wipe a FXenoCorePartyWipedMessage announces.
| Value | Shown as | Description |
|---|---|---|
Defeated |
Defeated | Every active member is down. The fade to black is about to start. |
Respawned |
Respawned | The party stands again at the respawn point, at full health. The fade back in has started. |
EXenoCoreRole¶
Enum · header XenoCoreRuntime/Public/Party/XenoCoreRole.h · BlueprintType
A character's battle role.
| Value | Shown as | Description |
|---|---|---|
None |
None | Unset. A member that has not been given a role - drawn as nothing, never as "Attacker". |
Attacker |
Attacker | Damage. Avoids aggro. |
Defender |
Defender | Holds enemy attention: slower threat decay, and the Burst bonus. |
Healer |
Healer | Recovery and revival. Avoids aggro, despite healing generating it at ×1.25. |
EXenoCoreTactic¶
Enum · header XenoCoreRuntime/Public/Party/XenoCorePartyTactics.h · BlueprintType
One party tactic. Attack and Arts have three values each; the rest are off / on.
| Value | Shown as | Description |
|---|---|---|
Attack |
Attack | Who to attack: EXenoCoreAttackOrder. XC1's three group commands; XC3 Focus Attacks + Follow Leader. |
StayBack |
Stay Back | Hold back from the target and fight with what reaches from there (xcx "Use ranged attacks!"). |
HealFirst |
Heal First | Heal earlier and put heal arts first. Unsourced: no Xenoblade tactics list has a healing order. |
Arts |
Arts | Which arts to use: EXenoCoreArtsOrder. All / No Talent (our xcx "Keep your tension up!") / Auto Only (xcx "Assemble!"). |
EXenoCoreTacticsDirection¶
Enum · header XenoCoreRuntime/Public/Party/XenoCorePartyTactics.h · BlueprintType
A D-pad press on the open tactics list: Up/Down move the highlight, Left/Right step the highlighted tactic's value.
| Value | Shown as | Description |
|---|---|---|
Up |
Up | No description. |
Right |
Right | No description. |
Down |
Down | No description. |
Left |
Left | No description. |
FXenoCoreMemberOrders¶
Struct · header XenoCoreRuntime/Public/Party/XenoCorePartyTactics.h
A member's own orders: a value per tactic, used only where its bit in OverrideMask is set.
FXenoCorePartyChangedMessage¶
Struct · header XenoCoreRuntime/Public/Party/XenoCorePartyComponent.h · BlueprintType
Broadcast on XenoCore.Party.Message.Changed whenever the roster, the active party or the leader moves.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Owning Controller | OwningController |
TObjectPtr<AController> |
XenoCore › Party | BlueprintReadOnly | nullptr |
The controller whose party changed. Single-player, so always the local player's. |
| Active Count | ActiveCount |
int32 |
XenoCore › Party | BlueprintReadOnly | 0 |
How many characters are currently active. Includes the leader - see the class comment. |
FXenoCorePartyGaugeChangedMessage¶
Struct · header XenoCoreRuntime/Public/Party/XenoCorePartyGaugeComponent.h · BlueprintType
Broadcast on XenoCore.PartyGauge.Message.Changed whenever the gauge moves.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Old Points | OldPoints |
float |
XenoCore › PartyGauge | BlueprintReadOnly | 0.0 |
Points before the change. |
| New Points | NewPoints |
float |
XenoCore › PartyGauge | BlueprintReadOnly | 0.0 |
Points after the change. |
| Max Points | MaxPoints |
float |
XenoCore › PartyGauge | BlueprintReadOnly | 0.0 |
Points in a completely full gauge. |
| Points Per Bar | PointsPerBar |
float |
XenoCore › PartyGauge | BlueprintReadOnly | 0.0 |
Points in one bar. |
| Reason | Reason |
FGameplayTag |
XenoCore › PartyGauge | BlueprintReadOnly | Why it moved - a XenoCore.PartyGauge.Reason.* tag. Empty for the out-of-battle drain. |
FXenoCorePartyNotice¶
Struct · header XenoCoreRuntime/Public/Party/XenoCorePartyNotice.h · BlueprintType
One queued announcement.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Member | Member |
TObjectPtr<UXenoCorePartyMemberDefinition> |
XenoCore › Party | BlueprintReadOnly | nullptr |
The character the notice is about. |
| Type | Type |
EXenoCorePartyNoticeType |
XenoCore › Party | BlueprintReadOnly | EXenoCorePartyNoticeType::Joined |
Whether the character joined or left the active party. |
FXenoCorePartyOrders¶
Struct · header XenoCoreRuntime/Public/Party/XenoCorePartyTactics.h · BlueprintType
One value per tactic - the party's orders, or a member's own.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Attack | Attack |
EXenoCoreAttackOrder |
XenoCore › Party › Tactics | EditAnywhere, BlueprintReadWrite | EXenoCoreAttackOrder::Focus |
Who to attack: the leader's target, each companion's own pick, or nobody (regroup on the leader). |
| Arts | Arts |
EXenoCoreArtsOrder |
XenoCore › Party › Tactics | EditAnywhere, BlueprintReadWrite | EXenoCoreArtsOrder::All |
Which arts to use: all, all but the Talent Art, or auto-attack only. |
| Heal First | bHealFirst |
bool |
XenoCore › Party › Tactics | EditAnywhere, BlueprintReadWrite | false |
Heal earlier and put heal arts first. |
| Stay Back | bStayBack |
bool |
XenoCore › Party › Tactics | EditAnywhere, BlueprintReadWrite | false |
Hold back from the target and fight with what reaches from there. |
FXenoCorePartyWipedMessage¶
Struct · header XenoCoreRuntime/Public/Party/XenoCorePartyComponent.h · BlueprintType
Broadcast on XenoCore.Party.Message.Wiped, twice per wipe - once per phase.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Owning Controller | OwningController |
TObjectPtr<AController> |
XenoCore › Party | BlueprintReadOnly | nullptr |
No description. |
| Phase | Phase |
EXenoCorePartyWipePhase |
XenoCore › Party | BlueprintReadOnly | EXenoCorePartyWipePhase::Defeated |
No description. |
| Respawn Transform | RespawnTransform |
FTransform |
XenoCore › Party | BlueprintReadOnly | FTransform::Identity |
Where the party is being sent. Final by Defeated, so a UI can name it before the fade. |
FXenoCoreTacticChangedMessage¶
Struct · header XenoCoreRuntime/Public/Party/XenoCorePartyTactics.h · BlueprintType
Broadcast on XenoCore.Party.Message.TacticChanged whenever a tactic changes, for the party or one member.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Owning Controller | OwningController |
TObjectPtr<AController> |
XenoCore › Party › Tactics | BlueprintReadOnly | nullptr |
The player controller that owns the party. |
| Member | Member |
TObjectPtr<const UXenoCorePartyMemberDefinition> |
XenoCore › Party › Tactics | BlueprintReadOnly | nullptr |
The member whose order changed, or null for the whole party. |
| Tactic | Tactic |
EXenoCoreTactic |
XenoCore › Party › Tactics | BlueprintReadOnly | EXenoCoreTactic::Attack |
The tactic that changed. |
| Value | Value |
int32 |
XenoCore › Party › Tactics | BlueprintReadOnly | 0 |
The new value, or INDEX_NONE when a member went back to following the party. |
FXenoCoreTacticInfo¶
Struct · header XenoCoreRuntime/Public/Party/XenoCorePartyTactics.h · BlueprintType
What the player reads and hears for one tactic. One row per tactic on the party component.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Label | Label |
FText |
XenoCore › Party › Tactics | EditAnywhere, BlueprintReadOnly | The tactic's name on the list. | |
| Description | Description |
FText |
XenoCore › Party › Tactics | EditAnywhere, BlueprintReadOnly | What the tactic does, in a sentence. | |
| Values | Values |
TArray<FXenoCoreTacticValue> |
XenoCore › Party › Tactics | EditAnywhere, BlueprintReadOnly | Its values in order; index 0 is the first. On/off tactics are { off, on }. | |
| Sound | Sound |
TObjectPtr<USoundBase> |
XenoCore › Party › Tactics | EditAnywhere, BlueprintReadOnly | nullptr |
Played as a UI sound when the tactic changes. None = silent. |
FXenoCoreTacticValue¶
Struct · header XenoCoreRuntime/Public/Party/XenoCorePartyTactics.h · BlueprintType
One value of a tactic: what the list, the battle line and the orders line say for it.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Label | Label |
FText |
XenoCore › Party › Tactics | EditAnywhere, BlueprintReadOnly | The value on the list: on, off, Focus, At Will... | |
| Line | Line |
FText |
XenoCore › Party › Tactics | EditAnywhere, BlueprintReadOnly | The battle line over the leader when the tactic is set to this value. Empty = no line. | |
| Summary | Summary |
FText |
XenoCore › Party › Tactics | EditAnywhere, BlueprintReadOnly | The word in the always-on orders line while the party is on this value. Empty = not shown. | |
| Colour | Colour |
FLinearColor |
XenoCore › Party › Tactics | EditAnywhere, BlueprintReadOnly | FLinearColor(0.62, 0.64, 0.7, 1.0) |
The value's colour on the list and its battle line. |
UXenoCoreGameplayAbility_PartyCommand¶
Class · derives from ULyraGameplayAbility · header XenoCoreRuntime/Public/Party/XenoCoreGameplayAbility_PartyCommand.h · abstract
A party-tactics button: toggle a tactic, hold the tactics panel open, or step the panel's scope.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Mode | Mode |
EXenoCorePartyCommandInput |
XenoCore › Party › Tactics | EditDefaultsOnly | EXenoCorePartyCommandInput::ToggleTactic |
What this button does. |
| Tactic | Tactic |
EXenoCoreTactic |
XenoCore › Party › Tactics | EditDefaultsOnly, EditCondition=Mode == EXenoCorePartyCommandInput::ToggleTactic |
EXenoCoreTactic::Attack |
ToggleTactic: the tactic this button flips, for the whole party. |
| Value A | ValueA |
int32 |
XenoCore › Party › Tactics | EditDefaultsOnly, ClampMin=0, UIMin=0, EditCondition=Mode == EXenoCorePartyCommandInput::ToggleTactic |
0 |
ToggleTactic: the value it sets, unless the tactic is already on it (then ValueB). Attack: 0 Focus, 1 At Will, 2 Regroup. |
| Value B | ValueB |
int32 |
XenoCore › Party › Tactics | EditDefaultsOnly, ClampMin=0, UIMin=0, EditCondition=Mode == EXenoCorePartyCommandInput::ToggleTactic |
1 |
ToggleTactic: the value it sets when the tactic is already on ValueA. |
| Scope Delta | ScopeDelta |
int32 |
XenoCore › Party › Tactics | EditDefaultsOnly, EditCondition=Mode == EXenoCorePartyCommandInput::StepScope |
1 |
StepScope: +1 forward, -1 back. |
UXenoCoreGameplayAbility_PartySwitch¶
Class · derives from ULyraGameplayAbility · header XenoCoreRuntime/Public/Party/XenoCoreGameplayAbility_PartySwitch.h · abstract
XC3's ZL: tap switches control to the next party member, hold opens a selector on the party rows.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Mode | Mode |
EXenoCorePartySwitchMode |
XenoCore › Party › Switch | EditDefaultsOnly | EXenoCorePartySwitchMode::Next |
Tap or hold - see EXenoCorePartySwitchMode. |
UXenoCorePartyComponent¶
Class · derives from UControllerComponent · header XenoCoreRuntime/Public/Party/XenoCorePartyComponent.h
The party: who has been recruited, who is currently fighting, and who leads. Owns spawning and despawning their pawns, and is the Blueprint surface story events drive the party through.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Starting Roster | StartingRoster |
TArray<TObjectPtr<UXenoCorePartyMemberDefinition>> |
XenoCore › Party | EditDefaultsOnly | Members the party starts with. A convenience for testing and for a template buyer opening the project - the real game recruits through AddToRoster from story events. | |
| Max Active Members | MaxActiveMembers |
int32 |
XenoCore › Party | EditDefaultsOnly, ClampMin=1 | 3 |
How many characters may be active at once, the leader included. Extra roster members wait in reserve. |
| Revive Bar Cost | ReviveBarCost |
int32 |
XenoCore › Party › Revive | EditDefaultsOnly, ClampMin=0 | 1 |
Party Gauge bars a revive costs. XC1: one bar. |
| Revive Health Fraction | ReviveHealthFraction |
float |
XenoCore › Party › Revive | EditDefaultsOnly, ClampMin=0.01, ClampMax=1.0 | 0.3 |
Health a revived member comes back with, as a fraction of max. Unsourced for XC1 - 0.3 is XC2's; XC3's is 0.15. |
| Revive Range | ReviveRange |
float |
XenoCore › Party › Revive | EditDefaultsOnly, ClampMin=10.0 | 110.0 |
How close the reviver must stand, in cm. XC1 revives by moving over the body. |
| Battle Over Grace | BattleOverGrace |
float |
XenoCore › Party › Battle | EditDefaultsOnly, ClampMin=0.0 | 1.0 |
How long no enemy may be engaged before the battle counts as over - and the downed get up at 1 HP. The end trigger, not a second "in battle" signal: it is the enemies giving up, so the palette's Flee only revives anyone once the party has actually got away. |
| Out Of Battle Regen Per Second | OutOfBattleRegenPerSecond |
float |
XenoCore › Party › Recovery | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0 | 0.1 |
Fraction of max HP each party member recovers per second out of battle. 0 turns recovery off. |
| Out Of Battle Regen Delay | OutOfBattleRegenDelay |
float |
XenoCore › Party › Recovery | EditDefaultsOnly, ClampMin=0.0, Units=Seconds | 1.0 |
Seconds after the battle ends before recovery starts. |
| Default Tactics | DefaultTactics |
FXenoCorePartyOrders |
XenoCore › Party › Tactics | EditDefaultsOnly, BlueprintReadOnly | The party's orders when a session starts. | |
| Tactic Info | TacticInfo |
TMap<EXenoCoreTactic, FXenoCoreTacticInfo> |
XenoCore › Party › Tactics | EditDefaultsOnly, BlueprintReadOnly | Text, battle lines and sound per tactic. A tactic with no row shows its enum name and says nothing. | |
| Tactics List | TacticsList |
TArray<EXenoCoreTactic> |
XenoCore › Party › Tactics | EditDefaultsOnly, BlueprintReadOnly | The tactics the panel lists, top to bottom. Leave one out to keep it off the panel (it still works from code or its own button). | |
| Heal First Threshold | HealFirstThreshold |
float |
XenoCore › Party › Tactics | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.0, ClampMax=100.0, Units=Percent | 70.0 |
Prioritise Healing: heal arts become eligible when an ally drops below this much health, instead of the AI profile's own Heal Threshold. |
| Heal First Bonus | HealFirstBonus |
float |
XenoCore › Party › Tactics | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.0 | 3.0 |
Prioritise Healing: added to a heal art's AI score, so it beats the attack arts. |
| Stay Back Distance | StayBackDistance |
float |
XenoCore › Party › Tactics | EditDefaultsOnly, BlueprintReadOnly, ClampMin=100.0, Units=Centimeters | 750.0 |
Stay Back: how far from its target a companion holds, in cm. |
| Regroup Ends With Battle | bRegroupEndsWithBattle |
bool |
XenoCore › Party › Tactics | EditDefaultsOnly, BlueprintReadOnly | false |
When the battle ends, turn every Attack: Regroup back to Focus. |
| Follow Party Line | FollowPartyLine |
FText |
XenoCore › Party › Tactics | EditDefaultsOnly, BlueprintReadOnly | The battle line when a member goes back to the party's order ("Mira: Back to the party's orders!"). Empty = silent. | |
| Tactics Panel Class | TacticsPanelClass |
TSubclassOf<UXenoCoreTacticsPanelBase> |
XenoCore › Party › Tactics | EditDefaultsOnly, BlueprintReadOnly | The widget drawing the orders label and the panel. Set a Blueprint child of UXenoCoreTacticsPanelBase to restyle it; None = no widget. |
|
| Tactics Panel Z Order | TacticsPanelZOrder |
int32 |
XenoCore › Party › Tactics | EditDefaultsOnly, BlueprintReadOnly | 20 |
The panel's Z order on the player's screen. Higher draws on top. |
| Leader Slot | LeaderSlot |
int32 |
XenoCore › Party | EditDefaultsOnly, ClampMin=0 | 0 |
The active slot the player drives. |
| Leader Only Ability Set | LeaderOnlyAbilitySet |
TObjectPtr<const ULyraAbilitySet> |
XenoCore › Party | EditDefaultsOnly | Abilities only the player-driven body may have - interact, and anything else that asserts on a PlayerController. | |
| Default Controller Class | DefaultControllerClass |
TSubclassOf<AXenoCorePartyMemberController> |
XenoCore › Party | EditDefaultsOnly | Used when a member definition names no ControllerClass of its own. | |
| Wipe Fade Delay | WipeFadeDelay |
float |
XenoCore › Party › Wipe | EditDefaultsOnly, ClampMin=0.0 | 2.5 |
Seconds between the last member falling and the fade starting - long enough to see it. |
| Wipe Fade Out Duration | WipeFadeOutDuration |
float |
XenoCore › Party › Wipe | EditDefaultsOnly, ClampMin=0.0 | 1.0 |
Seconds the screen takes to fade out after a wipe. |
| Wipe Hold Duration | WipeHoldDuration |
float |
XenoCore › Party › Wipe | EditDefaultsOnly, ClampMin=0.1 | 0.5 |
Seconds held on black after the respawn, before the fade back in. |
| Wipe Fade In Duration | WipeFadeInDuration |
float |
XenoCore › Party › Wipe | EditDefaultsOnly, ClampMin=0.0 | 1.0 |
Seconds the screen takes to fade back in once the party stands again. |
| Wipe Fade Colour | WipeFadeColour |
FLinearColor |
XenoCore › Party › Wipe | EditDefaultsOnly | FLinearColor::Black |
The colour the screen fades to during a wipe. |
| Defeat Time Dilation | DefeatTimeDilation |
float |
XenoCore › Party › Wipe › Defeat | EditDefaultsOnly, ClampMin=0.05, ClampMax=1.0 | 0.35 |
World time scale through the defeat beat. 1 turns the slow motion off. |
| Defeat Saturation | DefeatSaturation |
float |
XenoCore › Party › Wipe › Defeat | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0 | 0.15 |
How much colour is left at the end of the beat: 0 grey, 1 untouched. |
| Defeat Desaturate Seconds | DefeatDesaturateSeconds |
float |
XenoCore › Party › Wipe › Defeat | EditDefaultsOnly, ClampMin=0.0 | 0.9 |
Real seconds for the colour to drain. |
| Defeat Banner Class | DefeatBannerClass |
TSubclassOf<UXenoCoreDefeatBannerBase> |
XenoCore › Party › Wipe › Defeat | EditDefaultsOnly | The line over the beat. None turns it off. | |
| Defeat Text | DefeatText |
FText |
XenoCore › Party › Wipe › Defeat | EditDefaultsOnly | NSLOCTEXT("XenoCore", "DefeatText", "Defeated") |
The text the defeat banner shows. |
| Defeat Sound | DefeatSound |
TObjectPtr<USoundBase> |
XenoCore › Party › Wipe › Defeat | EditDefaultsOnly | Played once as the beat starts. | |
| Revive Gesture Montage | ReviveGestureMontage |
TObjectPtr<UAnimMontage> |
XenoCore › Party › Revive | EditDefaultsOnly | Played on whoever revives, as the revive lands. | |
| Revive Refused Text | ReviveRefusedText |
FText |
XenoCore › Party › Revive | EditDefaultsOnly | NSLOCTEXT("XenoCoreParty", "ReviveRefused", "Party Gauge ... |
Shown over the downed ally when a revive is refused for want of a Party Gauge bar. Empty shows nothing. |
| Revive Refused Colour | ReviveRefusedColour |
FLinearColor |
XenoCore › Party › Revive | EditDefaultsOnly | FLinearColor(1.0, 0.36, 0.3, 1.0) |
Colour of the revive-refused line. |
| Revive Refused Scale | ReviveRefusedScale |
float |
XenoCore › Party › Revive | EditDefaultsOnly, ClampMin=0.1 | 0.75 |
Text scale of the revive-refused line. |
| Revive Refused Sound | ReviveRefusedSound |
TObjectPtr<USoundBase> |
XenoCore › Party › Revive | EditDefaultsOnly | Played when a revive is refused. | |
| Wipe When Leader Falls | bWipeWhenLeaderFalls |
bool |
XenoCore › Party › Wipe | EditDefaultsOnly | false |
Also wipe the moment the leader falls, whoever else is standing. |
| Switch Camera Blend Time | SwitchCameraBlendTime |
float |
XenoCore › Party › Switch | EditDefaultsOnly, ClampMin=0.0 | 0.35 |
Seconds the camera blends from the old body's view to the new one's. 0 cuts. |
| Switch Announce Text | SwitchAnnounceText |
FText |
XenoCore › Party › Switch | EditDefaultsOnly | NSLOCTEXT("XenoCoreParty", "SwitchAnnounce", "Leader") |
The line over the new leader as control lands on them. Empty shows nothing. |
| Switch Announce Colour | SwitchAnnounceColour |
FLinearColor |
XenoCore › Party › Switch | EditDefaultsOnly | FLinearColor(1.0, 0.82, 0.36, 1.0) |
Colour of the line over the new leader. |
| Switch Announce Scale | SwitchAnnounceScale |
float |
XenoCore › Party › Switch | EditDefaultsOnly, ClampMin=0.1 | 0.85 |
Text scale of the line over the new leader. |
| Switch Sound | SwitchSound |
TObjectPtr<USoundBase> |
XenoCore › Party › Switch | EditDefaultsOnly | Played as control lands on the new leader. | |
| Switch Cursor Sound | SwitchCursorSound |
TObjectPtr<USoundBase> |
XenoCore › Party › Switch | EditDefaultsOnly | Played as the selector's cursor moves. | |
| Party Cursor Ring Material | PartyCursorRingMaterial |
TSoftObjectPtr<UMaterialInterface> |
XenoCore › Party › Cursor | EditAnywhere, BlueprintReadOnly | The party cursor's floor ring: a deferred-decal material drawn under the chosen member. Defaults to the aggro ring's material, tinted by PartyCursorRingColour through its "Colour" parameter. | |
| Party Cursor Ring Colour | PartyCursorRingColour |
FLinearColor |
XenoCore › Party › Cursor | EditAnywhere, BlueprintReadOnly | FLinearColor::White |
The ring's tint, written to the material's "Colour" parameter. |
| Party Cursor Ring Diameter | PartyCursorRingDiameter |
float |
XenoCore › Party › Cursor | EditAnywhere, BlueprintReadOnly, ClampMin=10.0, Units=Centimeters | 110.0 |
The ring's diameter. Keep it well under the aggro ring's 220 cm, or the two overlap under a member an enemy is after - which is the whole reason this is a small ring. |
| Party Cursor Ring Lift | PartyCursorRingLift |
float |
XenoCore › Party › Cursor | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=Centimeters | 8.0 |
Lift the ring off the ground this far; the decal projects down from here. Matches the aggro ring's lift. |
| Switch Ring Hold Seconds | SwitchRingHoldSeconds |
float |
XenoCore › Party › Cursor | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=Seconds | 0.35 |
How long the switch ring stays at full strength under the new leader before fading. |
| Switch Ring Fade Seconds | SwitchRingFadeSeconds |
float |
XenoCore › Party › Cursor | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, Units=Seconds | 0.6 |
How long the switch ring takes to fade out. |
| Switch Refused Text | SwitchRefusedText |
FText |
XenoCore › Party › Switch | EditDefaultsOnly | NSLOCTEXT("XenoCoreParty", "SwitchRefused", "Can't switch") |
Shown over the leader when a switch is refused - toppled, dazed, nobody to switch to. Never a silent no: a press that does nothing reads as a bug. |
| Switch Refused Colour | SwitchRefusedColour |
FLinearColor |
XenoCore › Party › Switch | EditDefaultsOnly | FLinearColor(1.0, 0.36, 0.3, 1.0) |
Colour of the switch-refused line. |
| Switch Refused Scale | SwitchRefusedScale |
float |
XenoCore › Party › Switch | EditDefaultsOnly, ClampMin=0.1 | 0.75 |
Text scale of the switch-refused line. |
| Switch Refused Sound | SwitchRefusedSound |
TObjectPtr<USoundBase> |
XenoCore › Party › Switch | EditDefaultsOnly | Played when a switch is refused. | |
| Spawn Inner Radius | SpawnInnerRadius |
float |
XenoCore › Party › Spawn | EditDefaultsOnly, ClampMin=0.0, Units=Centimeters | 190.0 |
Distance from the leader of the nearest member. |
| Spawn Radius Step | SpawnRadiusStep |
float |
XenoCore › Party › Spawn | EditDefaultsOnly, ClampMin=0.0, Units=Centimeters | 55.0 |
Each later member lands this much further out, on average. |
| Spawn Radius Jitter | SpawnRadiusJitter |
float |
XenoCore › Party › Spawn | EditDefaultsOnly, ClampMin=0.0, Units=Centimeters | 45.0 |
Random spread on each radius, either way. |
| Spawn Arc Degrees | SpawnArcDegrees |
float |
XenoCore › Party › Spawn | EditDefaultsOnly, ClampMin=0.0, ClampMax=360.0, Units=Degrees | 240.0 |
The arc behind the leader members are scattered across. 360 surrounds it. |
| Spawn Min Separation | SpawnMinSeparation |
float |
XenoCore › Party › Spawn | EditDefaultsOnly, ClampMin=0.0, Units=Centimeters | 120.0 |
No two members closer than this. |
| Spawn Face Leader | SpawnFaceLeader |
float |
XenoCore › Party › Spawn | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0 | 0.35 |
0 = face where the leader faces, 1 = face the leader. Members in between look like a group. |
| Spawn Facing Jitter | SpawnFacingJitter |
float |
XenoCore › Party › Spawn | EditDefaultsOnly, ClampMin=0.0, ClampMax=180.0, Units=Degrees | 40.0 |
Random yaw on each member's facing, either way. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Party Component | Pure | UXenoCorePartyComponent* GetPartyComponent() |
The party's component, or null. |
| Get Leader Pawn | Pure | APawn* GetLeaderPawn() const |
The pawn every member follows: the body at LeaderSlot, which is the one the player drives. |
| Add To Roster | Callable | void AddToRoster(UXenoCorePartyMemberDefinition* Member, bool bActivateImmediately = true, bool bJoinAtPartyLevel = false) |
Recruit a character. |
| Remove From Roster | Callable | void RemoveFromRoster(UXenoCorePartyMemberDefinition* Member) |
Remove a character entirely - they leave the story, not just the active party. |
| Set Active Members | Callable | void SetActiveMembers(const TArray<UXenoCorePartyMemberDefinition*>& Members) |
Replace the active companions wholesale. |
| Swap Member | Callable | void SwapMember(int32 ActiveSlot, UXenoCorePartyMemberDefinition* Member) |
XC1's Party screen interaction: put a roster member into a specific active slot. |
| Clear Slot | Callable | void ClearSlot(int32 ActiveSlot) |
Bench whoever is in an active slot, leaving the party smaller. |
| Get Roster | Pure | TArray<UXenoCorePartyMemberDefinition*> GetRoster() const |
Everyone recruited so far, active or benched - the right-hand pool on XC1's Party screen. |
| Get Active Members | Pure | TArray<UXenoCorePartyMemberDefinition*> GetActiveMembers() const |
The companions currently fighting, in slot order. |
| Get Pawn For Member | Pure | AXenoCoreCombatantCharacter* GetPawnForMember(UXenoCorePartyMemberDefinition* Member) const |
The live pawn for an active member, or null if it has not spawned (or is not active). |
| Get Active Member Pawns | Pure | TArray<AXenoCoreCombatantCharacter*> GetActiveMemberPawns() const |
Every spawned member pawn. |
| Is Party Full | Pure | bool IsPartyFull() const |
True if the active party has no free slot - check before offering to recruit-and-activate. |
| Is In Roster | Pure | bool IsInRoster(UXenoCorePartyMemberDefinition* Member) const |
True if this character has been recruited at all, active or benched. |
| Is Active Member | Pure | bool IsActiveMember(UXenoCorePartyMemberDefinition* Member) const |
True if this character is one of the companions currently fighting. |
| Get Max Active Members | Pure | int32 GetMaxActiveMembers() const |
How many characters may be active at once, the leader included. |
| Try Revive Member | Callable | bool TryReviveMember(AActor* Reviver, AXenoCoreCombatantCharacter* Downed) |
Revive a downed party member: spend ReviveBarCost bars, stand them up at ReviveHealthFraction. |
| Can Afford Revive | Pure | bool CanAffordRevive() const |
True when the Party Gauge holds ReviveBarCost full bars (always, at a cost of 0). |
| Get Revive Range | Pure | float GetReviveRange() const |
How close a reviver must stand to a downed member, in cm. |
| Is Party In Battle | Pure | bool IsPartyInBattle() const |
True while the party is fighting - the leader holds Status.XenoCore.InBattle. |
| Get Tactic Value | Pure | int32 GetTacticValue(EXenoCoreTactic Tactic, const UXenoCorePartyMemberDefinition* Member = nullptr) const |
This tactic's value for Member (its own order, else the party's). |
| Is Tactic On | Pure | bool IsTacticOn(EXenoCoreTactic Tactic, const UXenoCorePartyMemberDefinition* Member = nullptr) const |
An on/off tactic's value as a bool (value != 0). |
| Get Attack Order | Pure | EXenoCoreAttackOrder GetAttackOrder(const UXenoCorePartyMemberDefinition* Member = nullptr) const |
Who Member attacks: Focus (the leader's target), At Will (its own pick) or Regroup (nobody - it stays by the leader). |
| Get Arts Order | Pure | EXenoCoreArtsOrder GetArtsOrder(const UXenoCorePartyMemberDefinition* Member = nullptr) const |
Which arts Member uses: All, No Talent (keeps the Talent gauge full) or Auto Only (no arts at all). |
| Has Own Tactic | Pure | bool HasOwnTactic(EXenoCoreTactic Tactic, const UXenoCorePartyMemberDefinition* Member) const |
True when Member carries its own order for this tactic rather than following the party's. |
| Set Tactic | Callable | void SetTactic(EXenoCoreTactic Tactic, int32 Value, const UXenoCorePartyMemberDefinition* Member = nullptr) |
Set a tactic's value for the whole party (null Member, clearing every member's own value) or for one member. |
| Toggle Tactic | Callable | int32 ToggleTactic(EXenoCoreTactic Tactic, int32 ValueA, int32 ValueB, const UXenoCorePartyMemberDefinition* Member = nullptr) |
Flip a tactic between two of its values: A unless it is already on A, then B. |
| Clear Member Tactic | Callable | void ClearMemberTactic(EXenoCoreTactic Tactic, const UXenoCorePartyMemberDefinition* Member) |
Member goes back to following the party's order for this one tactic (the list's party value). |
| Clear Member Tactics | Callable | void ClearMemberTactics(const UXenoCorePartyMemberDefinition* Member) |
Drop every order Member carries of its own, so it follows the party again (xcx "Do as you please!"). |
| Get Tactic Info | Pure | FXenoCoreTacticInfo GetTacticInfo(EXenoCoreTactic Tactic) const |
The text, lines and sound for a tactic (TacticInfo). |
| Get Tactics List | Pure | TArray<EXenoCoreTactic> GetTacticsList() const |
The tactics the panel lists, top to bottom (TacticsList). |
| Get Tactics Highlight | Pure | int32 GetTacticsHighlight() const |
The highlighted row of the open panel, an index into GetTacticsList. |
| Get Heal First Threshold | Pure | float GetHealFirstThreshold() const |
Prioritise Healing: the ally-health threshold that makes heal arts eligible while it is on (percent). |
| Get Heal First Bonus | Pure | float GetHealFirstBonus() const |
Prioritise Healing: score added to a heal art while it is on. |
| Get Stay Back Distance | Pure | float GetStayBackDistance() const |
Stay Back: how far from its target a companion holds. |
| Get Tactics Summary | Pure | FText GetTacticsSummary(const UXenoCorePartyMemberDefinition* Member = nullptr) const |
The orders in a few words for the always-on label - "Focus", "At Will · Follow" - built from each tactic's Summary text. |
| Open Tactics Panel | Callable | bool OpenTacticsPanel() |
Open the tactics panel. |
| Close Tactics Panel | Callable | void CloseTacticsPanel() |
Close the tactics panel. |
| Is Tactics Panel Open | Pure | bool IsTacticsPanelOpen() const |
True while the tactics panel is open. |
| Step Tactics Scope | Callable | void StepTacticsScope(int32 Delta) |
Step who the panel's orders are for: +1 forward through Whole Party then each AI-driven member, -1 back. |
| Get Tactics Scope | Pure | UXenoCorePartyMemberDefinition* GetTacticsScope() const |
Who the panel's orders are for: a member, or null for the whole party. |
| Press Tactics Direction | Callable | void PressTacticsDirection(EXenoCoreTacticsDirection Direction) |
A D-pad press on the open panel: move the highlight (Up/Down), or step the highlighted tactic's value (Right next, Left previous; a member's list includes party). |
| Get Leader Slot | Pure | int32 GetLeaderSlot() const |
Which active slot the player is driving. |
| Can Change Party | Pure | bool CanChangeParty() const |
False while the party is in a fight - bench swaps and clears are refused. |
| Show Party Locked Message | Callable | void ShowPartyLockedMessage() |
Tell the player why the Party screen just refused them. |
| Set Leader | Callable | bool SetLeader(int32 ActiveSlot) |
Hand control of the party to the member in this slot; the player drives their body instead. |
| Can Assign To Slot | Pure | bool CanAssignToSlot(int32 ActiveSlot, UXenoCorePartyMemberDefinition* Member) const |
Would SwapMember(ActiveSlot, Member) be allowed right now? |
| Get Display Order | Pure | TArray<AXenoCoreCombatantCharacter*> GetDisplayOrder() const |
The party as the HUD column draws it, top to bottom: the leader, then everyone else in slot order. |
| Is Switchable Member | Pure | bool IsSwitchableMember(const AXenoCoreCombatantCharacter* Member) const |
Could the player take control of this character right now? |
| Can Switch From Leader | Pure | bool CanSwitchFromLeader() const |
May the player switch away from the current leader right now? |
| Switch Leader By | Callable | bool SwitchLeaderBy(int32 Direction = 1) |
Tap: hand control to the next switchable member down the column (+1) or up it (-1), rotating the column. |
| Switch Leader To | Callable | bool SwitchLeaderTo(AXenoCoreCombatantCharacter* Member) |
Hand control to this member, rotating the column. |
| Open Party Cursor | Callable | bool OpenPartyCursor(EXenoCorePartyCursorPurpose Purpose, AActor* StartOn) |
Open the party cursor on StartOn (or the top row). |
| Move Party Cursor | Callable | void MovePartyCursor(int32 Delta) |
Move the cursor, skipping members the purpose cannot stop on. +1 is up the column. |
| Close Party Cursor | Callable | AXenoCoreCombatantCharacter* ClosePartyCursor() |
Close the cursor; returns the member it was on. |
| Is Party Cursor Open | Pure | bool IsPartyCursorOpen() const |
True while the party cursor is up, for any purpose. |
| Get Party Cursor Purpose | Pure | EXenoCorePartyCursorPurpose GetPartyCursorPurpose() const |
What the open party cursor is choosing a member for. |
| Get Party Cursor Target | Pure | AXenoCoreCombatantCharacter* GetPartyCursorTarget() const |
The member under the cursor, or null while it is closed. |
| Open Switch Selector | Callable | bool OpenSwitchSelector() |
Hold ZL: the party cursor for a switch, on the leader. |
| Close Switch Selector | Callable | void CloseSwitchSelector(bool bCommit) |
Release ZL: switch to the cursor's member (bCommit), or just close. |
| Is Switch Selector Open | Pure | bool IsSwitchSelectorOpen() const |
True while the party cursor is up for a switch. |
| Get Switch Selection | Pure | AXenoCoreCombatantCharacter* GetSwitchSelection() const |
The member under the switch cursor, or null. |
| Consume Party Notice | Callable | bool ConsumePartyNotice(FXenoCorePartyNotice& OutNotice) |
The next queued announcement, or false when there is none. |
| Set Party Respawn Point | Callable | void SetPartyRespawnPoint(const FTransform& RespawnTransform) |
Remember where a wiped party should stand again. |
| Clear Party Respawn Point | Callable | void ClearPartyRespawnPoint() |
Forget the recorded point, so a wipe falls back to the player start. |
| Get Wipe Respawn Transform | Callable | FTransform GetWipeRespawnTransform() const |
Where a wiped party respawns. |
| Is Party Wiped | Pure | bool IsPartyWiped() const |
True when there is an active party and every member of it is down (or has no body). |
| Is Wipe In Progress | Pure | bool IsWipeInProgress() const |
True from the moment a wipe is detected until the fade back in has started. |
| Begin Party Wipe | Callable | void BeginPartyWipe() |
Run the wipe now: announce, fade out, respawn, heal, fade in. |
UXenoCorePartyGaugeComponent¶
Class · derives from UControllerComponent · header XenoCoreRuntime/Public/Party/XenoCorePartyGaugeComponent.h
The Party Gauge: XC1's three-bar party resource, filled by battle actions and spent on revives and Chain Attacks.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Bar Count | BarCount |
int32 |
XenoCore › PartyGauge | EditAnywhere, BlueprintReadOnly, ClampMin=1 | 3 |
Number of bars in the gauge. XC1: 3. |
| Points Per Bar | PointsPerBar |
float |
XenoCore › PartyGauge | EditAnywhere, BlueprintReadOnly, ClampMin=1.0 | 100.0 |
Points in one bar. XC1: 100, so the whole gauge is 300. |
| Fill Points | FillPoints |
TMap<FGameplayTag, float> |
XenoCore › PartyGauge | EditAnywhere, BlueprintReadOnly, Categories=XenoCore.PartyGauge.Reason |
Points per fill reason. XC1: critical hit +10, an art's bonus effect landing +20, Burst Affinity +50 (+75 perfectly timed), auto-attack at Very High tension +5, a kill during a Chain Attack +100. | |
| Out Of Battle Drain Per Second | OutOfBattleDrainPerSecond |
float |
XenoCore › PartyGauge | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 2.0 |
Points lost per second while out of battle. XC1: 2, so a bar lasts 50 seconds. |
| Starting Points | StartingPoints |
float |
XenoCore › PartyGauge | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 0.0 |
What the gauge holds when play starts. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Party Gauge | Pure | UXenoCorePartyGaugeComponent* GetPartyGauge() |
The one resolver, matching GetPartyInventory / GetPartyQuests. |
| Add Party Gauge For Reason | Callable | void AddPartyGaugeForReason(const AActor* Causer, FGameplayTag Reason) |
Price Reason from FillPoints and add it - but only when Causer is on the party's side. |
| Add Points | Callable | void AddPoints(float Amount, FGameplayTag Reason) |
Add (or with a negative amount, remove) points directly. |
| Can Afford Bars | Pure | bool CanAffordBars(int32 Bars) const |
True when at least Bars whole bars are full. |
| Spend Bars | Callable | bool SpendBars(int32 Bars, FGameplayTag Reason) |
Spend Bars whole bars. |
| Notify Cannot Afford | Callable | void NotifyCannotAfford(int32 Bars, FGameplayTag Reason) |
Announce a spend that could not be paid - the gauge readout shakes and flashes red. |
| Get Points | Pure | float GetPoints() const |
Points the gauge holds now. |
| Get Max Points | Pure | float GetMaxPoints() const |
Points in a completely full gauge (PointsPerBar x BarCount). |
| Get Points Per Bar | Pure | float GetPointsPerBar() const |
Points in one bar. |
| Get Bar Count | Pure | int32 GetBarCount() const |
Number of bars the gauge has. |
| Get Full Bars | Pure | int32 GetFullBars() const |
How many bars are completely full. |
| Is Party In Battle | Pure | bool IsPartyInBattle() const |
True while the party is fighting - the leader holds Status.XenoCore.InBattle. |
UXenoCorePartyMemberDefinition¶
Class · derives from UPrimaryDataAsset · header XenoCoreRuntime/Public/Party/XenoCorePartyMemberDefinition.h · BlueprintType
One asset per recruitable character. This is the designer's entry point for the party: adding a new member is this asset plus a Blueprint, and no C++.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Display Name | DisplayName |
FText |
XenoCore › Party | EditDefaultsOnly, BlueprintReadOnly | Shown on HUD plates, the Party screen and the equipment screen's character carousel. | |
| Role | Role |
EXenoCoreRole |
XenoCore › Party | EditDefaultsOnly, BlueprintReadOnly | EXenoCoreRole::None |
This character's battle role. |
| Portrait | Portrait |
TSoftObjectPtr<UTexture2D> |
XenoCore › Party | EditDefaultsOnly, BlueprintReadOnly | Portrait for the Party screen and the HUD. | |
| Menu Portrait | MenuPortrait |
TSoftObjectPtr<UTexture2D> |
XenoCore › Party | EditAnywhere, BlueprintReadOnly | Full-body portrait for the main menu's party cards. Empty uses Portrait. | |
| Member Class | MemberClass |
TSubclassOf<AXenoCoreCombatantCharacter> |
XenoCore › Party | EditDefaultsOnly, BlueprintReadOnly | The pawn Blueprint spawned for this member. It carries the mesh, the CombatantPawnData, the statline and the level - see the class comment for why they are not duplicated here. | |
| Controller Class | ControllerClass |
TSubclassOf<AXenoCorePartyMemberController> |
XenoCore › Party | EditDefaultsOnly, BlueprintReadOnly | The AI controller that possesses it. | |
| AI Profile | AIProfile |
FXenoCoreCombatAIProfile |
XenoCore › AI | EditAnywhere, BlueprintReadOnly | How this character fights when it is a companion: decision pace, post-art cooldown, heal threshold, positioning. | |
| Experience Curve | ExperienceCurve |
FDataTableRowHandle |
XenoCore › Progression | EditAnywhere, BlueprintReadOnly | EXP curve this character levels on: a row of DT_XenoCore_ExperienceCurves. Empty uses the progression component's default (XC1's table). |
|
| Voice Table | VoiceTable |
TObjectPtr<UDataTable> |
XenoCore › Voice | EditAnywhere, BlueprintReadOnly | This character's voice lines (battle cries, art call-outs, field banter). Row type: XenoCoreVoiceLineRow. |
UXenoCorePartyNoticeSubsystem¶
Class · derives from UTickableWorldSubsystem · header XenoCoreRuntime/Public/Party/XenoCorePartyNoticeSubsystem.h
Announces party changes on the HUD: "<Name> joined the party", "<Name> left the party".
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Gap Between | GapBetween |
float |
XenoCore › Party | EditDefaultsOnly, ClampMin=0.0 | 0.25 |
Seconds between one banner finishing and the next being handed over. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Show Notice | Callable | void ShowNotice(const FXenoCorePartyNotice& Notice) |
Announce a character directly, bypassing the party component's queue. |
XenoCoreRuntime / Player¶
AXenoCorePlayerController¶
Class · derives from ALyraPlayerController · header XenoCoreRuntime/Public/Player/XenoCorePlayerController.h
ALyraPlayerController that pumps the pawn's ability system, not the PlayerState's.
XenoCoreRuntime / Progression¶
EXenoCoreArtSource¶
Enum · header XenoCoreRuntime/Public/Progression/XenoCoreProgressionComponent.h · BlueprintType
Where an equipped art came from.
| Value | Shown as | Description |
|---|---|---|
Own |
Own | Learned by this character. Everything today. |
Inherited |
Inherited | Not implemented yet: mastered by somebody else and borrowed. |
FXenoCoreArtSlot¶
Struct · header XenoCoreRuntime/Public/Progression/XenoCoreProgressionComponent.h · BlueprintType
One position on the battle palette. An empty slot is a real state, so Art may be null.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Art | Art |
TObjectPtr<UXenoCoreArtDefinition> |
XenoCore › Arts | BlueprintReadOnly | nullptr |
No description. |
| Source | Source |
EXenoCoreArtSource |
XenoCore › Arts | BlueprintReadOnly | EXenoCoreArtSource::Own |
No description. |
FXenoCoreExperienceCurveRow¶
Struct · derives from FTableRowBase · header XenoCoreRuntime/Public/Progression/XenoCoreExperienceTypes.h · BlueprintType
EXP needed to reach each next level. Entry 0 is level 1 to 2, entry 1 is level 2 to 3, and so on.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Experience To Next Level | ExperienceToNextLevel |
TArray<int32> |
Experience | EditAnywhere, BlueprintReadOnly, ClampMin=1 | EXP needed to go from level N to N + 1. Entry 0 is level 1 to 2. | |
| Note | Note |
FString |
Experience | EditAnywhere, BlueprintReadOnly | Where the numbers came from - for whoever retunes them next. |
FXenoCoreLevelUpEntry¶
Struct · header XenoCoreRuntime/Public/Progression/XenoCoreProgressionComponent.h · BlueprintType
One character who levelled, and what they levelled from.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Member | Member |
TObjectPtr<UXenoCorePartyMemberDefinition> |
XenoCore › Progression | BlueprintReadOnly | nullptr |
No description. |
| Level Before | LevelBefore |
int32 |
XenoCore › Progression | BlueprintReadOnly | 1 |
No description. |
| Level After | LevelAfter |
int32 |
XenoCore › Progression | BlueprintReadOnly | 1 |
No description. |
| Arts Learned | ArtsLearned |
TArray<TObjectPtr<class UXenoCoreArtDefinition>> |
XenoCore › Progression | BlueprintReadOnly | Every art this level-up taught them, in unlock-table order. |
FXenoCoreLevelUpMessage¶
Struct · header XenoCoreRuntime/Public/Progression/XenoCoreProgressionComponent.h · BlueprintType
The payload on XenoCore.Progression.Message.LevelUp.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Owning Controller | OwningController |
TObjectPtr<AController> |
XenoCore › Progression | BlueprintReadOnly | nullptr |
The controller whose party levelled. Single-player, so always the local player's. |
| Levelled | Levelled |
TArray<FXenoCoreLevelUpEntry> |
XenoCore › Progression | BlueprintReadOnly | No description. |
FXenoCoreMemberGain¶
Struct · header XenoCoreRuntime/Public/Progression/XenoCoreProgressionComponent.h · BlueprintType
What one member was paid by one award - XC1 Definitive Edition stacks EXP, AP and SP beside each party plate after a kill, and AP differs per member there.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Member | Member |
TObjectPtr<UXenoCorePartyMemberDefinition> |
XenoCore › Progression | BlueprintReadOnly | nullptr |
No description. |
| Experience | Experience |
int32 |
XenoCore › Progression | BlueprintReadOnly | 0 |
No description. |
| Art Points | ArtPoints |
int32 |
XenoCore › Progression | BlueprintReadOnly | 0 |
No description. |
| Skill Points | SkillPoints |
int32 |
XenoCore › Progression | BlueprintReadOnly | 0 |
No description. |
FXenoCoreMemberProgress¶
Struct · header XenoCoreRuntime/Public/Progression/XenoCoreProgressionComponent.h · BlueprintType
No description.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Level | Level |
int32 |
XenoCore › Progression | BlueprintReadOnly | 1 |
Current level. Seeded from the member's pawn class default the first time they are seen. |
| Experience | Experience |
float |
XenoCore › Progression | BlueprintReadOnly | 0.0 |
EXP banked towards the next level, not lifetime total - levelling subtracts the threshold. |
| Learned Arts | LearnedArts |
TArray<TObjectPtr<UXenoCoreArtDefinition>> |
XenoCore › Arts | BlueprintReadOnly | Every art this character knows. XC1 caps this at 16 per character. | |
| Palette | Palette |
TArray<FXenoCoreArtSlot> |
XenoCore › Arts | BlueprintReadOnly | What is on the battle palette, in slot order. XC1 equips 8 of 16. | |
| Art Levels | ArtLevels |
TMap<TObjectPtr<UXenoCoreArtDefinition>, int32> |
XenoCore › Arts | BlueprintReadOnly | Each learned art's level, I..XII. Absent means I. | |
| Art Level Caps | ArtLevelCaps |
TMap<TObjectPtr<UXenoCoreArtDefinition>, int32> |
XenoCore › Arts | BlueprintReadOnly | Each art's level cap, raised by Arts Manuals. Absent means DefaultArtLevelCap (iv). | |
| Art Points | ArtPoints |
int32 |
XenoCore › Arts | BlueprintReadOnly | 0 |
Art Points banked by this character. XC1's AP is per character, spent on their own arts. |
| Skills | Skills |
FXenoCoreSkillsProgress |
XenoCore › Skills | BlueprintReadOnly | Skill-tree progress. Seeded lazily from the pawn's SkillTree the first time it is read. |
FXenoCoreProgressionChangedMessage¶
Struct · header XenoCoreRuntime/Public/Progression/XenoCoreProgressionComponent.h · BlueprintType
No description.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Owning Controller | OwningController |
TObjectPtr<AController> |
XenoCore › Progression | BlueprintReadOnly | nullptr |
The controller whose party progressed. Single-player, so always the local player's. |
| Levelled Count | LevelledCount |
int32 |
XenoCore › Progression | BlueprintReadOnly | 0 |
How many characters levelled up in this award. Zero for a plain EXP gain. |
| Experience Awarded | ExperienceAwarded |
int32 |
XenoCore › Progression | BlueprintReadOnly | 0 |
How much EXP this award was worth. Zero when the broadcast was not about experience. |
| Gains | Gains |
TArray<FXenoCoreMemberGain> |
XenoCore › Progression | BlueprintReadOnly | What each member was paid, benched included - the per-member stack on the HUD plates. |
FXenoCoreSkillLearntMessage¶
Struct · header XenoCoreRuntime/Public/Progression/XenoCoreProgressionComponent.h · BlueprintType
The payload on XenoCore.Skills.Message.SkillLearnt - one skill, one character.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Member | Member |
TObjectPtr<UXenoCorePartyMemberDefinition> |
XenoCore › Skills | BlueprintReadOnly | nullptr |
No description. |
| Branch | Branch |
FName |
XenoCore › Skills | BlueprintReadOnly | No description. | |
| Index | Index |
int32 |
XenoCore › Skills | BlueprintReadOnly | 0 |
0..4, top to bottom. |
| Skill Name | SkillName |
FText |
XenoCore › Skills | BlueprintReadOnly | No description. |
UXenoCoreLevelUpBannerBase¶
Class · derives from UXenoCoreHudPlateBase · header XenoCoreRuntime/Public/Progression/XenoCoreLevelUpBannerBase.h · abstract · Blueprintable
"level up", everybody who levelled, with the HP rolling from the old number to the new.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Heading Text | HeadingText |
TObjectPtr<UTextBlock> |
XenoCore › Progression | BlueprintReadOnly, BindWidgetOptional | "level up". Authored in the asset; this class never writes it. | |
| Member Box | MemberBox |
TObjectPtr<UVerticalBox> |
XenoCore › Progression | BlueprintReadOnly, BindWidgetOptional | One line per character who levelled. Cleared and rebuilt on every showing. | |
| Hold Time | HoldTime |
float |
XenoCore › Progression | EditDefaultsOnly, ClampMin=0.5 | 3.0 |
How long the panel stays up for a single character. |
| Hold Per Member | HoldPerMember |
float |
XenoCore › Progression | EditDefaultsOnly, ClampMin=0.0 | 0.5 |
Extra seconds per character beyond the first. |
| Roll Time | RollTime |
float |
XenoCore › Progression | EditDefaultsOnly, ClampMin=0.05 | 0.9 |
Seconds the HP figures take to count from the old numbers to the new. |
| Effect Layer | EffectLayer |
TObjectPtr<UCanvasPanel> |
XenoCore › Progression | BlueprintReadOnly, BindWidgetOptional | Behind the card: where the celebration burst draws. | |
| Celebration | Celebration |
FXenoCoreUIEffect |
XenoCore › Progression | EditDefaultsOnly | The burst played once per panel. | |
| Level Up Sound | LevelUpSound |
TObjectPtr<class USoundBase> |
XenoCore › Progression | EditDefaultsOnly | The sting, once per burst. | |
| Gain Colour | GainColour |
FLinearColor |
XenoCore › Progression | EditDefaultsOnly | FLinearColor(0.35, 0.98, 0.45, 1.0) |
Colour of the HP gain ("+N") and the "New Art" caption. |
| Name Colour | NameColour |
FLinearColor |
XenoCore › Progression | EditDefaultsOnly | FLinearColor(1.0, 1.0, 1.0, 1.0) |
Colour of each character's name. |
| Dim Colour | DimColour |
FLinearColor |
XenoCore › Progression | EditDefaultsOnly | FLinearColor(0.44, 0.48, 0.55, 1.0) |
The level you were, and the HP caption. Dimmer than what you became. |
| Level Colour | LevelColour |
FLinearColor |
XenoCore › Progression | EditDefaultsOnly | FLinearColor(0.96, 0.8, 0.38, 1.0) |
Colour of the new level number. |
| Line Font Size | LineFontSize |
int32 |
XenoCore › Progression | EditDefaultsOnly, ClampMin=8 | 17 |
Font size of each character's line. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Is Banner Showing | Pure | bool IsBannerShowing() |
Is the banner on screen, or still owed? |
| Dismiss Now | Callable | void DismissNow() |
Send the panel away now, instead of waiting out its own clock. |
| Dismiss Banner | Callable | bool DismissBanner() |
Dismiss whatever is up, if anything is. |
| On Banner Shown | Event (implement in Blueprint) | void OnBannerShown() |
Fired once per panel as it goes on screen. |
UXenoCoreProgressionCheats¶
Class · derives from UCheatManagerExtension · header XenoCoreRuntime/Public/Progression/XenoCoreProgressionCheats.h
The progression console commands - XenoAwardExp, XenoAwardGold, XenoArts, XenoSetArt, XenoGiveAP, XenoCastArt - each forwarding to UXenoCoreProgressionComponent.
UXenoCoreProgressionComponent¶
Class · derives from UControllerComponent · header XenoCoreRuntime/Public/Progression/XenoCoreProgressionComponent.h
Party EXP and levelling.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Default Experience Curve | DefaultExperienceCurve |
FDataTableRowHandle |
XenoCore › Progression | EditDefaultsOnly | The EXP curve for any character whose member definition names none. A row of DT_XenoCore_ExperienceCurves. |
|
| Reward Multiplier Curve | RewardMultiplierCurve |
TObjectPtr<UCurveTable> |
XenoCore › Progression | EditDefaultsOnly | Row Reward.LevelDiffMultiplier, keyed by (attacker level - target level). |
|
| Reserve Experience Rate | ReserveExperienceRate |
float |
XenoCore › Progression | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0 | 0.9 |
Fraction of the award a benched member receives. XC1's own number. |
| Default Art Level Cap | DefaultArtLevelCap |
int32 |
XenoCore › Arts | EditDefaultsOnly, ClampMin=1, ClampMax=12 | 4 |
XC1's default art level cap - "can only be raised to level iv" without a manual. |
| Art Level Cost Multipliers | ArtLevelCostMultipliers |
TArray<float> |
XenoCore › Arts | EditDefaultsOnly | Cost multiplier for raising an art to level ii, iii ... Xii (index 0 = level ii), applied to the art's BaseLevelUpCost. | |
| Art Points Per Enemy Level | ArtPointsPerEnemyLevel |
float |
XenoCore › Arts | EditDefaultsOnly, ClampMin=0.0 | 2.0 |
XC1's enemy AP: a typical enemy pays ArtPointsBase + ArtPointsPerEnemyLevel x its level, then the same level-difference multiplier as EXP. An enemy's ArtPointReward overrides it. |
| Art Points Base | ArtPointsBase |
float |
XenoCore › Arts | EditDefaultsOnly, ClampMin=0.0 | 2.0 |
Flat AP a typical enemy pays on top of ArtPointsPerEnemyLevel x its level. |
| Skill Point Reward Table | SkillPointRewardTable |
TObjectPtr<UDataTable> |
XenoCore › Skills | EditDefaultsOnly | SP per kill by level difference - DT_XenoCore_SkillPointRewards, rows of FXenoCoreSkillPointRewardRow. XC1: 1 / 5 / 10 / 15 / 20. |
|
| Skill Point Reward Scale | SkillPointRewardScale |
float |
XenoCore › Skills | EditDefaultsOnly, ClampMin=0.0 | 1.0 |
One knob over the whole SP economy. The table above stays XC1-exact; a shorter game, or a demo map, turns this instead of editing sourced rows. |
| Reserve Skill Point Rate | ReserveSkillPointRate |
float |
XenoCore › Skills | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0 | 0.9 |
Benched characters' share of kill SP - "10 % less", as for EXP and AP. |
| Skill Point Level Basis | SkillPointLevelBasis |
EXenoCoreSkillPointLevelBasis |
XenoCore › Skills | EditDefaultsOnly | EXenoCoreSkillPointLevelBasis::PartyAverage |
Whose level sets the SP band. |
| Skill Stats Effect | SkillStatsEffect |
TSubclassOf<UGameplayEffect> |
XenoCore › Skills | EditDefaultsOnly | The one effect every stat skill and trait arrives through - infinite, additive, one SetByCaller magnitude per XenoCore.Stat.* tag. |
|
| Skill Learnt Text | SkillLearntText |
FText |
XenoCore › Skills › Feedback | EditDefaultsOnly | The line XC1 floats over a character the moment a skill is learnt - "Skill Learnt", gold, nothing else. Drawn by UXenoCoreBattleNotifySubsystem, so a benched character, who has no body, simply has nothing to float over. |
|
| Skill Learnt Colour | SkillLearntColour |
FLinearColor |
XenoCore › Skills › Feedback | EditDefaultsOnly | FLinearColor(1.0, 0.86, 0.45, 1.0) |
Colour of the "Skill Learnt" and branch-unlocked lines. |
| Branch Unlocked Text | BranchUnlockedText |
FText |
XenoCore › Skills › Feedback | EditDefaultsOnly | The line floated over a character when a new skill branch unlocks. Empty turns it off. | |
| Skill Feedback Scale | SkillFeedbackScale |
float |
XenoCore › Skills › Feedback | EditDefaultsOnly, ClampMin=0.1 | 0.8 |
Size multiplier for the floated skill lines. |
| Default Art Ability Class | DefaultArtAbilityClass |
TSoftClassPtr<class UXenoCoreGameplayAbility_Art> |
XenoCore › Arts | EditDefaultsOnly | The ability every art runs as unless its definition names another. | |
| Art Slot Unlock Levels | ArtSlotUnlockLevels |
TArray<int32> |
XenoCore › Arts | EditDefaultsOnly | Character level at which each palette slot unlocks. Index 0 is the first slot. | |
| Gold | Gold |
int32 |
XenoCore › Progression | EditDefaultsOnly, ClampMin=0 | 3000 |
The party's starting purse. A loaded save replaces it. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Party Progression | Pure | UXenoCoreProgressionComponent* GetPartyProgression() |
The party's progression component, or null. |
| Award Experience | Callable | void AwardExperience(int32 Amount) |
Bank EXP for the whole roster, level up as many times as it affords, and rewrite statlines. |
| Get Member Level | Pure | int32 GetMemberLevel(UXenoCorePartyMemberDefinition* Member) const |
This character's level. |
| Get Party Level | Pure | int32 GetPartyLevel() const |
"The party's level" - the leader's, which is the number the HUD shows and the one a player means when they say what level they are. |
| Raise Member To Level | Callable | bool RaiseMemberToLevel(UXenoCorePartyMemberDefinition* Member, int32 Level) |
Raise a character to at least Level (never lowers). |
| Get Member Experience | Pure | float GetMemberExperience(UXenoCorePartyMemberDefinition* Member) const |
EXP banked towards this character's next level. |
| Get Member Experience To Next Level | Pure | float GetMemberExperienceToNextLevel(UXenoCorePartyMemberDefinition* Member) const |
What this character's next level costs. |
| Get Member Experience Fraction | Pure | float GetMemberExperienceFraction(UXenoCorePartyMemberDefinition* Member) const |
0..1 for an EXP bar. |
| Xeno Award Exp | Callable | void XenoAwardExp(int32 Amount) |
XenoAwardExp 5000 - bank EXP without finding something to kill. |
| Get Learned Arts | Pure | TArray<UXenoCoreArtDefinition*> GetLearnedArts(UXenoCorePartyMemberDefinition* Member) const |
Every art this character knows. |
| Get Art Palette | Pure | TArray<FXenoCoreArtSlot> GetArtPalette(UXenoCorePartyMemberDefinition* Member) const |
The battle palette in slot order, trimmed to the character's current capacity. |
| Get Art Capacity | Pure | int32 GetArtCapacity(UXenoCorePartyMemberDefinition* Member) const |
How many arts this character may carry right now. |
| Get Max Art Slots | Pure | int32 GetMaxArtSlots() const |
XC1: 8. |
| Get Art Slot Unlock Level | Pure | int32 GetArtSlotUnlockLevel(int32 SlotIndex) const |
The level that opens this slot, or 0 for an index past the ladder. |
| Set Art Slot | Callable | bool SetArtSlot(UXenoCorePartyMemberDefinition* Member, int32 SlotIndex, UXenoCoreArtDefinition* Art) |
Put an art on the palette, or clear the slot by passing null. |
| Get Art Level | Pure | int32 GetArtLevel(UXenoCorePartyMemberDefinition* Member, const UXenoCoreArtDefinition* Art) const |
An art's level for this character, 1..12. |
| Get Art Level Cap | Pure | int32 GetArtLevelCap(UXenoCorePartyMemberDefinition* Member, const UXenoCoreArtDefinition* Art) const |
How far this art can be levelled right now. |
| Get Art Level Up Cost | Pure | int32 GetArtLevelUpCost(UXenoCorePartyMemberDefinition* Member, const UXenoCoreArtDefinition* Art) const |
AP to raise this art one level, or -1 when it cannot go higher (cap, max, or a Talent Art). |
| Get Art Points | Pure | int32 GetArtPoints(UXenoCorePartyMemberDefinition* Member) const |
Art Points this character has banked. |
| Add Art Points | Callable | void AddArtPoints(UXenoCorePartyMemberDefinition* Member, int32 Amount) |
Give this character Art Points. |
| Level Up Art | Callable | bool LevelUpArt(UXenoCorePartyMemberDefinition* Member, UXenoCoreArtDefinition* Art) |
Spend AP to raise an art one level. |
| Raise Art Level Cap | Callable | void RaiseArtLevelCap(UXenoCorePartyMemberDefinition* Member, UXenoCoreArtDefinition* Art, int32 NewCap) |
Raise an art's level cap - what an Arts Manual does. |
| Learn Art | Callable | void LearnArt(UXenoCorePartyMemberDefinition* Member, UXenoCoreArtDefinition* Art) |
Teach a character an art. |
| Apply Palette To Pawn | Callable | void ApplyPaletteToPawn(AXenoCoreCombatantCharacter* Pawn) |
Grant exactly the palette to a live pawn, clearing whatever was granted before. |
| Xeno Arts | Callable | void XenoArts() |
List a member's known arts and palette. |
| Xeno Set Art | Callable | void XenoSetArt(int32 SlotIndex, const FString& ArtName) |
Put the named art in a palette slot, without the Arts menu. |
| Xeno Give AP | Callable | void XenoGiveAP(int32 Amount) |
Give the leader Art Points, to test the Level Up tab without earning them in battle. |
| Xeno Cast Art | Callable | void XenoCastArt(const FString& ArtName) |
Cast the leader's equipped art whose asset or display name contains ArtName, by spec handle - the palette's own dispatch. |
| Award Experience For Kill | Callable | void AwardExperienceForKill(const AActor* Victim) |
Award for a defeated enemy, scaled by level difference. |
| Refresh Experience To Next Level | Callable | void RefreshExperienceToNextLevel() |
Pushes ExperienceToNextLevel for the current level. |
| Get Gold | Pure | int32 GetGold() const |
What the party can spend. |
| Award Gold | Callable | void AwardGold(int32 Amount) |
Bank gold and announce it. |
| Spend Gold | Callable | bool SpendGold(int32 Amount) |
Spend, if the party can afford it. |
| Xeno Award Gold | Callable | void XenoAwardGold(int32 Amount) |
XenoAwardGold 500 - bank gold without a quest to finish. |
| Get Skills Progress | Callable | FXenoCoreSkillsProgress GetSkillsProgress(UXenoCorePartyMemberDefinition* Member) |
The whole record for this character's tree, seeded on first read. |
| Select Skill Branch | Callable | bool SelectSkillBranch(UXenoCorePartyMemberDefinition* Member, FName Branch) |
Make this branch the one SP flows into. |
| Unlock Skill Branch | Callable | void UnlockSkillBranch(UXenoCorePartyMemberDefinition* Member, FName Branch) |
XC1's 4th and 5th branches arrive by quest. |
| Award Skill Points | Callable | void AwardSkillPoints(UXenoCorePartyMemberDefinition* Member, int32 Amount, bool bApplyReserveRate = false) |
Pour SP into this character's selected branch - top to bottom, overflow carrying, and wasted once the branch is complete. |
| Apply Skills To Pawn | Callable | void ApplySkillsToPawn(AXenoCoreCombatantCharacter* Pawn) |
Put this body's skills on it: its learnt stat skills, its selected branch's trait, and any party-reaching skill of anyone else on the roster. |
| Refresh Skill Effects | Callable | void RefreshSkillEffects() |
ApplySkillsToPawn for every body the party has - a party skill reaches more than its owner. |
| Get Skill Bonus | Pure | float GetSkillBonus(UXenoCorePartyMemberDefinition* Member, FGameplayTag Tag) |
The summed Value (a percentage) of every learnt skill whose Bonus matches Tag and reaches this member. |
| Get Skill Bonus For Actor | Pure | float GetSkillBonusForActor(const AActor* Actor, FGameplayTag Tag) |
GetSkillBonus for a body - 0 for anything that is not a party member (an enemy, a prop). |
| Xeno Give SP | Callable | void XenoGiveSP(int32 Amount) |
Pour SP into the leader's selected skill branch. |
| Xeno Skills | Callable | void XenoSkills() |
Log the leader's skill branches and progress. |
XenoCoreRuntime / Quest¶
AXenoCoreQuestLocation¶
Class · derives from AActor · header XenoCoreRuntime/Public/Quest/XenoCoreQuestLocation.h · Blueprintable
A box a Reach Location quest objective points at. Set Location Id to the objective's Target Id.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Location Id | LocationId |
FName |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly | The name a Reach Location objective's Target Id must match. | |
| Area | Area |
TObjectPtr<UBoxComponent> |
XenoCore › Quest | VisibleAnywhere, BlueprintReadOnly | The area the player walks into. Size it in the level like any trigger box. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Location Id | Pure | FName GetLocationId() const |
The name Reach Location objectives use for this place. |
EXenoCoreObjectiveIcon¶
Enum · header XenoCoreRuntime/Public/Quest/XenoCoreQuestDefinition.h · BlueprintType
Where an objective's icon comes from.
| Value | Shown as | Description |
|---|---|---|
FromItem |
From Item | The target item's own art, and failing that its category's glyph. |
FromCategory |
From Category | The glyph for IconCategory, whatever the objective is counting. |
Custom |
Custom | IconTexture, exactly as authored. |
EXenoCoreObjectiveKind¶
Enum · header XenoCoreRuntime/Public/Quest/XenoCoreQuestDefinition.h · BlueprintType
What one objective asks for.
| Value | Shown as | Description |
|---|---|---|
CollectItem |
Collect Item | Hold N of an item. Counted from the party bag. |
DefeatEnemy |
Defeat Enemy | Defeat N of an enemy class. Counted from XenoCore.Enemy.Message.Defeated. |
TalkToNpc |
Talk To Npc | Talk to the NPC whose Quest Id is Target Id. |
ReachLocation |
Reach Location | Walk into the Quest Location whose Location Id is Target Id. |
EXenoCoreQuestGateKind¶
Enum · header XenoCoreRuntime/Public/Quest/XenoCoreQuestDefinition.h · BlueprintType
No description.
| Value | Shown as | Description |
|---|---|---|
PartyLevel |
Party Level | No description. |
QuestCompleted |
Quest Completed | No description. |
EXenoCoreQuestKind¶
Enum · header XenoCoreRuntime/Public/Quest/XenoCoreQuestDefinition.h · BlueprintType
XC1's quest taxonomy.
| Value | Shown as | Description |
|---|---|---|
Collection |
Collection | No description. |
Material |
Material | No description. |
Monster |
Monster | No description. |
Challenge |
Challenge | No description. |
Search |
Search | No description. |
Normal |
Normal | No description. |
Story |
Story | No description. |
EXenoCoreQuestSort¶
Enum · header XenoCoreRuntime/Public/Quest/XenoCoreQuestUIStatics.h · BlueprintType
How the Quest Log orders its rows. Y cycles through these in order.
| Value | Shown as | Description |
|---|---|---|
Status |
Status | Ready to report, then in progress, then finished. What you can act on, first. |
Name |
Name | Title, A-Z. |
Area |
Area | Area, A-Z, then title - so one place's quests read as a group. |
Type |
Type | Collection, Material, Monster... then title. |
EXenoCoreQuestStatus¶
Enum · header XenoCoreRuntime/Public/Quest/XenoCoreQuestComponent.h · BlueprintType
Where one quest has got to.
| Value | Shown as | Description |
|---|---|---|
Unknown |
Unknown | Never answered. Offerable. |
Declined |
Declined | Turned down. Still offerable - XC1 lets the player come back. |
Active |
Active | Accepted, objectives outstanding. |
ReadyToTurnIn |
Ready To Turn In | Every objective met. Waiting for the player to walk back to the giver. |
Complete |
Complete | Turned in and paid. Terminal. |
FXenoCoreQuestChangedMessage¶
Struct · header XenoCoreRuntime/Public/Quest/XenoCoreQuestComponent.h · BlueprintType
Broadcast on XenoCore.Quest.Message.Changed whenever any quest moves.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Owning Controller | OwningController |
TObjectPtr<AController> |
XenoCore › Quest | BlueprintReadOnly | nullptr |
The controller whose quests moved. Single-player, so always the local player's. |
FXenoCoreQuestGate¶
Struct · header XenoCoreRuntime/Public/Quest/XenoCoreQuestDefinition.h · BlueprintType
One condition that must hold before a quest is offered at all.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Kind | Kind |
EXenoCoreQuestGateKind |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly | EXenoCoreQuestGateKind::PartyLevel |
Which condition this gate checks. Decides which of the fields below is used. |
| Required Level | RequiredLevel |
int32 |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly, ClampMin=1, EditCondition=Kind == EXenoCoreQuestGateKind::PartyLevel |
1 |
PartyLevel: the level the party must have reached. |
| Required Quest | RequiredQuest |
TObjectPtr<UXenoCoreQuestDefinition> |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly, EditCondition=Kind == EXenoCoreQuestGateKind::QuestCompleted |
QuestCompleted: the quest that must have been turned in first. |
FXenoCoreQuestObjective¶
Struct · header XenoCoreRuntime/Public/Quest/XenoCoreQuestDefinition.h · BlueprintType
One objective of a quest: what to do, how many times, and how it is drawn.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Description | Description |
FText |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly | The prose line. Player-facing, so FText - it wraps, and it localises. |
|
| Counter Label | CounterLabel |
FText |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly | The noun for the counter row, singular - "Rabbit Diode" draws as "Rabbit Diode 0/2". | |
| Kind | Kind |
EXenoCoreObjectiveKind |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly | EXenoCoreObjectiveKind::CollectItem |
What this objective asks for: collect, defeat, talk or reach. Decides which target field is used. |
| Item Target | ItemTarget |
TSubclassOf<ULyraInventoryItemDefinition> |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly, EditCondition=Kind == EXenoCoreObjectiveKind::CollectItem |
What to count. Required for CollectItem, ignored otherwise. | |
| Enemy Target | EnemyTarget |
TSoftClassPtr<AActor> |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly, EditCondition=Kind == EXenoCoreObjectiveKind::DefeatEnemy |
What to defeat. Required for DefeatEnemy, ignored otherwise. | |
| Target Id | TargetId |
FName |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly, EditCondition=Kind == EXenoCoreObjectiveKind::TalkToNpc || Kind == EXenoCoreObjectiveKind::ReachLocation |
Who to talk to (an NPC's Quest Id) or where to go (a Quest Location's Location Id). | |
| Required Count | RequiredCount |
int32 |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly, ClampMin=1 | 1 |
How many times the objective must be met (items held, enemies defeated, talks, visits). |
| Consume On Turn In | bConsumeOnTurnIn |
bool |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly, EditCondition=Kind == EXenoCoreObjectiveKind::CollectItem |
true |
Whether turning the quest in takes the items away. |
| Icon Source | IconSource |
EXenoCoreObjectiveIcon |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly | EXenoCoreObjectiveIcon::FromItem |
Which icon is drawn beside this objective, wherever it is listed. |
| Icon Category | IconCategory |
EXenoCoreItemCategory |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly, EditCondition=IconSource == EXenoCoreObjectiveIcon::FromCategory |
EXenoCoreItemCategory::Items |
Used when IconSource is FromCategory. |
| Icon Texture | IconTexture |
TSoftObjectPtr<UTexture2D> |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly, EditCondition=IconSource == EXenoCoreObjectiveIcon::Custom |
Used when IconSource is Custom. |
FXenoCoreQuestRecord¶
Struct · header XenoCoreRuntime/Public/Quest/XenoCoreQuestComponent.h · BlueprintType
One quest's record. Counts are parallel to the definition's Objectives array.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Status | Status |
EXenoCoreQuestStatus |
XenoCore › Quest | BlueprintReadOnly | EXenoCoreQuestStatus::Unknown |
Where this quest has got to. |
| Counts | Counts |
TArray<int32> |
XenoCore › Quest | BlueprintReadOnly | How many of each objective are done, indexed as the definition's Objectives are. | |
| Requester Name | RequesterName |
FText |
XenoCore › Quest | BlueprintReadOnly | Who asked for it, resolved at the moment it was accepted. |
FXenoCoreQuestReward¶
Struct · header XenoCoreRuntime/Public/Quest/XenoCoreQuestDefinition.h · BlueprintType
What completing a quest pays.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Gold | Gold |
int32 |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly, ClampMin=0 | 0 |
Quests are one of only two gold sources in XC1; the other is selling to shops. |
| Experience | Experience |
int32 |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly, ClampMin=0 | 0 |
Banked for the whole roster through UXenoCoreProgressionComponent::AwardExperience. |
| Items | Items |
TArray<TSubclassOf<ULyraInventoryItemDefinition>> |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly | One entry is one item - the bag stores no stacks. Ten of a thing is ten entries here. | |
| Skill Branches | SkillBranches |
TArray<FXenoCoreSkillBranchUnlock> |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly | Skill branches this quest opens - XC1's 4th and 5th arrive this way. |
FXenoCoreQuestRowInfo¶
Struct · header XenoCoreRuntime/Public/Quest/XenoCoreQuestUIStatics.h · BlueprintType
Everything one Quest Log row draws, decided in C++.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Quest | Quest |
TObjectPtr<UXenoCoreQuestDefinition> |
XenoCore › Quest | BlueprintReadOnly | nullptr |
What the row opens when it is clicked. Null means the row should not be drawn at all. |
| Title | Title |
FText |
XenoCore › Quest | BlueprintReadOnly | The quest's title. | |
| Area | Area |
FText |
XenoCore › Quest | BlueprintReadOnly | "Colony 9". Empty when the quest names no area, which draws as a blank column, not "None". | |
| Kind Label | KindLabel |
FText |
XenoCore › Quest | BlueprintReadOnly | "Collection", "Monster"... The reference puts a type icon here; this is its text form. | |
| State Label | StateLabel |
FText |
XenoCore › Quest | BlueprintReadOnly | "In Progress" / "Ready to Report" / "Complete". | |
| Progress Label | ProgressLabel |
FText |
XenoCore › Quest | BlueprintReadOnly | "1/2" across every objective, or empty for a quest with none outstanding. | |
| Progress Fraction | ProgressFraction |
float |
XenoCore › Quest | BlueprintReadOnly | 0.0 |
0..1 across all objectives, for a bar. 1 for a completed quest. |
| Status | Status |
EXenoCoreQuestStatus |
XenoCore › Quest | BlueprintReadOnly | EXenoCoreQuestStatus::Unknown |
No description. |
| State Colour | StateColour |
FLinearColor |
XenoCore › Quest | BlueprintReadOnly | FLinearColor::White |
Steel while running, teal when ready to hand in, dim once done. |
| Complete | bComplete |
bool |
XenoCore › Quest | BlueprintReadOnly | false |
True once turned in - the row is history and should read as such. |
| Active | bActive |
bool |
XenoCore › Quest | BlueprintReadOnly | false |
True for the one quest the HUD tracker is following. |
| Icon Colour | IconColour |
FLinearColor |
XenoCore › Quest | BlueprintReadOnly | FLinearColor::White |
What colour the row's status icon reads as. |
| Icon Objective Index | IconObjectiveIndex |
int32 |
XenoCore › Quest | BlueprintReadOnly | INDEX_NONE |
Which objective the row's item icon should come from. |
FXenoCoreQuestTurnedInMessage¶
Struct · header XenoCoreRuntime/Public/Quest/XenoCoreQuestComponent.h · BlueprintType
The payload on XenoCore.Quest.Message.TurnedIn.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Quest | Quest |
TObjectPtr<UXenoCoreQuestDefinition> |
XenoCore › Quest | BlueprintReadOnly | nullptr |
The quest that was handed in. |
| Quest Title | QuestTitle |
FText |
XenoCore › Quest | BlueprintReadOnly | Copied out, because the quest asset outlives the message and the message is a record. | |
| Gold | Gold |
int32 |
XenoCore › Quest | BlueprintReadOnly | 0 |
Gold paid for this turn-in (not the running total). |
| Experience | Experience |
int32 |
XenoCore › Quest | BlueprintReadOnly | 0 |
Experience paid for this turn-in. |
| Items | Items |
TArray<TSubclassOf<ULyraInventoryItemDefinition>> |
XenoCore › Quest | BlueprintReadOnly | What the player was handed, as definitions. | |
| Skill Branches | SkillBranches |
TArray<FXenoCoreSkillBranchUnlock> |
XenoCore › Quest | BlueprintReadOnly | Skill branches the quest opened - the banner lists them under the items. |
UXenoCoreOfferQuest¶
Class · derives from UBlueprintAsyncActionBase · header XenoCoreRuntime/Public/Quest/XenoCoreQuestNodes.h
"Offer Quest" - puts the quest panel on screen and continues on the player's answer.
Events you can bind
| Event | Type | Description |
|---|---|---|
Accepted |
FXenoCoreQuestOfferPin |
The player took the quest on. It is Active by the time this fires. |
Declined |
FXenoCoreQuestOfferPin |
The player turned it down, backed out, or the panel could not be shown. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Offer Quest | Latent node factory | UXenoCoreOfferQuest* OfferQuest(UXenoCoreQuestDefinition* Quest, AActor* Giver) |
Show the offer panel for one quest and wait for the answer. |
UXenoCoreQuestComponent¶
Class · derives from UControllerComponent · header XenoCoreRuntime/Public/Quest/XenoCoreQuestComponent.h
The party's quest ledger: what has been offered, accepted, progressed and paid.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Quest Autosave Delay | QuestAutosaveDelay |
float |
XenoCore › Quest | EditDefaultsOnly, ClampMin=0 | 0.5 |
Seconds after a turn-in before the quest-complete autosave is written (lets a recruit join first). |
| Quest Autosave Retry Seconds | QuestAutosaveRetrySeconds |
float |
XenoCore › Quest | EditDefaultsOnly, ClampMin=0.1 | 2.0 |
Seconds between retries while a fight blocks the quest-complete autosave. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Party Quests | Pure | UXenoCoreQuestComponent* GetPartyQuests() |
The party's quest ledger, or null. |
| Get Status | Pure | EXenoCoreQuestStatus GetStatus(const UXenoCoreQuestDefinition* Quest) const |
Where this quest has got to. |
| Is Offerable | Pure | bool IsOfferable(const UXenoCoreQuestDefinition* Quest) const |
No description. |
| Is Ready To Turn In | Pure | bool IsReadyToTurnIn(const UXenoCoreQuestDefinition* Quest) const |
True when every objective is met and the player only has to come back. |
| Are Gates Satisfied | Pure | bool AreGatesSatisfied(const UXenoCoreQuestDefinition* Quest) const |
Does every one of this quest's gates hold right now? |
| Get Gate Requirement Text | Pure | FText GetGateRequirementText(const UXenoCoreQuestDefinition* Quest) const |
Empty when nothing is holding it back. |
| Should Show Quest Marker | Pure | bool ShouldShowQuestMarker(const UXenoCoreQuestDefinition* Quest) const |
True when a giver holding this quest should draw its marker. |
| Get Objective Count | Pure | int32 GetObjectiveCount(const UXenoCoreQuestDefinition* Quest, int32 ObjectiveIndex) const |
How many of one objective are done. |
| Notify Objective | Callable | bool NotifyObjective(EXenoCoreObjectiveKind Kind, FName TargetId) |
Count a Talk To NPC or Reach Location objective for every active quest that wants TargetId. |
| Is Objective Target Wanted | Pure | bool IsObjectiveTargetWanted(EXenoCoreObjectiveKind Kind, FName TargetId, bool bTrackedQuestOnly = false) const |
True when an active quest still needs this talk/reach target. |
| Get Logged Quests | Pure | TArray<UXenoCoreQuestDefinition*> GetLoggedQuests() const |
Every quest the party has answered - what the Quest Log lists. |
| Get Active Quest | Pure | UXenoCoreQuestDefinition* GetActiveQuest() const |
The quest the HUD tracker is following, or null. |
| Set Active Quest | Callable | void SetActiveQuest(UXenoCoreQuestDefinition* Quest) |
Follow this quest, or null to follow nothing. |
| Is Active Quest | Pure | bool IsActiveQuest(const UXenoCoreQuestDefinition* Quest) const |
True when this quest is the one being followed. |
| Accept | Callable | void Accept(UXenoCoreQuestDefinition* Quest, AActor* Giver = nullptr) |
Take the quest on. |
| Get Recorded Requester Name | Pure | FText GetRecordedRequesterName(const UXenoCoreQuestDefinition* Quest) const |
Who was recorded as asking, when this quest was accepted. |
| Decline | Callable | void Decline(UXenoCoreQuestDefinition* Quest) |
Turn it down. |
| Turn In | Callable | bool TurnIn(UXenoCoreQuestDefinition* Quest) |
Consume what was asked for, pay what was promised, and close the quest. |
UXenoCoreQuestDefinition¶
Class · derives from UPrimaryDataAsset · header XenoCoreRuntime/Public/Quest/XenoCoreQuestDefinition.h · BlueprintType
One quest, as a designer authors it: its text, objectives, gates and reward.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Title | Title |
FText |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly | The quest's own name, as the offer screen titles itself. | |
| Kind | Kind |
EXenoCoreQuestKind |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly | EXenoCoreQuestKind::Collection |
XC1's quest kind. A label for titles and grouping only; it changes no behaviour. |
| Area | Area |
FText |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly | Where the quest belongs - "Colony 9". | |
| Requester Name | RequesterName |
FText |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly | Who is asking, for the "Requested By" line. | |
| Requester Portrait | RequesterPortrait |
TSoftObjectPtr<UTexture2D> |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly | The face beside "Requested By". | |
| Summary | Summary |
FText |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly | The paragraph under Requested By. Prose, so the screen draws it in NotoSans, not Orbitron. | |
| Objectives | Objectives |
TArray<FXenoCoreQuestObjective> |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly | What the quest asks for. Every objective must be met before it can be turned in. | |
| Gates | Gates |
TArray<FXenoCoreQuestGate> |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly | Empty means always offerable. | |
| Reward | Reward |
FXenoCoreQuestReward |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly | What turning the quest in pays: gold, experience, items and skill branches. | |
| Can Decline | bCanDecline |
bool |
XenoCore › Quest | EditAnywhere, BlueprintReadOnly | true |
Whether Decline is offered at all. |
UXenoCoreQuestLogBase¶
Class · derives from UCommonActivatableWidget · header XenoCoreRuntime/Public/Quest/XenoCoreQuestLogBase.h · abstract · Blueprintable
XC1's Quest Log: every accepted and completed quest, and what state each is in.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Rows Box | RowsBox |
TObjectPtr<UVerticalBox> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | One row per logged quest is added here. Cleared on every refresh. | |
| Active Slot Box | ActiveSlotBox |
TObjectPtr<UVerticalBox> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The Active Quest slot at the top. One read-only row, or nothing. | |
| Header Band | HeaderBand |
TObjectPtr<UBorder> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The column-caption band. | |
| Active Empty Text | ActiveEmptyText |
TObjectPtr<UTextBlock> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | "No quest set as active." Shown in the slot's place when nothing is followed. | |
| Empty Text | EmptyText |
TObjectPtr<UTextBlock> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | Shown instead of the list when nothing has been accepted yet. | |
| Row Class | RowClass |
TSubclassOf<UXenoCoreQuestLogRowBase> |
XenoCore › Quest | EditDefaultsOnly | The row widget. Set on the Blueprint, because C++ must not name a content path. | |
| Set Active Action | SetActiveAction |
FDataTableRowHandle |
XenoCore › Quest | EditDefaultsOnly | The input action row (in DT_XenoCore_Actions) that sets or clears the active quest. |
|
| Sort Action | SortAction |
FDataTableRowHandle |
XenoCore › Quest | EditDefaultsOnly | Y: cycle the list order. | |
| Sort Label | SortLabel |
TObjectPtr<UTextBlock> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | "Name", "Area"... beside the Y glyph, so the current order is never a guess. | |
| Set Active Label | SetActiveLabel |
TObjectPtr<UTextBlock> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The R prompt's caption. Collapses with its row when nothing focused can be followed. | |
| Set Active Row | SetActiveRow |
TObjectPtr<UWidget> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The whole R prompt (glyph plus caption). Collapsed when nothing focused can be followed. | |
| Row Spacing | RowSpacing |
float |
XenoCore › Quest | EditDefaultsOnly, ClampMin=0.0 | 6.0 |
Gap between rows. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Refresh | Callable | void Refresh() |
Rebuilds the list from the ledger. |
UXenoCoreQuestLogRowBase¶
Class · derives from UCommonUserWidget · header XenoCoreRuntime/Public/Quest/XenoCoreQuestLogRowBase.h · abstract · Blueprintable
One clickable line in the Quest Log.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Row Columns | RowColumns |
TObjectPtr<UHorizontalBox> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The column strip, drawn over the button. | |
| Row Button | RowButton |
TObjectPtr<UCommonButtonBase> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The whole row is the button, so a click anywhere on the line opens the quest. | |
| Title Text | TitleText |
TObjectPtr<UTextBlock> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The quest's title. | |
| Objective Icon | ObjectiveIcon |
TObjectPtr<UImage> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | What the quest is asking you to collect, beside its state. | |
| Icon Set | IconSet |
TObjectPtr<const class UXenoCoreItemIconSet> |
XenoCore › Quest | EditDefaultsOnly | No description. | |
| Objective Icon Size | ObjectiveIconSize |
float |
XenoCore › Quest | EditDefaultsOnly, ClampMin=4.0, UIMin=4.0 | 24.0 |
Size, in slate units, of the objective icon drawn on the row. |
| Area Text | AreaText |
TObjectPtr<UTextBlock> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | "Colony 9". Blank rather than "None" when the quest names no area. | |
| State Text | StateText |
TObjectPtr<UTextBlock> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | "In Progress" / "Ready to Report" / "Complete", already coloured. | |
| Progress Text | ProgressText |
TObjectPtr<UTextBlock> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | "1/2" across every objective. | |
| Status Icon | StatusIcon |
TObjectPtr<UImage> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The quest's state, as a shape rather than a word. | |
| Running Icon | RunningIcon |
TObjectPtr<UMaterialInterface> |
XenoCore › Quest | EditDefaultsOnly | The exclamation, for a quest still running. | |
| Complete Icon | CompleteIcon |
TObjectPtr<UMaterialInterface> |
XenoCore › Quest | EditDefaultsOnly | The crown, for a quest that has been reported. | |
| Active Marker | ActiveMarker |
TObjectPtr<class UWidget> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | Shown only on the quest the tracker is following. | |
| Edge Padding | EdgePadding |
float |
XenoCore › Quest | EditDefaultsOnly, ClampMin=0.0 | 44.0 |
How far the row's contents sit in from its left and right edges. |
| Completed Opacity | CompletedOpacity |
float |
XenoCore › Quest | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0, UIMin=0.0, UIMax=1.0 | 0.55 |
How much a finished quest dims. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Set Row | Callable | void SetRow(const FXenoCoreQuestRowInfo& InInfo) |
Fills the row. |
| Get Quest | Pure | UXenoCoreQuestDefinition* GetQuest() const |
Which quest this row is showing, or null before SetRow. |
| Set Read Only | Callable | void SetReadOnly(bool bInReadOnly) |
Make the row a readout rather than a control. |
| Get Focus Target | Pure | UWidget* GetFocusTarget() const |
The widget that can actually hold focus - the button, not this row. |
| Get Edge Padding | Pure | float GetEdgePadding() const |
No description. |
| On Row Set | Event (implement in Blueprint) | void K2_OnRowSet() |
Content-side hook, after the text is in. |
UXenoCoreQuestOfferBase¶
Class · derives from UCommonActivatableWidget · header XenoCoreRuntime/Public/Quest/XenoCoreQuestOfferBase.h · abstract · Blueprintable
XC1's quest offer panel: who is asking, what they want, what it pays, and Accept / Decline.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Title Text | TitleText |
TObjectPtr<UTextBlock> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The quest's own name. | |
| Requester Text | RequesterText |
TObjectPtr<UTextBlock> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | Who is asking. Falls back to the giver's name when the quest names nobody. | |
| Portrait Image | PortraitImage |
TObjectPtr<class UImage> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The requester's face. Its frame collapses when the quest authors no portrait. | |
| Portrait Frame | PortraitFrame |
TObjectPtr<UWidget> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | Wrapper, so an absent portrait takes its frame and padding with it. | |
| Summary Text | SummaryText |
TObjectPtr<UTextBlock> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The prose paragraph. | |
| Gold Text | GoldText |
TObjectPtr<UTextBlock> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The gold figure. Its whole row is hidden when the quest pays none. | |
| Exp Text | ExpText |
TObjectPtr<UTextBlock> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The experience figure. Its whole row is hidden when the quest pays none. | |
| Gold Row | GoldRow |
TObjectPtr<UWidget> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The row wrappers, so a quest paying no gold shows nothing rather than "0". | |
| Exp Row | ExpRow |
TObjectPtr<UWidget> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The experience row wrapper, collapsed when the quest pays no experience. | |
| Reward Items Box | RewardItemsBox |
TObjectPtr<UVerticalBox> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | One row per reward item is added here. Cleared on every show. | |
| Objective Box | ObjectiveBox |
TObjectPtr<UVerticalBox> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | One block per objective is added here - a prose line and a counter. Cleared on every show. | |
| Accept Button | AcceptButton |
TObjectPtr<UCommonButtonBase> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | Takes the quest on. Starts focused. | |
| Decline Button | DeclineButton |
TObjectPtr<UCommonButtonBase> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | Collapsed entirely for a quest that cannot be declined. | |
| Buttons Row | ButtonsRow |
TObjectPtr<UWidget> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The whole Accept / Decline footer. Collapsed wholesale in details mode. | |
| Set Active Row | SetActiveRow |
TObjectPtr<UWidget> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The "Set as Active" / "Deactivate" prompt. Collapsed while the panel is an offer. | |
| Set Active Label | SetActiveLabel |
TObjectPtr<UTextBlock> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | Its caption, and it is a plain TextBlock for one hard reason. | |
| Pager Left | PagerLeft |
TObjectPtr<UWidget> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The chevron-and-glyph at each edge. Both collapse when there is only one quest. | |
| Pager Right | PagerRight |
TObjectPtr<UWidget> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The right-hand chevron and glyph. | |
| Page Text | PageText |
TObjectPtr<UTextBlock> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | "2 / 5" - the page indicator, under the title. | |
| Set Active Action | SetActiveAction |
FDataTableRowHandle |
XenoCore › Quest | EditDefaultsOnly | R bumper: make this the followed quest, or stop following it. | |
| Prev Quest Action | PrevQuestAction |
FDataTableRowHandle |
XenoCore › Quest | EditDefaultsOnly | Left trigger: the previous quest in the log. | |
| Next Quest Action | NextQuestAction |
FDataTableRowHandle |
XenoCore › Quest | EditDefaultsOnly | Right trigger: the next quest in the log. | |
| Icon Set | IconSet |
TObjectPtr<const class UXenoCoreItemIconSet> |
XenoCore › Quest | EditDefaultsOnly | Where a category's glyph comes from. | |
| Objective Font Size | ObjectiveFontSize |
int32 |
XenoCore › Quest | EditDefaultsOnly, ClampMin=8 | 22 |
Objective prose. NotoSans territory - this is a sentence, not a label. |
| Objective Icon Size | ObjectiveIconSize |
float |
XenoCore › Quest | EditDefaultsOnly, ClampMin=4.0 | 30.0 |
How big an objective's icon draws on the details pane. |
| Reward Icon Size | RewardIconSize |
float |
XenoCore › Quest | EditDefaultsOnly, ClampMin=4.0 | 36.0 |
How big a reward item's icon draws beside its name. |
| Objective Colour | ObjectiveColour |
FLinearColor |
XenoCore › Quest | EditDefaultsOnly | FLinearColor(0.7, 0.78, 0.88, 1.0) |
Colour of the objective prose lines. |
| Skill Branch Colour | SkillBranchColour |
FLinearColor |
XenoCore › Quest | EditDefaultsOnly | FLinearColor(1.0, 0.86, 0.45, 1.0) |
A skill-branch reward line - the skill system's gold, so it reads apart from the items. |
| Counter Font Size | CounterFontSize |
int32 |
XenoCore › Quest | EditDefaultsOnly, ClampMin=8 | 20 |
The "Ether Crystal 0/2" line. Smaller and dimmer than the prose above it. |
| Counter Colour | CounterColour |
FLinearColor |
XenoCore › Quest | EditDefaultsOnly | FLinearColor(0.55, 0.66, 0.8, 1.0) |
A counter that is not yet satisfied. |
| Counter Met Colour | CounterMetColour |
FLinearColor |
XenoCore › Quest | EditDefaultsOnly | FLinearColor(0.41, 0.75, 0.78, 1.0) |
A counter that is satisfied, so a full objective reads as done at a glance. |
| Objective Row Colour | ObjectiveRowColour |
FLinearColor |
XenoCore › Quest | EditDefaultsOnly | FLinearColor(1.0, 1.0, 1.0, 0.045) |
The band behind each objective row. |
| Objective Slot Count | ObjectiveSlotCount |
int32 |
XenoCore › Quest | EditDefaultsOnly, ClampMin=0 | 5 |
How many empty rows to draw under the real objectives. Zero draws none. |
| Objective Row Height | ObjectiveRowHeight |
float |
XenoCore › Quest | EditDefaultsOnly, ClampMin=0.0 | 68.0 |
Minimum height of one objective band, so an empty slot still has presence. |
| Objective Spacing | ObjectiveSpacing |
float |
XenoCore › Quest | EditDefaultsOnly, ClampMin=0.0 | 10.0 |
Gap under each objective block. |
| Fade Time | FadeTime |
float |
XenoCore › Quest | EditDefaultsOnly, ClampMin=0.0 | 0.18 |
Seconds to fade in, and to fade out once answered. Matches the loot panel. |
| Pager Bounce | PagerBounce |
float |
XenoCore › Quest | EditDefaultsOnly, ClampMin=0.0 | 9.0 |
How far the side chevrons travel, in pixels. |
| Pager Bounce Speed | PagerBounceSpeed |
float |
XenoCore › Quest | EditDefaultsOnly, ClampMin=0.0 | 4.0 |
Radians per second of that bounce. |
| Read Only | bReadOnly |
bool |
XenoCore › Quest | BlueprintReadOnly | false |
True when this panel is the Quest Log's detail view. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Show Offer | Callable | void ShowOffer(UXenoCoreQuestDefinition* InQuest, AActor* Giver) |
Fills the panel from one quest. |
| Show Quest Details | Callable | void ShowQuestDetails(UXenoCoreQuestDefinition* InQuest, const TArray<UXenoCoreQuestDefinition*>& InOrder) |
The same panel, read-only - what the Quest Log opens when a row is clicked. |
| On Offer Shown | Event (implement in Blueprint) | void K2_OnOfferShown(const UXenoCoreQuestDefinition* InQuest) |
Content-side hook, for a sting or a kind-specific flourish. |
UXenoCoreQuestRewardBase¶
Class · derives from UXenoCoreHudPlateBase · header XenoCoreRuntime/Public/Quest/XenoCoreQuestRewardBase.h · abstract · Blueprintable
"Quest complete", what it paid, and a celebration effect behind it.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Heading Text | HeadingText |
TObjectPtr<UTextBlock> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The banner's heading ("Quest complete"), authored in the asset. | |
| Quest Text | QuestText |
TObjectPtr<UTextBlock> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The quest's own name, under the heading. | |
| Reward Box | RewardBox |
TObjectPtr<UVerticalBox> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | One line per reward. Cleared on every show. | |
| Confetti Canvas | ConfettiCanvas |
TObjectPtr<UCanvasPanel> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | Where the celebration effect is drawn, behind the card. | |
| Fanfare Sound | FanfareSound |
TObjectPtr<USoundBase> |
XenoCore › Quest | EditDefaultsOnly | The sting played when the banner appears. Unset means silent. | |
| Conversation Grace | ConversationGrace |
float |
XenoCore › Quest | EditDefaultsOnly, ClampMin=0.0 | 0.35 |
How long to let a conversation start before deciding there is not going to be one. |
| Post Dialogue Delay | PostDialogueDelay |
float |
XenoCore › Quest | EditDefaultsOnly, ClampMin=0.0 | 0.4 |
A beat between the conversation ending and the banner arriving. |
| Hold Time | HoldTime |
float |
XenoCore › Quest | EditDefaultsOnly, ClampMin=0.5 | 5.0 |
How long the banner stays up before it fades out on its own. |
| Celebration | Celebration |
FXenoCoreUIEffect |
XenoCore › Quest › Celebration | EditDefaultsOnly | The burst a celebrating show plays (a UI Niagara system), drawn in ConfettiCanvas. | |
| Row Icon Size | RowIconSize |
float |
XenoCore › Quest | EditDefaultsOnly, ClampMin=4.0 | 26.0 |
How big an item's icon draws on its line. |
| Icon Set | IconSet |
TObjectPtr<const class UXenoCoreItemIconSet> |
XenoCore › Quest | EditDefaultsOnly | Where a category's glyph comes from. | |
| Caption Colour | CaptionColour |
FLinearColor |
XenoCore › Quest | EditDefaultsOnly | FLinearColor(0.41, 0.75, 0.78, 1.0) |
Section captions. Teal is the house's section-header colour on every other screen. |
| Caption Font Size | CaptionFontSize |
int32 |
XenoCore › Quest | EditDefaultsOnly, ClampMin=6 | 13 |
Font size of the section captions. |
| Divider Colour | DividerColour |
FLinearColor |
XenoCore › Quest | EditDefaultsOnly | FLinearColor(0.7, 0.78, 0.88, 0.35) |
Colour of the rule drawn between reward groups. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Show Reward | Callable | void ShowReward(const FText& QuestTitle, int32 Gold, int32 Experience, const TArray<TSubclassOf<ULyraInventoryItemDefinition>>& Items) |
Show the banner for one payout. |
| On Banner Shown | Event (implement in Blueprint) | void OnBannerShown(bool bCelebrate) |
Fired on every show. |
| Is Banner Showing | Pure | bool IsBannerShowing() |
Is a quest banner on screen, or still owed to the player? |
| Is Banner Pending | Pure | bool IsBannerPending() |
Is a payout owed but not yet on screen? |
| Dismiss Now | Callable | void DismissNow() |
Send the panel away now, instead of waiting out its own clock. |
| Dismiss Banner | Callable | bool DismissBanner() |
Dismiss whatever is up, if anything is. |
| Show Items Obtained | Callable | bool ShowItemsObtained(const FText& Heading, const FText& Subtitle, const TArray<TSubclassOf<ULyraInventoryItemDefinition>>& Items, bool bCelebrate = false) |
Show the banner for items that were not a quest reward - "Trade complete" and what came of it. |
UXenoCoreQuestTrackerBase¶
Class · derives from UXenoCoreHudPlateBase · header XenoCoreRuntime/Public/Quest/XenoCoreQuestTrackerBase.h · abstract · Blueprintable
The bottom-right quest tracker: the followed quest's name and its outstanding objectives.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Title Text | TitleText |
TObjectPtr<UTextBlock> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The followed quest's name. | |
| Objective Box | ObjectiveBox |
TObjectPtr<UVerticalBox> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | One line per objective is added here. Cleared on every refresh. | |
| Content Box | ContentBox |
TObjectPtr<class UWidget> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | Everything the tracker says, minus the prompt. | |
| Frame | Frame |
TObjectPtr<class UBorder> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The plate behind the tracker. | |
| Toggle Label | ToggleLabel |
TObjectPtr<UTextBlock> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | "Hide" / "Show", beside the trigger glyph. | |
| State Text | StateText |
TObjectPtr<UTextBlock> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | "Ready to report" and the like, under the objectives. Collapsed while there is nothing to say. | |
| Requester Portrait | RequesterPortrait |
TObjectPtr<class UImage> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The giver's face, beside "Return to <name>". | |
| Portrait Frame | PortraitFrame |
TObjectPtr<UWidget> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | Collapses the portrait and its sizer together - an Image alone still holds its box open. | |
| State Row | StateRow |
TObjectPtr<UWidget> |
XenoCore › Quest | BlueprintReadOnly, BindWidgetOptional | The whole "return to" line, so the face and the words appear and vanish as one thing. | |
| Objective Font Size | ObjectiveFontSize |
int32 |
XenoCore › Quest | EditDefaultsOnly, ClampMin=8 | 17 |
Font size of each objective line. |
| Icon Set | IconSet |
TObjectPtr<const class UXenoCoreItemIconSet> |
XenoCore › Quest | EditDefaultsOnly | Where a category's glyph comes from. | |
| Objective Icon | ObjectiveIcon |
TObjectPtr<UMaterialInterface> |
XenoCore › Quest | EditDefaultsOnly | The bullet beside an objective still outstanding. | |
| Objective Met Icon | ObjectiveMetIcon |
TObjectPtr<UMaterialInterface> |
XenoCore › Quest | EditDefaultsOnly | The same bullet, once the objective is met. | |
| Tick Box Size | TickBoxSize |
float |
XenoCore › Quest | EditDefaultsOnly, ClampMin=2.0 | 18.0 |
The tick box beside each objective. |
| Tick Box Colour | TickBoxColour |
FLinearColor |
XenoCore › Quest | EditDefaultsOnly | FLinearColor(0.55, 0.66, 0.8, 0.35) |
An objective still outstanding - a hollow-looking, dim square. |
| Objective Colour | ObjectiveColour |
FLinearColor |
XenoCore › Quest | EditDefaultsOnly | FLinearColor(0.7, 0.78, 0.88, 1.0) |
Text colour of an objective still outstanding. |
| Text Shadow Colour | TextShadowColour |
FLinearColor |
XenoCore › Quest | EditDefaultsOnly | FLinearColor(0.04, 0.04, 0.07, 0.5) |
The drop shadow under every line this plate builds. |
| Text Shadow Offset | TextShadowOffset |
float |
XenoCore › Quest | EditDefaultsOnly, ClampMin=0.0 | 2.0 |
How far it falls. |
| Objective Met Colour | ObjectiveMetColour |
FLinearColor |
XenoCore › Quest | EditDefaultsOnly | FLinearColor(0.41, 0.75, 0.78, 1.0) |
A met objective, which reads as struck through by colour alone. |
| Menu Close Grace | MenuCloseGrace |
float |
XenoCore › Quest | EditDefaultsOnly, ClampMin=0.0 | 0.35 |
How long after a menu closes the toggle stays deaf. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Refresh | Callable | void Refresh() |
Rebuild from the followed quest. |
| Toggle Hidden | Callable | void ToggleHidden() |
The player's own hide/show, which survives every Refresh. |
| Toggle Quest Tracker | Callable | void ToggleQuestTracker() |
Toggle whichever tracker is on screen. |
UXenoCoreQuestUIStatics¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreRuntime/Public/Quest/XenoCoreQuestUIStatics.h
The Quest Log's read surface. One resolver, read-only, returning finished text.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Quest Log Rows | Pure | TArray<FXenoCoreQuestRowInfo> GetQuestLogRows(EXenoCoreQuestSort Sort = EXenoCoreQuestSort::Status) |
Every accepted or completed quest, in the order the player met them. |
| Get Quest Sort Label | Pure | FText GetQuestSortLabel(EXenoCoreQuestSort Sort) |
"Status", "Name", "Area", "Type" - what the log prints beside the Y prompt. |
| Get Next Quest Sort | Pure | EXenoCoreQuestSort GetNextQuestSort(EXenoCoreQuestSort Sort) |
The next mode in the cycle, wrapping. |
| Get Quest Row Info | Pure | FXenoCoreQuestRowInfo GetQuestRowInfo(UXenoCoreQuestDefinition* Quest) |
One row, for a screen that already knows which quest it wants. |
| Open Quest Log | Callable | void OpenQuestLog() |
Push the Quest Log onto the menu layer, and focus it. |
| Get Quest Kind Label | Pure | FText GetQuestKindLabel(EXenoCoreQuestKind Kind) |
"Collection", "Monster", ... for a kind. |
| Get Quest Requester Name | Pure | FText GetQuestRequesterName(const UXenoCoreQuestDefinition* Quest, AActor* Giver) |
Who to name as the requester of this quest. |
XenoCoreRuntime / Save¶
AXenoCoreSavePoint¶
Class · derives from AActor · header XenoCoreRuntime/Public/Save/XenoCoreSavePoint.h · abstract · Blueprintable
A pad that autosaves when the player steps on it, retrying while saving is refused (e.g. in a fight), and optionally becomes the party's respawn point after a wipe.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Scene Root | SceneRoot |
TObjectPtr<USceneComponent> |
XenoCore › Save | VisibleAnywhere, BlueprintReadOnly | Everything hangs off this so the mesh and the volume can be moved independently. | |
| Pad | Pad |
TObjectPtr<UStaticMeshComponent> |
XenoCore › Save | VisibleAnywhere, BlueprintReadOnly | The thing you can see. Its mesh is the Blueprint's business, not this class's. | |
| Volume | Volume |
TObjectPtr<UBoxComponent> |
XenoCore › Save | VisibleAnywhere, BlueprintReadOnly | What the player has to stand in. Overlaps pawns and blocks nothing. | |
| Idle Effect | IdleEffect |
TObjectPtr<UNiagaraComponent> |
XenoCore › Save | VisibleAnywhere, BlueprintReadOnly | The pad's standing glow. Its system is set on the Blueprint. | |
| Saved Effect | SavedEffect |
TObjectPtr<UNiagaraSystem> |
XenoCore › Save | EditDefaultsOnly, BlueprintReadOnly | One-shot burst when an autosave is accepted. Not played for a refused save. | |
| Point Name | PointName |
FString |
XenoCore › Save | EditAnywhere, BlueprintReadWrite | "Save Point" |
Named in the log line for every autosave this pad causes. |
| Retry Interval | RetryInterval |
float |
XenoCore › Save | EditAnywhere, BlueprintReadWrite, ClampMin=0.1, UIMin=0.1, Units=s | 1.0 |
How often to try again while the player stands here and saving is refused. |
| Rearm On Exit | bRearmOnExit |
bool |
XenoCore › Save | EditAnywhere, BlueprintReadWrite | true |
Save again on a later visit, or only the first time? |
| Respawn Offset | RespawnOffset |
FVector |
XenoCore › Save | EditAnywhere, BlueprintReadWrite | FVector(0.0, 0.0, 100.0) |
Offset from the pad's origin to where a wiped party's leader respawns. |
| Is Respawn Point | bIsRespawnPoint |
bool |
XenoCore › Save | EditAnywhere, BlueprintReadWrite | true |
Record this pad as the party's respawn point when the player steps on it (XC1: last visited). |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Try Autosave | Callable | bool TryAutosave() |
Tries to autosave now. |
| Get Respawn Transform | Pure | FTransform GetRespawnTransform() const |
Where a wiped party stands again after the player has visited this pad: the pad raised by RespawnOffset, facing the pad's yaw. |
EXenoCoreSaveScreenMode¶
Enum · header XenoCoreRuntime/Public/Save/XenoCoreSaveScreenBase.h · BlueprintType
Which job this screen is doing. One widget serves both, exactly as XC1's do.
| Value | Shown as | Description |
|---|---|---|
Save |
Save | No description. |
Load |
Load | No description. |
FXenoCoreSaveBody¶
Struct · header XenoCoreRuntime/Public/Save/XenoCoreSaveTypes.h · BlueprintType
Everything the world is rebuilt from.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Gold | Gold |
int32 |
XenoCore › Save | BlueprintReadOnly | 0 |
No description. |
| Leader Slot | LeaderSlot |
int32 |
XenoCore › Save | BlueprintReadOnly | 0 |
Which active slot is the leader. |
| Max Active Members | MaxActiveMembers |
int32 |
XenoCore › Save | BlueprintReadOnly | 3 |
Saved because a menu is expected to grant party slots later. |
| Items | Items |
TArray<FXenoCoreSavedItem> |
XenoCore › Save | BlueprintReadOnly | The party bag. Equipment refers to these by index. | |
| Members | Members |
TArray<FXenoCoreSavedMember> |
XenoCore › Save | BlueprintReadOnly | The whole roster, active and benched. | |
| Quests | Quests |
TArray<FXenoCoreSavedQuest> |
XenoCore › Save | BlueprintReadOnly | No description. | |
| Party Tactics | PartyTactics |
TMap<FName, FName> |
XenoCore › Save | BlueprintReadOnly | The party's tactics, tactic name -> value name. Empty = the defaults. | |
| Active Quest | ActiveQuest |
FSoftObjectPath |
XenoCore › Save | BlueprintReadOnly | No description. | |
| Leader Transform | LeaderTransform |
FTransform |
XenoCore › Save | BlueprintReadOnly | Where the leader stands. The rest of the party re-forms around them on spawn. | |
| World Chests | WorldChests |
TArray<FXenoCoreSavedMapChests> |
XenoCore › Save | BlueprintReadOnly | Treasure chests, per map - the one this save is in and every map visited before it. | |
| Participants | Participants |
TMap<FName, FXenoCoreSaveRecord> |
XenoCore › Save | BlueprintReadOnly | Save participants' records, by save key. |
FXenoCoreSaveHeader¶
Struct · header XenoCoreRuntime/Public/Save/XenoCoreSaveTypes.h · BlueprintType
Loads every file it lists - and a body that fails to migrate should still leave a row the player can see and overwrite, rather than an empty list that looks like lost saves.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Autosave | bAutosave |
bool |
XenoCore › Save | BlueprintReadOnly | false |
True for the autosave slot, which the Save screen lists but refuses to target. |
| Leader Name | LeaderName |
FString |
XenoCore › Save | BlueprintReadOnly | No description. | |
| Leader Level | LeaderLevel |
int32 |
XenoCore › Save | BlueprintReadOnly | 1 |
No description. |
| Active Members | ActiveMembers |
TArray<FSoftObjectPath> |
XenoCore › Save | BlueprintReadOnly | Active members in party order - the row draws one portrait each. | |
| Location Text | LocationText |
FString |
XenoCore › Save | BlueprintReadOnly | Printed over the bottom of the thumbnail. The map's name from UXenoCoreSaveSettings, or SetLocationText's override. |
|
| Story Text | StoryText |
FString |
XenoCore › Save | BlueprintReadOnly | SetStoryText, else UXenoCoreSaveSettings::DefaultStoryText. May be empty. |
|
| Play Time Seconds | PlayTimeSeconds |
float |
XenoCore › Save | BlueprintReadOnly | 0.0 |
No description. |
| Save Time Utc | SaveTimeUtc |
FDateTime |
XenoCore › Save | BlueprintReadOnly | Stored utc, drawn local - a save carried between time zones should not lie about its age. | |
| Map | Map |
FSoftObjectPath |
XenoCore › Save | BlueprintReadOnly | The map this save is in, and the one a load travels to. | |
| Thumbnail | Thumbnail |
TArray<uint8> |
XenoCore › Save | BlueprintReadOnly | The slot's thumbnail, compressed. |
FXenoCoreSaveRecord¶
Struct · header XenoCoreRuntime/Public/Save/XenoCoreSaveTypes.h · BlueprintType
One save participant's data, as written by that participant.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Version | Version |
int32 |
XenoCore › Save | BlueprintReadOnly | 1 |
The participant's own data version when this record was written. |
| Bytes | Bytes |
TArray<uint8> |
XenoCore › Save | BlueprintReadOnly | The participant's serialized data. |
FXenoCoreSavedArt¶
Struct · header XenoCoreRuntime/Public/Save/XenoCoreSaveTypes.h · BlueprintType
One learned art: which, and how far it has been levelled.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Art | Art |
FSoftObjectPath |
XenoCore › Save | BlueprintReadOnly | No description. | |
| Level | Level |
int32 |
XenoCore › Save | BlueprintReadOnly | 1 |
No description. |
| Level Cap | LevelCap |
int32 |
XenoCore › Save | BlueprintReadOnly | 0 |
0 = the default cap. Anything else was raised by an Arts Manual. |
FXenoCoreSavedChest¶
Struct · header XenoCoreRuntime/Public/Save/XenoCoreSaveTypes.h · BlueprintType
One treasure chest that has to outlive the world it is in.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Chest Class | ChestClass |
FSoftClassPath |
XenoCore › Save | BlueprintReadOnly | The chest's Blueprint class. Dropped chests only - a placed one is its own level actor. | |
| Placed Name | PlacedName |
FName |
XenoCore › Save | BlueprintReadOnly | The level actor's name for a placed chest; None for one an enemy dropped. | |
| Transform | Transform |
FTransform |
XenoCore › Save | BlueprintReadOnly | No description. | |
| Drop Table | DropTable |
FSoftObjectPath |
XenoCore › Save | BlueprintReadOnly | UXenoCoreDropTable, as a path. Null is legal - the chest opens empty and says so. |
|
| Tier | Tier |
FName |
XenoCore › Save | BlueprintReadOnly | EXenoCoreChestTier as its enum entry name, never its ordinal - see the file header. |
|
| Source Level | SourceLevel |
int32 |
XenoCore › Save | BlueprintReadOnly | 1 |
No description. |
| Resolved | bResolved |
bool |
XenoCore › Save | BlueprintReadOnly | false |
Placed chests only: answered and gone. The level's copy is despawned on arrival. |
| Opened | bOpened |
bool |
XenoCore › Save | BlueprintReadOnly | false |
Opened already, holding Remaining. False means unopened: roll on open. |
| Remaining | Remaining |
TArray<FSoftClassPath> |
XenoCore › Save | BlueprintReadOnly | What an opened chest still holds - the items the bag had no room for. |
FXenoCoreSavedEquip¶
Struct · header XenoCoreRuntime/Public/Save/XenoCoreSaveTypes.h · BlueprintType
One equipped slot, as a name plus an index into the saved bag.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Slot | Slot |
FName |
XenoCore › Save | BlueprintReadOnly | EXenoCoreEquipSlot as its enum entry name, never its ordinal. |
|
| Item Index | ItemIndex |
int32 |
XenoCore › Save | BlueprintReadOnly | INDEX_NONE |
Index into FXenoCoreSaveBody::Items. INDEX_NONE means the slot is empty. |
FXenoCoreSavedGem¶
Struct · header XenoCoreRuntime/Public/Save/XenoCoreSaveTypes.h · BlueprintType
One gem in one socket.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Socket | Socket |
int32 |
XenoCore › Save | BlueprintReadOnly | 0 |
Socket position, 0-based. |
| Gem | Gem |
FSoftClassPath |
XenoCore › Save | BlueprintReadOnly | The gem's item definition class, as a path. | |
| Value | Value |
int32 |
XenoCore › Save | BlueprintReadOnly | 0 |
The gem's rolled strength. |
FXenoCoreSavedItem¶
Struct · header XenoCoreRuntime/Public/Save/XenoCoreSaveTypes.h · BlueprintType
One bag entry.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Item Def | ItemDef |
FSoftClassPath |
XenoCore › Save | BlueprintReadOnly | The item definition's Blueprint class, as a path. | |
| Gem Strength | GemStrength |
int32 |
XenoCore › Save | BlueprintReadOnly | 0 |
A loose gem's rolled strength. 0 for anything that is not a gem. |
| Sockets | Sockets |
TArray<FXenoCoreSavedGem> |
XenoCore › Save | BlueprintReadOnly | Gems in this item's sockets. Empty sockets are not written. |
FXenoCoreSavedMapChests¶
Struct · header XenoCoreRuntime/Public/Save/XenoCoreSaveTypes.h · BlueprintType
Every chest record for one map.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Map | Map |
FSoftObjectPath |
XenoCore › Save | BlueprintReadOnly | The map, PIE prefix stripped - UXenoCoreSaveSettings::GetMapPathForWorld. |
|
| Chests | Chests |
TArray<FXenoCoreSavedChest> |
XenoCore › Save | BlueprintReadOnly | No description. |
FXenoCoreSavedMember¶
Struct · header XenoCoreRuntime/Public/Save/XenoCoreSaveTypes.h · BlueprintType
One character, active or benched.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Definition | Definition |
FSoftObjectPath |
XenoCore › Save | BlueprintReadOnly | No description. | |
| Tactics | Tactics |
TMap<FName, FName> |
XenoCore › Save | BlueprintReadOnly | This member's own party-tactics orders, tactic name -> value name. Unlisted tactics follow the party. | |
| Level | Level |
int32 |
XenoCore › Save | BlueprintReadOnly | 1 |
No description. |
| Experience | Experience |
float |
XenoCore › Save | BlueprintReadOnly | 0.0 |
Experience towards the next level, not a lifetime total. |
| Active Slot | ActiveSlot |
int32 |
XenoCore › Save | BlueprintReadOnly | INDEX_NONE |
Position in the active party, or INDEX_NONE when benched. Order matters: it is the HUD's. |
| Seeded | bSeeded |
bool |
XenoCore › Save | BlueprintReadOnly | false |
UXenoCorePartyComponent::SeededLoadouts is Transient, so without this field every member re-seeds their starting bag and loadout on load and the party's items double. It is the single most important bool in the file. |
| Health Fraction | HealthFraction |
float |
XenoCore › Save | BlueprintReadOnly | 1.0 |
Current health as a fraction of max, never as points. |
| Equipment | Equipment |
TArray<FXenoCoreSavedEquip> |
XenoCore › Save | BlueprintReadOnly | What this character is wearing, including while benched. | |
| Arts | Arts |
TArray<FXenoCoreSavedArt> |
XenoCore › Save | BlueprintReadOnly | Every art this character knows, with its level. | |
| Palette | Palette |
TArray<FSoftObjectPath> |
XenoCore › Save | BlueprintReadOnly | The battle palette in slot order. A null path is an empty slot - a gap the player left. | |
| Palette Saved | bPaletteSaved |
bool |
XenoCore › Save | BlueprintReadOnly | false |
No description. |
| Art Points | ArtPoints |
int32 |
XenoCore › Save | BlueprintReadOnly | 0 |
Art Points banked, unspent. |
| Skills Saved | bSkillsSaved |
bool |
XenoCore › Save | BlueprintReadOnly | false |
Skill-tree progress. Read only when bSkillsSaved - an older save has none and seeds fresh from the tree, the bPaletteSaved precedent. |
| Selected Skill Branch | SelectedSkillBranch |
FName |
XenoCore › Save | BlueprintReadOnly | No description. | |
| Skill Branches | SkillBranches |
TArray<FXenoCoreSavedSkillBranch> |
XenoCore › Save | BlueprintReadOnly | No description. |
FXenoCoreSavedQuest¶
Struct · header XenoCoreRuntime/Public/Save/XenoCoreSaveTypes.h · BlueprintType
One quest the player knows about.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Definition | Definition |
FSoftObjectPath |
XenoCore › Save | BlueprintReadOnly | No description. | |
| Status | Status |
FName |
XenoCore › Save | BlueprintReadOnly | EXenoCoreQuestStatus as its enum entry name. |
|
| Counts | Counts |
TArray<int32> |
XenoCore › Save | BlueprintReadOnly | Per-objective progress, parallel to the definition's Objectives. |
|
| Requester Name | RequesterName |
FString |
XenoCore › Save | BlueprintReadOnly | Who asked, snapshotted at Accept - the giver may be an area away by the time this is drawn. |
FXenoCoreSavedSkillBranch¶
Struct · header XenoCoreRuntime/Public/Save/XenoCoreSaveTypes.h · BlueprintType
One skill branch's progress. By row name, never index - a designer reordering the tree's rows must not move anybody's progress onto a different branch.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Branch | Branch |
FName |
XenoCore › Save | BlueprintReadOnly | No description. | |
| Unlocked | bUnlocked |
bool |
XenoCore › Save | BlueprintReadOnly | false |
No description. |
| Skills Learnt | SkillsLearnt |
int32 |
XenoCore › Save | BlueprintReadOnly | 0 |
No description. |
| Skill Points Into Next | SkillPointsIntoNext |
int32 |
XenoCore › Save | BlueprintReadOnly | 0 |
No description. |
UXenoCoreAutosaveBadgeBase¶
Class · derives from UXenoCoreHudPlateBase · header XenoCoreRuntime/Public/Save/XenoCoreAutosaveBadgeBase.h · abstract · Blueprintable
HUD badge shown while an autosave writes ("Autosaving...", the power warning and a spinning icon), then briefly confirming the result. Takes no input and cannot be dismissed.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Status Text | StatusText |
TObjectPtr<UTextBlock> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | "Autosaving..." while writing, "Saved" once it lands. | |
| Warning Text | WarningText |
TObjectPtr<UTextBlock> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | The "do not turn off the power" line. | |
| Icon Image | IconImage |
TObjectPtr<UImage> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | The save icon - an Image whose brush is M_XenoCore_UI_SaveIcon. |
|
| Saving Parameter Name | SavingParameterName |
FName |
XenoCore › Save | EditDefaultsOnly, BlueprintReadOnly | "Saving" |
The icon material's scalar: 1 = writing (chasing ring), 0 = done (steady ring). |
| Icon Colour | IconColour |
FLinearColor |
XenoCore › Save | EditDefaultsOnly, BlueprintReadOnly | FLinearColor::White |
Tint of the save icon while saving and after a successful save. |
| Failed Icon Colour | FailedIconColour |
FLinearColor |
XenoCore › Save | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(1.0, 0.35, 0.3, 1.0) |
Tint of the save icon after a failed save. |
| Saving Label | SavingLabel |
FText |
XenoCore › Save | EditDefaultsOnly, BlueprintReadOnly | NSLOCTEXT("XenoCore", "Autosaving", "Autosaving...") |
Status text shown while the autosave writes. |
| Saved Label | SavedLabel |
FText |
XenoCore › Save | EditDefaultsOnly, BlueprintReadOnly | NSLOCTEXT("XenoCore", "Autosaved", "Saved") |
Status text shown once the autosave has written successfully. |
| Failed Label | FailedLabel |
FText |
XenoCore › Save | EditDefaultsOnly, BlueprintReadOnly | NSLOCTEXT("XenoCore", "AutosaveFailed", "Save failed") |
Status text shown when the autosave failed to write. |
| Warning Label | WarningLabel |
FText |
XenoCore › Save | EditDefaultsOnly, BlueprintReadOnly | NSLOCTEXT("XenoCore", "AutosaveWarning", "Do not turn off... |
Warning line shown only while the write is in progress. |
| Hold Seconds | HoldSeconds |
float |
XenoCore › Save | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.0, UIMin=0.0, Units=s | 2.0 |
How long "Saved" stays up after the write lands. |
| Min Saving Seconds | MinSavingSeconds |
float |
XenoCore › Save | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.0, Units=s | 1.5 |
The least time the saving state (label + chasing icon) stays up, however fast the write is. |
| Failed Hold Seconds | FailedHoldSeconds |
float |
XenoCore › Save | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.0, UIMin=0.0, Units=s | 5.0 |
A failure is worth reading twice, so it holds longer. |
UXenoCoreSaveGame¶
Class · derives from ULocalPlayerSaveGame · header XenoCoreRuntime/Public/Save/XenoCoreSaveGame.h · BlueprintType
A XenoCore save file: a header the slot list can draw on its own, and the body the world is rebuilt from, plus a data version for migrations.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Header | Header |
FXenoCoreSaveHeader |
XenoCore › Save | BlueprintReadOnly | What the slot row draws, without needing the body to be valid. | |
| Body | Body |
FXenoCoreSaveBody |
XenoCore › Save | BlueprintReadOnly | What the world is rebuilt from. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Is Loadable | Pure | bool IsLoadable() const |
A save from a newer build is still listed (from its header) but refuses to load. |
UXenoCoreSaveParticipantComponent¶
Class · derives from UActorComponent · header XenoCoreRuntime/Public/Save/XenoCoreSaveParticipantComponent.h
Saves its owning actor's SaveGame variables. Set Save Key for any actor spawned more than once.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Save Key | SaveKey |
FName |
XenoCore › Save | EditAnywhere, BlueprintReadOnly | The name the owner's data is stored under. None derives one from the owner. |
UXenoCoreSaveRowBase¶
Class · derives from UCommonUserWidget · header XenoCoreRuntime/Public/Save/XenoCoreSaveRowBase.h · abstract · Blueprintable
One save slot in the save/load list: thumbnail and location, leader level and name, party faces, play time, save time and story progress.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Row Button | RowButton |
TObjectPtr<UCommonButtonBase> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Thumb Box | ThumbBox |
TObjectPtr<UWidget> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | The thumbnail's frame and the text column. | |
| Info Box | InfoBox |
TObjectPtr<UWidget> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Name Box | NameBox |
TObjectPtr<UWidget> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | The left column - the pill, the name, and the faces. | |
| Head Box | HeadBox |
TObjectPtr<UWidget> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | The level and name line. Gone on an empty slot; the pill above it is not. | |
| Thumbnail | Thumbnail |
TObjectPtr<UImage> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | The world as it looked when the file was written. Blank frame when there is none. | |
| Location Text | LocationText |
TObjectPtr<UTextBlock> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | Printed over the thumbnail's bottom edge, as XC1 does. | |
| Autosave Pill | AutosavePill |
TObjectPtr<UWidget> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | "Auto-save". Shown on that row only. | |
| Level Text | LevelText |
TObjectPtr<UTextBlock> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Leader Name Text | LeaderNameText |
TObjectPtr<UTextBlock> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Play Time Text | PlayTimeText |
TObjectPtr<UTextBlock> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Save Time Text | SaveTimeText |
TObjectPtr<UTextBlock> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Story Text | StoryText |
TObjectPtr<UTextBlock> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Detail Box | DetailBox |
TObjectPtr<UWidget> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | The three captions. | |
| Empty Text | EmptyText |
TObjectPtr<UTextBlock> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | "New File" / "No data", shown in the detail box's place. | |
| Portrait Box | PortraitBox |
TObjectPtr<UWidget> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | Up to PortraitSlots faces, in party order. Extra slots collapse. |
|
| Divider | Divider |
TObjectPtr<UWidget> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | The line under the autosave row, in Save mode only. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Focus Target | Callable | UWidget* GetFocusTarget() const |
What the screen should focus. |
| Get Slot Index | Pure | int32 GetSlotIndex() const |
Which slot this row stands for. |
| Is Selectable | Pure | bool IsSelectable() const |
False for the autosave row while saving, and for a row from a newer build while loading. |
| On Row Set | Event (implement in Blueprint) | void K2_OnRowSet(const FXenoCoreSaveRowInfo& InRow, bool bInSaveMode) |
Content hook, for anything the Blueprint wants to draw that C++ does not name. |
UXenoCoreSaveScreenBase¶
Class · derives from UCommonActivatableWidget · header XenoCoreRuntime/Public/Save/XenoCoreSaveScreenBase.h · abstract · Blueprintable
The Save / Load screen: the autosave row plus three manual slots, in one widget with two modes.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Mode | Mode |
EXenoCoreSaveScreenMode |
XenoCore › Save | EditAnywhere, BlueprintReadWrite | EXenoCoreSaveScreenMode::Save |
Whether this screen saves or loads. Changes the title, the empty-slot phrase and which rows can be chosen. |
| Rows Box | RowsBox |
TObjectPtr<UVerticalBox> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | One row per slot is added here, cleared on every refresh. | |
| Title Text | TitleText |
TObjectPtr<UTextBlock> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | "Save" / "Load", top left, as the reference puts it. | |
| Saving Notice | SavingNotice |
TObjectPtr<UWidget> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | "Saving - do not turn off the power." | |
| Footer Label | FooterLabel |
TObjectPtr<UTextBlock> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | What the footer's button does - "Save" or "Load". | |
| Delete Footer | DeleteFooter |
TObjectPtr<UWidget> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | The footer's second prompt - glyph plus "Delete" - collapsed wherever there is nothing to delete. | |
| Delete Glyph | DeleteGlyph |
TObjectPtr<UCommonActionWidget> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | Given DeleteAction at runtime, so the key it draws and the key that works are one row. |
|
| Delete Label | DeleteLabel |
TObjectPtr<UTextBlock> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Delete Action | DeleteAction |
FDataTableRowHandle |
XenoCore › Save | EditDefaultsOnly | The key that deletes. X on a keyboard, Y on the pad - the same row shape as Unequip and Remove, the project's other destructive per-slot actions. | |
| Overlay Stack | OverlayStack |
TObjectPtr<UCommonActivatableWidgetStack> |
XenoCore › Save | BlueprintReadOnly, BindWidgetOptional | Where the confirm popup is pushed - a stack inside this screen, drawn over the rows. | |
| Confirm Popup Class | ConfirmPopupClass |
TSubclassOf<UXenoCoreConfirmPopupBase> |
XenoCore › Save | EditDefaultsOnly | The popup widget. Set on the Blueprint, because C++ must not name a content path. | |
| Row Class | RowClass |
TSubclassOf<UXenoCoreSaveRowBase> |
XenoCore › Save | EditDefaultsOnly | The row widget. Set on the Blueprint, because C++ must not name a content path. | |
| Row Spacing | RowSpacing |
float |
XenoCore › Save | EditDefaultsOnly, ClampMin=0.0, UIMin=0.0 | 14.0 |
Gap between rows, measured plate edge to plate edge. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Refresh | Callable | void Refresh() |
Rebuild every row from disk. |
| Set Mode | Callable | void SetMode(EXenoCoreSaveScreenMode InMode) |
Save or Load. |
| Get Rows | Pure | TArray<UXenoCoreSaveRowBase*> GetRows() const |
The live rows, in list order. |
| Is Delete Offered | Pure | bool IsDeleteOffered() const |
True while the footer offers Delete - Load mode, on a slot that holds a file. |
UXenoCoreSaveSettings¶
Class · derives from UDeveloperSettings · header XenoCoreRuntime/Public/Save/XenoCoreSaveSettings.h
What a save row prints for where and when, as project data - Project Settings > Game > XenoCore Save, stored in the project's DefaultGame.ini.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Location Names | LocationNames |
TMap<TSoftObjectPtr<UWorld>, FText> |
Save Rows | Config, EditAnywhere, AllowedClasses=/Script/Engine.World | The place name a save row prints for a save written on each map. Unlisted maps print nothing. | |
| Default Story Text | DefaultStoryText |
FText |
Save Rows | Config, EditAnywhere | The story line a save row prints until something calls SetStoryText. Empty prints nothing. |
UXenoCoreSaveSubsystem¶
Class · derives from UGameInstanceSubsystem · header XenoCoreRuntime/Public/Save/XenoCoreSaveSubsystem.h
Same rule as GetPartyInventory, GetPartyQuests and GetTargetModeAbility: one resolver, and everything else goes through it. Nothing else names a slot, writes a file, or decides whether a load is in progress.
Events you can bind
| Event | Type | Description |
|---|---|---|
OnSaveWritten |
FXenoCoreSaveWritten |
Broadcast when a save finishes writing, with the slot and whether it succeeded. |
OnSaveStarted |
FXenoCoreSaveStarted |
Broadcast when a save begins writing. |
OnSaveRestored |
FXenoCoreSaveRestored |
Broadcast once a loaded save has been applied to the world. |
OnSaveLoaded |
FXenoCoreSaveLoaded |
Broadcast once a loaded save has been fully applied, with the slot it came from. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get | Pure | UXenoCoreSaveSubsystem* Get() |
The one resolver. |
| Get Slot Name | Pure | FString GetSlotName(int32 SlotIndex) |
"XenoCore_Auto" or "XenoCore_01".."XenoCore_03". |
| Load All Slots | Callable | TArray<UXenoCoreSaveGame*> LoadAllSlots() |
Reads every slot's file so the list screen can draw its rows. |
| Load Slot | Callable | UXenoCoreSaveGame* LoadSlot(int32 SlotIndex) |
One slot, or null when it is empty. |
| Save To Slot | Callable | bool SaveToSlot(int32 SlotIndex) |
Captures the world and writes it to a slot, asynchronously. |
| Request Autosave | Callable | bool RequestAutosave(const FString& Reason) |
Writes to the autosave slot. |
| Delete Slot | Callable | bool DeleteSlot(int32 SlotIndex) |
Deletes a slot's file. |
| Can Save Now | Pure | bool CanSaveNow() const |
True when a save is allowed right now; false in combat or under a menu. |
| Is Save In Progress | Pure | bool IsSaveInProgress() const |
True while a write is actually in flight. |
| Is Autosave In Progress | Pure | bool IsAutosaveInProgress() const |
Which slot the in-flight write is going to, or NoSlotIndex when nothing is being written. |
| Load From Slot | Callable | bool LoadFromSlot(int32 SlotIndex) |
Loads a slot: stashes it, then travels to its map. |
| Is Restoring From Save | Pure | bool IsRestoringFromSave() const |
Starting inventory and starting equipment are seeded from the ASC-ready delegate on every pawn's first body, and the roster is seeded from StartingRoster in BeginPlay. |
| Was World Loaded From Save | Pure | bool WasWorldLoadedFromSave() const |
True for the whole life of a world that was loaded from a save. |
| Begin New Game | Callable | void BeginNewGame() |
Starting a new game: forget that anything was ever loaded, so seeding runs normally again. |
| Restore Pending Save | Callable | void RestorePendingSave(APlayerController* PlayerController) |
Applies the pending save to the world, in the one order that works. |
| Get Loaded Slot Index | Pure | int32 GetLoadedSlotIndex() const |
The slot this game was last loaded from, or NoSlotIndex (the lowest int32) if none. |
| Register Save Participant | Callable | void RegisterSaveParticipant(UObject* Participant, FName SaveKey = NAME_None) |
Adds an actor, component or object to the save. |
| Unregister Save Participant | Callable | void UnregisterSaveParticipant(UObject* Participant) |
Removes a participant from the save, keeping what it last held. |
| Forget Save Record | Callable | bool ForgetSaveRecord(FName SaveKey) |
No description. |
| Has Save Record | Pure | bool HasSaveRecord(FName SaveKey) const |
True when a record is held under this key. |
| Get Play Time Seconds | Pure | float GetPlayTimeSeconds() const |
Seconds of play in this save, across sessions. |
| Format Play Time | Pure | FText FormatPlayTime(float Seconds) |
Play time as XC1 prints it: "1:55". |
| Has Unsaved Progress | Pure | bool HasUnsavedProgress() const |
Has anything been played since the last save, autosave or load? |
| Capture Thumbnail | Callable | void CaptureThumbnail() |
Grab the world as it looks right now, for the next save's slot picture. |
| Set Location Text | Callable | void SetLocationText(const FString& Location) |
The location and story line the slot row prints. |
| Set Story Text | Callable | void SetStoryText(const FString& Story) |
Overrides UXenoCoreSaveSettings::DefaultStoryText. |
| Get Current Location Text | Pure | FString GetCurrentLocationText() const |
What a save written now would print for its location: the override, else the map's name, else empty. |
| Get Current Story Text | Pure | FString GetCurrentStoryText() const |
What a save written now would print for its story line. |
UXenoCoreTitleScreenBase¶
Class · derives from UCommonActivatableWidget · header XenoCoreRuntime/Public/Save/XenoCoreTitleScreenBase.h · abstract · Blueprintable
The title screen: Continue, New Game, Load Game, Settings and Quit. Continue and Load disable themselves when there is no save to act on.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Continue Button | ContinueButton |
TObjectPtr<UCommonButtonBase> |
XenoCore › Title | BlueprintReadOnly, BindWidgetOptional | The most recent save, in one press. | |
| New Game Button | NewGameButton |
TObjectPtr<UCommonButtonBase> |
XenoCore › Title | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Load Game Button | LoadGameButton |
TObjectPtr<UCommonButtonBase> |
XenoCore › Title | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Settings Button | SettingsButton |
TObjectPtr<UCommonButtonBase> |
XenoCore › Title | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Quit Button | QuitButton |
TObjectPtr<UCommonButtonBase> |
XenoCore › Title | BlueprintReadOnly, BindWidgetOptional | Wrapped in a CommonHardwareVisibilityBorder in the widget, copying Lyra's own title: a console build has no business offering to quit, and the border is what knows that. | |
| Continue Subtitle | ContinueSubtitle |
TObjectPtr<UTextBlock> |
XenoCore › Title | BlueprintReadOnly, BindWidgetOptional | "<place> - 1:23:45, Lv 5" under the entry; no place prefix for an unnamed map. Empty when there is no save. | |
| New Game Map | NewGameMap |
TSoftObjectPtr<UWorld> |
XenoCore › Title | EditDefaultsOnly | The map a new game starts in. | |
| Settings Screen Class | SettingsScreenClass |
TSoftClassPtr<UCommonActivatableWidget> |
XenoCore › Title | EditDefaultsOnly | The settings screen to push. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Refresh | Callable | void Refresh() |
Re-reads which slots exist and enables the entries that have something to act on. |
UXenoCoreTitleStateComponent¶
Class · derives from UGameStateComponent · header XenoCoreRuntime/Public/Save/XenoCoreTitleStateComponent.h
Puts the title screen on screen, and nothing else.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Title Screen Class | TitleScreenClass |
TSoftClassPtr<UCommonActivatableWidget> |
XenoCore › Title | EditDefaultsOnly | The screen to show. | |
| Boot Screens | BootScreens |
TArray<TSoftClassPtr<UXenoCoreBootScreenBase>> |
XenoCore › Title | EditDefaultsOnly | The pre-title sequence, in order - studio logo, engine logo, autosave notice, shaders. Reorder, add or drop cards here; each card's timing is on its own Blueprint. | |
| Title Reveal Time | TitleRevealTime |
float |
XenoCore › Title | EditDefaultsOnly, ClampMin=0.0, UIMin=0.0, Units=s | 1.0 |
How long the title scene and its music take to come up once the sequence ends. |
| Boot Gap Time | BootGapTime |
float |
XenoCore › Title | EditDefaultsOnly, ClampMin=0.0, UIMin=0.0, Units=s | 0.4 |
Black between two cards, after one has faded out and before the next fades in. |
XenoCoreRuntime / Shop¶
EXenoCoreShopMode¶
Enum · header XenoCoreRuntime/Public/Shop/XenoCoreShopScreenBase.h · BlueprintType
Buying from the shop, or selling to it.
| Value | Shown as | Description |
|---|---|---|
Buy |
Buy | No description. |
Sell |
Sell | No description. |
EXenoCoreShopStage¶
Enum · header XenoCoreRuntime/Public/Shop/XenoCoreShopScreenBase.h · BlueprintType
Where the player is in the shop.
| Value | Shown as | Description |
|---|---|---|
Entry |
Entry | The "Shop" panel: Buy / Sell / Quit. |
List |
List | A Buy or Sell list. |
Confirm |
Confirm | "Confirm purchase" / "Confirm sale" - the quantity stepper, Total and Money. |
Refused |
Refused | "You cannot sell weapons that are in use." |
EquipPrompt |
Equip Prompt | "Equip now?" after buying equipment - A equips it on the character picked with the L/R toggle, B leaves it in the bag. |
FXenoCoreShopBagEntry¶
Struct · header XenoCoreRuntime/Public/Shop/XenoCoreShopScreenBase.h
One line of the Sell list: a definition grouped out of the one-entry-per-item bag.
FXenoCoreShopOffer¶
Struct · header XenoCoreRuntime/Public/Shop/XenoCoreShopTable.h · BlueprintType
One thing a shop sells.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Item | Item |
TSoftClassPtr<ULyraInventoryItemDefinition> |
XenoCore › Shop | EditAnywhere, BlueprintReadOnly | What the shop sells. | |
| Price Override | PriceOverride |
int32 |
XenoCore › Shop | EditAnywhere, BlueprintReadOnly, ClampMin=0 | 0 |
What it costs, or 0 to charge the item's own buy price (SellValue x 10). |
| Resolved Price | PreviewPrice |
int32 |
XenoCore › Shop | VisibleAnywhere, Transient | 0 |
Read-only: what this row actually costs, once 0 has been resolved. |
UXenoCoreOpenShop¶
Class · derives from UBlueprintAsyncActionBase · header XenoCoreRuntime/Public/Shop/XenoCoreShopNodes.h
"Open Shop" - puts the shop on screen and continues when the player leaves it.
Events you can bind
| Event | Type | Description |
|---|---|---|
Transacted |
FXenoCoreShopPin |
The player bought or sold at least once. |
NothingChanged |
FXenoCoreShopPin |
The player left without buying or selling, or the shop could not be shown. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Open Shop | Latent node factory | UXenoCoreOpenShop* OpenShop(UXenoCoreShopTable* Table, AActor* Shopkeeper) |
Show the shop and wait. |
UXenoCoreShopScreenBase¶
Class · derives from UXenoCoreMerchantScreenBase · header XenoCoreRuntime/Public/Shop/XenoCoreShopScreenBase.h · abstract · Blueprintable
XC1's shop: an entry panel, a Buy list, a Sell list, a quantity confirm and the in-use refusal.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Entry Row | EntryRow |
TObjectPtr<UWidget> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | The whole entry layer - its scrim and its panel. | |
| Buy Button | BuyButton |
TObjectPtr<UCommonButtonBase> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | Buy / Sell / Quit. | |
| Sell Button | SellButton |
TObjectPtr<UCommonButtonBase> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Quit Button | QuitButton |
TObjectPtr<UCommonButtonBase> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Main Panel | MainPanel |
TObjectPtr<UWidget> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | The list screen - collapsed while the entry panel is up. | |
| Qty Header | QtyHeader |
TObjectPtr<UTextBlock> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | "Number" on the Buy list, blank (width kept) on a Sell tab that does not stack. | |
| Value Header | ValueHeader |
TObjectPtr<UTextBlock> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | "Price" / "Sale Price". | |
| Held Text | HeldText |
TObjectPtr<UTextBlock> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | "Held N" - the held count only, until a real bag cap exists. | |
| Gold Text | GoldText |
TObjectPtr<UTextBlock> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | The purse. The first live purse readout in the project. | |
| Confirm Row | ConfirmRow |
TObjectPtr<UWidget> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | The whole confirm layer, scrim included. | |
| Confirm Title | ConfirmTitle |
TObjectPtr<UTextBlock> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Confirm Icon | ConfirmIcon |
TObjectPtr<UImage> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Confirm Item Text | ConfirmItemText |
TObjectPtr<UTextBlock> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Quantity Button | QuantityButton |
TObjectPtr<UCommonButtonBase> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | The focus target of the confirm. Its Up/Down navigation steps the count. | |
| Quantity Text | QuantityText |
TObjectPtr<UTextBlock> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Up Arrow | UpArrow |
TObjectPtr<UImage> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | The up and down arrow images - images because Orbitron has no arrow glyphs. Dimmed at a limit. | |
| Down Arrow | DownArrow |
TObjectPtr<UImage> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Total Text | TotalText |
TObjectPtr<UTextBlock> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Money Text | MoneyText |
TObjectPtr<UTextBlock> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Refused Row | RefusedRow |
TObjectPtr<UWidget> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Refused Text | RefusedText |
TObjectPtr<UTextBlock> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Equip Prompt Row | EquipPromptRow |
TObjectPtr<UWidget> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | The whole "Equip now?" layer, scrim included. | |
| Equip Prompt Text | EquipPromptText |
TObjectPtr<UTextBlock> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | "Equip Battle Gear on Shulk?" - built from EquipPromptFormat. | |
| Equip Prompt Portrait | EquipPromptPortrait |
TObjectPtr<UImage> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | Whose loadout it goes on - the same face the portrait strip lights. | |
| Equip Now Button | EquipNowButton |
TObjectPtr<UCommonButtonBase> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | Equip / Not now - visible buttons, unlike the purchase confirm. | |
| Not Now Button | NotNowButton |
TObjectPtr<UCommonButtonBase> |
XenoCore › Shop | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Equip Prompt Format | EquipPromptFormat |
FText |
XenoCore › Shop › Text | EditDefaultsOnly | {Item} and {Member}. | |
| Empty Buy Text | EmptyBuyText |
FText |
XenoCore › Shop › Text | EditDefaultsOnly | An empty Buy tab. | |
| Empty Sell Text | EmptySellText |
FText |
XenoCore › Shop › Text | EditDefaultsOnly | Shown on an empty Sell tab. | |
| Offer Equip After Purchase | bOfferEquipAfterPurchase |
bool |
XenoCore › Shop | EditDefaultsOnly | true |
Off turns the prompt off entirely - a shop that should only ever sell. |
| Compare Hint | CompareHint |
TObjectPtr<UWidget> |
XenoCore › Shop › Compare | BlueprintReadOnly, BindWidgetOptional | The pill in the details card. Shown only when the focused item has something to compare. | |
| Compare Glyph | CompareGlyph |
TObjectPtr<UCommonActionWidget> |
XenoCore › Shop › Compare | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Compare Row | CompareRow |
TObjectPtr<UWidget> |
XenoCore › Shop › Compare | BlueprintReadOnly, BindWidgetOptional | The whole overlay - "Current Equipment", two cards and the arrow. Up only while held. | |
| Cmp Worn Name | CmpWornName |
TObjectPtr<UTextBlock> |
XenoCore › Shop › Compare | BlueprintReadOnly, BindWidgetOptional | Left card: what the character wears in that slot now. | |
| Cmp Worn Desc | CmpWornDesc |
TObjectPtr<UTextBlock> |
XenoCore › Shop › Compare | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Cmp Worn Type | CmpWornType |
TObjectPtr<UTextBlock> |
XenoCore › Shop › Compare | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Cmp Worn Portrait | CmpWornPortrait |
TObjectPtr<UImage> |
XenoCore › Shop › Compare | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Cmp Worn Badge | CmpWornBadge |
TObjectPtr<UWidget> |
XenoCore › Shop › Compare | BlueprintReadOnly, BindWidgetOptional | The "E" on the worn card's portrait. Hidden when the slot is empty - nothing is worn. | |
| Cmp Worn Stats Box | CmpWornStatsBox |
TObjectPtr<UVerticalBox> |
XenoCore › Shop › Compare | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Cmp New Name | CmpNewName |
TObjectPtr<UTextBlock> |
XenoCore › Shop › Compare | BlueprintReadOnly, BindWidgetOptional | Right card: the item under the cursor, with the change beside each stat. | |
| Cmp New Desc | CmpNewDesc |
TObjectPtr<UTextBlock> |
XenoCore › Shop › Compare | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Cmp New Type | CmpNewType |
TObjectPtr<UTextBlock> |
XenoCore › Shop › Compare | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Cmp New Portrait | CmpNewPortrait |
TObjectPtr<UImage> |
XenoCore › Shop › Compare | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Cmp New Stats Box | CmpNewStatsBox |
TObjectPtr<UVerticalBox> |
XenoCore › Shop › Compare | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Compare Action | CompareAction |
FDataTableRowHandle |
XenoCore › Shop › Compare | EditDefaultsOnly | The hold that shows the compare overlay, and the glyph the pill draws. | |
| Compare Delta Gap | CompareDeltaGap |
float |
XenoCore › Shop › Compare | EditDefaultsOnly, ClampMin=0.0, UIMin=0.0 | 24.0 |
Space between a stat's value and its "(+n)" on the compare cards. The row asset's own is 8. |
| Accept Action | AcceptAction |
FDataTableRowHandle |
XenoCore › Shop | EditDefaultsOnly | The action A performs on the confirm and the refusal, and whose glyph the action bar draws. | |
| In Use Message | InUseMessage |
FText |
XenoCore › Shop › Text | EditDefaultsOnly | Shown when the player tries to sell an item that is equipped. Defaults to XC1's own wording. | |
| Buy Title | BuyTitle |
FText |
XenoCore › Shop › Text | EditDefaultsOnly | Screen title on the Buy list. | |
| Sell Title | SellTitle |
FText |
XenoCore › Shop › Text | EditDefaultsOnly | Screen title on the Sell list. | |
| Confirm Buy Title | ConfirmBuyTitle |
FText |
XenoCore › Shop › Text | EditDefaultsOnly | Title of the quantity confirm when buying. | |
| Confirm Sell Title | ConfirmSellTitle |
FText |
XenoCore › Shop › Text | EditDefaultsOnly | Title of the quantity confirm when selling. | |
| Limit Arrow Opacity | LimitArrowOpacity |
float |
XenoCore › Shop | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0, UIMin=0.0, UIMax=1.0 | 0.25 |
Opacity of an up or down arrow at the limit it cannot pass. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Show Shop | Callable | void ShowShop(UXenoCoreShopTable* InTable, AActor* InShopkeeper) |
Opens the shop at its entry panel. |
| On Transaction | Event (implement in Blueprint) | void K2_OnTransaction(TSubclassOf<ULyraInventoryItemDefinition> Item, int32 Count, bool bSold) |
Content-side hook, for a sting on every sale. |
UXenoCoreShopStatics¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreRuntime/Public/Shop/XenoCoreShopStatics.h
The one thing that knows what a shop charges and pays, and the one thing that moves gold and items for a sale. The screen asks; it never computes a price or touches the bag itself.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Buy Price For Def | Pure | int32 GetBuyPriceForDef(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
SellValue x 10. |
| Get Sell Price For Def | Pure | int32 GetSellPriceForDef(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
What a shop pays for one, skills included. |
| Get Sell Price Multiplier | Pure | float GetSellPriceMultiplier() |
How much the party's skills raise what a shop pays. |
| Can Buy Def | Pure | bool CanBuyDef(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
May a shop stock this? |
| Can Sell Def | Pure | bool CanSellDef(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
May the player sell this at all? |
| Get Sellable Count | Pure | int32 GetSellableCount(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
How many of ItemDef the player could sell right now - the copies nobody is wearing. |
| Get Max Buyable | Pure | 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. |
| Buy Items | Callable | int32 BuyItems(TSubclassOf<ULyraInventoryItemDefinition> ItemDef, int32 Count, int32 UnitPrice) |
Buy Count at UnitPrice. |
| Sell Items | Callable | int32 SellItems(TSubclassOf<ULyraInventoryItemDefinition> ItemDef, int32 Count) |
Sell up to Count of ItemDef. |
UXenoCoreShopTable¶
Class · derives from UPrimaryDataAsset · header XenoCoreRuntime/Public/Shop/XenoCoreShopTable.h · BlueprintType
Everything one shop sells.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Offers | Offers |
TArray<FXenoCoreShopOffer> |
XenoCore › Shop | EditAnywhere, BlueprintReadOnly | Everything for sale, drawn in this order within each category tab. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Price | Pure | int32 GetPrice(int32 Index) const |
What row Index costs - the override when there is one, the item's buy price otherwise. |
| Get Offer | Pure | bool GetOffer(int32 Index, FXenoCoreShopOffer& OutOffer) const |
Bounds-checked accessor. |
XenoCoreRuntime / Skills¶
EXenoCoreSkillCondition¶
Enum · header XenoCoreRuntime/Public/Skills/XenoCoreSkillTypes.h · BlueprintType
When a skill's Stats hold - XC1's "(at half HP)", "(at 100% HP)", "(no armour)".
| Value | Shown as | Description |
|---|---|---|
Always |
Always | No description. |
HealthAtOrBelow |
Health At Or Below | HP at or below ConditionThreshold % of max - Sheer Determination, "at half HP" (50). |
HealthAtOrAbove |
Health At Or Above | HP at or above ConditionThreshold % of max - Invincible Hero, "at 100% HP" (100). |
NoArmour |
No Armour | Nothing in any armour slot - Inner Peace, "(no armour)". The weapon does not count. |
EXenoCoreSkillOperation¶
Enum · header XenoCoreRuntime/Public/Skills/XenoCoreSkillTypes.h · BlueprintType
How a value meets its stat: points on top, or a percentage of the stat.
| Value | Shown as | Description |
|---|---|---|
Add |
Add | +15 Agility, +15 % Block Rate (a rate is already a percentage, so it adds points). |
Scale |
Scale | +10 % Max HP - a share of the stat itself. |
EXenoCoreSkillPointLevelBasis¶
Enum · header XenoCoreRuntime/Public/Skills/XenoCoreSkillTypes.h · BlueprintType
Which "party level" sets the SP band.
| Value | Shown as | Description |
|---|---|---|
PartyAverage |
Party Average | Fandom: the Definitive Edition's rule. |
Leader |
Leader | The rule EXP uses here today. |
Lowest |
Lowest | Game8, of Expert Mode. |
Own |
Own | Xsw, and the Wii rule per Fandom - each character against the enemy on their own. |
EXenoCoreSkillScope¶
Enum · header XenoCoreRuntime/Public/Skills/XenoCoreSkillTypes.h · BlueprintType
The icon's glyph in XC1: one figure, three figures, or "all".
| Value | Shown as | Description |
|---|---|---|
Self |
Self | No description. |
BattleParty |
Battle Party | No description. |
WholeParty |
Whole Party | No description. |
EXenoCoreSkillShape¶
Enum · header XenoCoreRuntime/Public/Skills/XenoCoreSkillTypes.h · BlueprintType
XC1's five frames. Picks the frame a skill cell draws; Diamond skills can never be linked.
| Value | Shown as | Description |
|---|---|---|
Circle |
Circle | No description. |
Square |
Square | No description. |
Hexagon |
Hexagon | No description. |
Star |
Star | No description. |
Diamond |
Diamond | "Skills with a diamond frame are for that character only." |
EXenoCoreSkillTiming¶
Enum · header XenoCoreRuntime/Public/Skills/XenoCoreSkillTypes.h · BlueprintType
The icon's colour in XC1: blue applies always, orange only while in the battle party.
| Value | Shown as | Description |
|---|---|---|
Always |
Always | No description. |
InBattleParty |
In Battle Party | No description. |
EXenoCoreSkillTrigger¶
Enum · header XenoCoreRuntime/Public/Skills/XenoCoreSkillAbility_TimedBuff.h · BlueprintType
The moments XC1's timed skills fire on. Each is sourced from a skill that uses it.
| Value | Shown as | Description |
|---|---|---|
AllyIncapacitated |
Ally Incapacitated | Lone Warrior - "if any of his teammates are incapacitated". Fires as an ally goes down. |
BattleStartVsHigherLevel |
Battle Start Vs Higher Level | Underdog - "when starting a battle against an enemy that is 3 or more levels higher". |
BattleStart |
Battle Start | Any battle start - XC1's "(battle start)" effects: Strength, Ether, Physical Defence, Haste. |
OnKill |
On Kill | XC1's "(on kill)" - Melee Champion. This body lands the killing blow. |
OnMiss |
On Miss | XC1's "(on miss)" - Speed Strike. This body's attack is evaded. |
OnCritical |
On Critical | XC1's "(on crit)". This body lands a critical hit. |
FXenoCoreBranchProgress¶
Struct · header XenoCoreRuntime/Public/Skills/XenoCoreSkillTypes.h · BlueprintType
One branch's progress for one character.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Unlocked | bUnlocked |
bool |
XenoCore › Skills | BlueprintReadOnly | false |
No description. |
| Skills Learnt | SkillsLearnt |
int32 |
XenoCore › Skills | BlueprintReadOnly | 0 |
0..5. Skills are learnt in order, so this is the set of learnt skills. |
| Skill Points Into Next | SkillPointsIntoNext |
int32 |
XenoCore › Skills | BlueprintReadOnly | 0 |
SP banked towards the next skill. Zero once the branch is complete. |
FXenoCoreSkillBranchRow¶
Struct · derives from FTableRowBase · header XenoCoreRuntime/Public/Skills/XenoCoreSkillTypes.h · BlueprintType
One branch of one character's tree. The row name is the branch's id (what a save stores), and row order is draw order - XC1 draws its branches alphabetically.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Display Name | DisplayName |
FText |
Branch | EditAnywhere, BlueprintReadOnly | "Intuition". | |
| Trait Description | TraitDescription |
FText |
Branch › Trait | EditAnywhere, BlueprintReadOnly | XC1's own wording: "Prioritising this trait will improve agility." | |
| Trait Stat | TraitStat |
FGameplayTag |
Branch › Trait | EditAnywhere, BlueprintReadOnly, Categories=XenoCore.Stat |
The stat the branch raises while it is selected. A XenoCore.Stat.* tag. |
|
| Trait Operation | TraitOperation |
EXenoCoreSkillOperation |
Branch › Trait | EditAnywhere, BlueprintReadOnly | EXenoCoreSkillOperation::Add |
Add the trait's value as points, or Scale the stat by it as a percentage. |
| Trait Ladder | TraitLadder |
FDataTableRowHandle |
Branch › Trait | EditAnywhere, BlueprintReadOnly | A row of DT_XenoCore_SkillTraitLadders - the value at 0..5 skills learnt. |
|
| Cost Curve | CostCurve |
FDataTableRowHandle |
Branch | EditAnywhere, BlueprintReadOnly | A row of DT_XenoCore_SkillCostCurves - XC1 has two, Starting and Quest. |
|
| Unlocked At Start | bUnlockedAtStart |
bool |
Branch | EditAnywhere, BlueprintReadOnly | true |
Three branches per character are open from the start; two arrive by quest. |
| First Skill Prelearned | bFirstSkillPrelearned |
bool |
Branch | EditAnywhere, BlueprintReadOnly | false |
XC1 gives every character one skill already learnt, at 0 SP. |
| Skills | Skills |
TArray<FXenoCoreSkillEntry> |
Branch | EditAnywhere, BlueprintReadOnly | Exactly five, top to bottom - learnt in that order. |
FXenoCoreSkillBranchUnlock¶
Struct · header XenoCoreRuntime/Public/Skills/XenoCoreSkillTypes.h · BlueprintType
One branch a quest opens. XC1's 4th and 5th branches each arrive with a quest.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Member | Member |
TObjectPtr<UXenoCorePartyMemberDefinition> |
Skills | EditAnywhere, BlueprintReadOnly | nullptr |
The party member whose tree gains the branch. |
| Branch | Branch |
FName |
Skills | EditAnywhere, BlueprintReadOnly | The branch's row name in the member's Skill Tree table - not its display name. Checked when the quest is saved. |
FXenoCoreSkillBranchView¶
Struct · header XenoCoreRuntime/Public/Skills/XenoCoreSkillTypes.h · BlueprintType
Everything one branch column draws, resolved.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Branch | Branch |
FName |
XenoCore › Skills | BlueprintReadOnly | No description. | |
| Display Name | DisplayName |
FText |
XenoCore › Skills | BlueprintReadOnly | No description. | |
| Trait Description | TraitDescription |
FText |
XenoCore › Skills | BlueprintReadOnly | No description. | |
| Trait Stat Text | TraitStatText |
FText |
XenoCore › Skills | BlueprintReadOnly | "Agility Up". | |
| Trait Value Text | TraitValueText |
FText |
XenoCore › Skills | BlueprintReadOnly | The trait's value now, formatted - "8", "10 %". | |
| Selected | bSelected |
bool |
XenoCore › Skills | BlueprintReadOnly | false |
No description. |
| Complete | bComplete |
bool |
XenoCore › Skills | BlueprintReadOnly | false |
No description. |
| Skills Learnt | SkillsLearnt |
int32 |
XenoCore › Skills | BlueprintReadOnly | 0 |
No description. |
| Skill Points Into Next | SkillPointsIntoNext |
int32 |
XenoCore › Skills | BlueprintReadOnly | 0 |
SP into the next skill, and what it costs. Both 0 when complete. |
| Next Cost | NextCost |
int32 |
XenoCore › Skills | BlueprintReadOnly | 0 |
No description. |
| Skills | Skills |
TArray<FXenoCoreSkillView> |
XenoCore › Skills | BlueprintReadOnly | No description. |
FXenoCoreSkillCostCurveRow¶
Struct · derives from FTableRowBase · header XenoCoreRuntime/Public/Skills/XenoCoreSkillTypes.h · BlueprintType
SP to learn each of a branch's five skills. XC1: Starting 300/700/1000/2000/3500, Quest 200/500/800/1000/1500.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Costs | Costs |
TArray<int32> |
Skills | EditAnywhere, BlueprintReadOnly | SP for each skill, top to bottom. Entry 0 is the first skill. |
FXenoCoreSkillEntry¶
Struct · header XenoCoreRuntime/Public/Skills/XenoCoreSkillTypes.h · BlueprintType
One skill. It does its work in up to three ways, each optional, all driven by one Value: - Stats - always on while it reaches the body (Equipment Master: Weight -5). - Bonus - a percentage another system asks for (Healing Wisdom: healing +15 %). - Ability - behaviour, a UXenoCoreGameplayAbility_Skill child (Underdog: a buff at battle start). The skill counterpart of an art: data pointing at behaviour, and most skills need no behaviour.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Display Name | DisplayName |
FText |
Skill | EditAnywhere, BlueprintReadOnly | The skill's name in the Skills menu and the "Skill Learnt" popup. | |
| Description | Description |
FText |
Skill | EditAnywhere, BlueprintReadOnly | May contain {Value}, filled from Value - "Reduces equipment weight by {Value}." | |
| Shape | Shape |
EXenoCoreSkillShape |
Skill | EditAnywhere, BlueprintReadOnly | EXenoCoreSkillShape::Circle |
The frame the skill's icon is drawn in. |
| Timing | Timing |
EXenoCoreSkillTiming |
Skill | EditAnywhere, BlueprintReadOnly | EXenoCoreSkillTiming::Always |
Always applies, or only while the owner is in the battle party (the icon's colour). |
| Scope | Scope |
EXenoCoreSkillScope |
Skill | EditAnywhere, BlueprintReadOnly | EXenoCoreSkillScope::Self |
Who the skill reaches: its owner, the battle party, or the whole party (the icon's glyph). |
| Value | Value |
float |
Skill › Effect | EditAnywhere, BlueprintReadOnly | 0.0 |
XC1's "Effect Value" - what Stats add, what a Bonus is worth, what an Ability reads. |
| Duration | Duration |
float |
Skill › Effect | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 0.0 |
Seconds, for a timed skill (XC1's "time" column) - read by its Ability. 0 for none. |
| Stats | Stats |
TArray<FXenoCoreSkillStatMod> |
Skill › Effect | EditAnywhere, BlueprintReadOnly | Stats raised by Value while the skill reaches the body. Resilient Warrior raises two. | |
| Condition | Condition |
EXenoCoreSkillCondition |
Skill › Effect | EditAnywhere, BlueprintReadOnly | EXenoCoreSkillCondition::Always |
When the Stats hold. Always for most skills; re-checked as HP and armour change. |
| Condition Threshold | ConditionThreshold |
float |
Skill › Effect | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, ClampMax=100.0, EditCondition=Condition == EXenoCoreSkillCondition::HealthAtOrBelow || Condition == EXenoCoreSkillCondition::HealthAtOrAbove |
50.0 |
Percent of max HP, for the two health conditions. |
| Chance | Chance |
float |
Skill › Effect | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, ClampMax=100.0 | 100.0 |
Percent chance an Ability's trigger actually fires - XC1's "75% chance" (Hero's Valour). 100 = always. |
| Bonus | Bonus |
FGameplayTag |
Skill › Effect | EditAnywhere, BlueprintReadOnly, Categories=XenoCore.SkillBonus |
A percentage another system asks for - UXenoCoreProgressionComponent::GetSkillBonus. Quest EXP and healing ask today; a buyer's system asks with its own tag, and no skill code changes. |
|
| Ability | Ability |
TSubclassOf<UXenoCoreGameplayAbility_Skill> |
Skill › Effect | EditAnywhere, BlueprintReadOnly | Behaviour - granted to the body while the skill reaches it. A UXenoCoreGameplayAbility_Skill child. |
|
| SP Cost Override | SPCostOverride |
int32 |
Skill › Advanced | EditAnywhere, BlueprintReadOnly, ClampMin=-1 | -1 |
SP to learn this one skill. -1 (the default) uses the branch's cost curve; anything else replaces it. |
| Link Cost | LinkCost |
int32 |
Skill › Advanced | EditAnywhere, BlueprintReadOnly, ClampMin=0 | 0 |
Not implemented yet: the Affinity Coins another character pays to link this. Read by nothing. |
FXenoCoreSkillPointRewardRow¶
Struct · derives from FTableRowBase · header XenoCoreRuntime/Public/Skills/XenoCoreSkillTypes.h · BlueprintType
SP for one kill, by level difference (party level − enemy level, both ends inclusive).
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Min Level Diff | MinLevelDiff |
int32 |
Skills | EditAnywhere, BlueprintReadOnly | -2 |
Lowest level difference (party level - enemy level) in this band, inclusive. |
| Max Level Diff | MaxLevelDiff |
int32 |
Skills | EditAnywhere, BlueprintReadOnly | 2 |
Highest level difference (party level - enemy level) in this band, inclusive. |
| Skill Points | SkillPoints |
int32 |
Skills | EditAnywhere, BlueprintReadOnly, ClampMin=0 | 10 |
SP paid per kill in this band. |
FXenoCoreSkillStatMod¶
Struct · header XenoCoreRuntime/Public/Skills/XenoCoreSkillTypes.h · BlueprintType
One stat a skill raises, by the skill's Value.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Stat | Stat |
FGameplayTag |
Skill | EditAnywhere, BlueprintReadOnly, Categories=XenoCore.Stat |
A XenoCore.Stat.* tag - a channel of the progression component's SkillStatsEffect. |
|
| Operation | Operation |
EXenoCoreSkillOperation |
Skill | EditAnywhere, BlueprintReadOnly | EXenoCoreSkillOperation::Add |
Add points on top of the stat, or Scale it by a percentage of itself. |
FXenoCoreSkillTraitLadderRow¶
Struct · derives from FTableRowBase · header XenoCoreRuntime/Public/Skills/XenoCoreSkillTypes.h · BlueprintType
The trait's value at 0, 1 ... 5 skills learnt - six numbers. XC1 uses five shared ladders.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Values | Values |
TArray<float> |
Skills | EditAnywhere, BlueprintReadOnly | The trait's value with 0, 1 ... 5 skills of the branch learnt. |
FXenoCoreSkillView¶
Struct · header XenoCoreRuntime/Public/Skills/XenoCoreSkillTypes.h · BlueprintType
Everything one skill icon draws, resolved. The screen decides nothing.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Branch | Branch |
FName |
XenoCore › Skills | BlueprintReadOnly | No description. | |
| Index | Index |
int32 |
XenoCore › Skills | BlueprintReadOnly | 0 |
0..4, top to bottom. |
| Entry | Entry |
FXenoCoreSkillEntry |
XenoCore › Skills | BlueprintReadOnly | No description. | |
| Learnt | bLearnt |
bool |
XenoCore › Skills | BlueprintReadOnly | false |
No description. |
| Learning | bLearning |
bool |
XenoCore › Skills | BlueprintReadOnly | false |
The one being filled right now - the next skill of the selected branch. |
| Fill | Fill |
float |
XenoCore › Skills | BlueprintReadOnly | 0.0 |
0..1 - how full the icon is. 1 when learnt. |
| Cost | Cost |
int32 |
XenoCore › Skills | BlueprintReadOnly | 0 |
SP to learn it. 0 for a pre-learnt skill. |
| Description | Description |
FText |
XenoCore › Skills | BlueprintReadOnly | The description with {Value} filled in. | |
| Value Text | ValueText |
FText |
XenoCore › Skills | BlueprintReadOnly | "5", "10 %" - XC1's Effect Value, formatted. | |
| Stat Text | StatText |
FText |
XenoCore › Skills | BlueprintReadOnly | "Agility Up", "Weight Down" - empty for a skill with no stat. |
FXenoCoreSkillsProgress¶
Struct · header XenoCoreRuntime/Public/Skills/XenoCoreSkillTypes.h · BlueprintType
One character's whole tree progress. Lives on FXenoCoreMemberProgress.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Seeded | bSeeded |
bool |
XenoCore › Skills | BlueprintReadOnly | false |
False until the tree has been read once - seeding is lazy, like the arts'. |
| Selected Branch | SelectedBranch |
FName |
XenoCore › Skills | BlueprintReadOnly | The branch SP flows into. A row name of the character's tree. | |
| Branches | Branches |
TMap<FName, FXenoCoreBranchProgress> |
XenoCore › Skills | BlueprintReadOnly | Keyed by row name. |
UXenoCoreGameplayAbility_Skill¶
Class · derives from ULyraGameplayAbility · header XenoCoreRuntime/Public/Skills/XenoCoreGameplayAbility_Skill.h · abstract · Blueprintable
The base of every skill that does something - the skill counterpart of UXenoCoreGameplayAbility_Art.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Evaluate Interval | EvaluateInterval |
float |
XenoCore › Skills | EditDefaultsOnly, ClampMin=0.0 | 0.0 |
How often OnEvaluate runs. 0 = never - a child that reacts to events instead needs no poll. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Skill | Pure | FXenoCoreSkillEntry GetSkill() const |
The skill this ability was granted for. |
| Get Skill Value | Pure | float GetSkillValue() const |
XC1's "Effect Value" for this skill. |
| Get Skill Duration | Pure | float GetSkillDuration() const |
Seconds, for a timed skill - XC1's own "time" column. |
| Apply Buff To Self | Callable | void ApplyBuffToSelf(TSubclassOf<UGameplayEffect> Buff) |
Apply a status/buff to this body for GetSkillDuration() seconds, with GetSkillValue() as its magnitude - the art path's own SetByCallers (XenoCore.Status.Duration / .Magnitude). |
| On Evaluate | Event (overridable) | void OnEvaluate() |
Called every EvaluateInterval seconds while granted. |
UXenoCoreInvisibleButtonStyle¶
Class · derives from UCommonButtonStyle · header XenoCoreRuntime/Public/Skills/XenoCoreSkillCellBase.h
A button that draws nothing of its own - the cells paint their content, and a CommonButtonStyle left unset would draw Slate's default white box behind every icon.
UXenoCoreSkillAbility_TimedBuff¶
Class · derives from UXenoCoreGameplayAbility_Skill · header XenoCoreRuntime/Public/Skills/XenoCoreSkillAbility_TimedBuff.h · Blueprintable
"When this happens, give me that buff for the skill's Duration" - XC1's timed skills, as one class a designer configures rather than one class per skill.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Trigger | Trigger |
EXenoCoreSkillTrigger |
XenoCore › Skills | EditDefaultsOnly | EXenoCoreSkillTrigger::AllyIncapacitated |
The moment that fires the buff. |
| Buff | Buff |
TSubclassOf<UGameplayEffect> |
XenoCore › Skills | EditDefaultsOnly | What fires - a GE_XenoCore_Status_* buff. |
|
| Additional Buffs | AdditionalBuffs |
TArray<TSubclassOf<UGameplayEffect>> |
XenoCore › Skills | EditDefaultsOnly | Fired alongside Buff, with the same strength and duration - Showdown Stance's "All Stats Up". | |
| Level Gap | LevelGap |
int32 |
XenoCore › Skills | EditDefaultsOnly, ClampMin=1, UIMin=1, EditCondition=Trigger == EXenoCoreSkillTrigger::BattleStartVsHigherLevel |
3 |
How many levels above this character an engaged enemy must be. BattleStartVsHigherLevel only. |
| Battle Start Window | BattleStartWindow |
float |
XenoCore › Skills | EditDefaultsOnly, ClampMin=0.0, EditCondition=Trigger == EXenoCoreSkillTrigger::BattleStart || Trigger == EXenoCoreSkillTrigger::BattleStartVsHigherLevel |
1.5 |
How long after the battle starts an engaged enemy still counts as "starting a battle against" it - engagement can land a beat after the battle tag. |
UXenoCoreSkillBranchHeaderBase¶
Class · derives from UXenoCoreSkillCellBase · header XenoCoreRuntime/Public/Skills/XenoCoreSkillCellBase.h · Blueprintable
One branch's header plate. A button, because selecting a branch is pressing it.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Plate | Plate |
TObjectPtr<UBorder> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Name Text | NameText |
TObjectPtr<UTextBlock> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Progress Text | ProgressText |
TObjectPtr<UTextBlock> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | The selected branch's "SP 200 / 700". Hidden, never Collapsed, on the others - the headers stay one height. | |
| Plate Colour | PlateColour |
FLinearColor |
XenoCore › Skills | EditDefaultsOnly | FLinearColor(0.06, 0.07, 0.09, 0.92) |
The plate colours used only when the header has no button style - the bare native class. |
| Selected Plate Colour | SelectedPlateColour |
FLinearColor |
XenoCore › Skills | EditDefaultsOnly | FLinearColor(0.04, 0.13, 0.25, 0.85) |
The selected branch's plate when unstyled - the one SP flows into. ButtonStyle_XenoCore_Menu's blue. |
| Text Colour | TextColour |
FLinearColor |
XenoCore › Skills | EditDefaultsOnly | FLinearColor(1.0, 1.0, 1.0, 1.0) |
Colour of the branch name and progress text. |
| Plate Width | PlateWidth |
float |
XenoCore › Skills | EditDefaultsOnly, ClampMin=40.0 | 150.0 |
Width of the header plate. |
| Font | Font |
FSlateFontInfo |
XenoCore › Skills | EditDefaultsOnly | The header font. Empty keeps the engine default at FontSize. |
UXenoCoreSkillCellBase¶
Class · derives from UCommonButtonBase · header XenoCoreRuntime/Public/Skills/XenoCoreSkillCellBase.h · abstract · Blueprintable
One focusable cell on the Skills screen - a branch header or a skill icon.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Cursor Frame | CursorFrame |
TObjectPtr<UBorder> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | The cursor's frame - an outline over the cell. Clear unless the cursor is here. | |
| Arrow Left | ArrowLeft |
TObjectPtr<UTextBlock> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | The cursor's four arrows - left, right, up, down - just outside the frame. | |
| Arrow Right | ArrowRight |
TObjectPtr<UTextBlock> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Arrow Up | ArrowUp |
TObjectPtr<UTextBlock> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Arrow Down | ArrowDown |
TObjectPtr<UTextBlock> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Cursor Colour | CursorColour |
FLinearColor |
XenoCore › Skills › Cursor | EditDefaultsOnly | FLinearColor(1.0, 0.82, 0.22, 1.0) |
The cursor's colour. XC1's cursor is yellow. |
| Cursor Frame Width | CursorFrameWidth |
float |
XenoCore › Skills › Cursor | EditDefaultsOnly, ClampMin=0.0 | 3.0 |
Thickness of the cursor's frame. |
| Cursor Arrow Size | CursorArrowSize |
int32 |
XenoCore › Skills › Cursor | EditDefaultsOnly, ClampMin=4 | 16 |
The arrows' font size. |
| Cursor Arrow Gap | CursorArrowGap |
float |
XenoCore › Skills › Cursor | EditDefaultsOnly | 2.0 |
How far outside the frame the arrows sit. |
UXenoCoreSkillGrant¶
Class · derives from UObject · header XenoCoreRuntime/Public/Skills/XenoCoreGameplayAbility_Skill.h
What a skill ability was granted for - its entry, carried as the spec's source object so the ability can read its own Value and Duration. Owned by the progression component while granted.
UXenoCoreSkillIconBase¶
Class · derives from UXenoCoreSkillCellBase · header XenoCoreRuntime/Public/Skills/XenoCoreSkillCellBase.h · Blueprintable
One skill: shape x colour x glyph, filling bottom-up as SP arrives. XC1's own display.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Shape Fill | ShapeFill |
TObjectPtr<UProgressBar> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | The icon is a progress bar: the background is the shape in the unlearnt colour, the fill is the shape in the skill's colour, filled BottomToTop - so "learnt", "learning" and "not yet" are one widget and one number, and the fill clips rather than squashing the texture. | |
| Glyph Image | GlyphImage |
TObjectPtr<UImage> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Icon Size | IconSize |
float |
XenoCore › Skills | EditDefaultsOnly, ClampMin=8.0 | 64.0 |
Edge length of the icon. |
| Cursor Inset | CursorInset |
float |
XenoCore › Skills | EditDefaultsOnly, ClampMin=0.0 | 4.0 |
Space between the icon and the cursor frame around it. |
| Glyph Scale | GlyphScale |
float |
XenoCore › Skills | EditDefaultsOnly, ClampMin=0.1, ClampMax=1.0 | 0.5 |
The glyph's share of the icon. |
UXenoCoreSkillIconSet¶
Class · derives from UPrimaryDataAsset · header XenoCoreRuntime/Public/Skills/XenoCoreSkillIconSet.h · BlueprintType
How every skill icon is drawn - so no skill icon is ever painted.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Shape Textures | ShapeTextures |
TMap<EXenoCoreSkillShape, TObjectPtr<UTexture2D>> |
XenoCore › Skills | EditAnywhere, BlueprintReadOnly | A filled white mask per frame; the colour is applied as a tint. | |
| Glyph Textures | GlyphTextures |
TMap<EXenoCoreSkillScope, TObjectPtr<UTexture2D>> |
XenoCore › Skills | EditAnywhere, BlueprintReadOnly | White on transparent: one figure, three figures, "all". | |
| Always Colour | AlwaysColour |
FLinearColor |
XenoCore › Skills | EditAnywhere, BlueprintReadOnly | FLinearColor(0.2, 0.55, 0.95, 1.0) |
XC1's blue - the skill always applies. |
| In Battle Party Colour | InBattlePartyColour |
FLinearColor |
XenoCore › Skills | EditAnywhere, BlueprintReadOnly | FLinearColor(0.95, 0.5, 0.12, 1.0) |
XC1's orange - only while in the battle party. |
| Unlearnt Colour | UnlearntColour |
FLinearColor |
XenoCore › Skills | EditAnywhere, BlueprintReadOnly | FLinearColor(0.025, 0.028, 0.035, 1.0) |
An unlearnt skill is a dark silhouette of its shape (Wii tutorial). |
| Unlearnt Glyph Colour | UnlearntGlyphColour |
FLinearColor |
XenoCore › Skills | EditAnywhere, BlueprintReadOnly | FLinearColor(0.22, 0.24, 0.27, 1.0) |
The glyph on an unlearnt icon - dim, so the shape reads first. |
UXenoCoreSkillsUIStatics¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreRuntime/Public/Skills/XenoCoreSkillsUIStatics.h
Everything the Skills screen draws, resolved in one call per character - the GetPartyRowInfo contract: formatting, fill fractions and which icon is learning are decided here, so a widget only ever sets text and brushes.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Skill Branch Views | Callable | TArray<FXenoCoreSkillBranchView> GetSkillBranchViews(UXenoCorePartyMemberDefinition* Member) |
The character's unlocked branches, in table row order, each with its five skills. |
| Get Stat Label | Pure | FText GetStatLabel(FGameplayTag Stat, float Value) |
"Agility Up", "Weight Down" - a stat tag and the sign of its value, as XC1 labels them. |
| Format Skill Value | Pure | 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 | FText GetBranchRewardText(const FXenoCoreSkillBranchUnlock& Unlock) |
"Skill Branch: Reyn - Camaraderie" - a quest reward line, for the offer screen and the turn-in banner alike. |
| Open Skills Screen | Callable | void OpenSkillsScreen() |
Push the Skills screen onto the menu layer. |
XenoCoreRuntime / Targeting¶
FXenoCoreTargetChangedMessage¶
Struct · header XenoCoreRuntime/Public/Targeting/XenoCoreTargetModeAbility.h · BlueprintType
Broadcast on XenoCore.Targeting.Message.TargetChanged whenever the selection changes, including to null when the lock ends.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Seeker | Seeker |
TObjectPtr<AActor> |
XenoCore › Targeting | BlueprintReadOnly | nullptr |
The pawn doing the looking. |
| New Target | NewTarget |
TObjectPtr<AActor> |
XenoCore › Targeting | BlueprintReadOnly | nullptr |
What is now selected. Null when the lock ended. |
| Old Target | OldTarget |
TObjectPtr<AActor> |
XenoCore › Targeting | BlueprintReadOnly | nullptr |
What was selected before. Null on first acquire. |
UXenoCoreGameplayAbility_TargetMode¶
Class · derives from ULyraGameplayAbility · header XenoCoreRuntime/Public/Targeting/XenoCoreTargetModeAbility.h · abstract
The base for GA_XenoCore_TargetMode. It exists to hold the selected target and to be the only thing that writes it - everything else about the mode (input, indicator, the poll) is Blueprint in the child.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Current Target | CurrentTarget |
TObjectPtr<AActor> |
XenoCore › Targeting | BlueprintReadOnly, Transient | nullptr |
Transient on purpose. |
| Target Indicator Material | TargetIndicatorMaterial |
TObjectPtr<UMaterialInterface> |
XenoCore › Targeting | EditDefaultsOnly | The indicator drawn on the targeted enemy - XC1 marks the enemy itself, not the ground. | |
| Target Acquired Sound | TargetAcquiredSound |
TObjectPtr<USoundBase> |
XenoCore › Targeting | EditDefaultsOnly | Played each time a target is acquired or cycled to. Null is legal and silent. | |
| Target Indicator Size | TargetIndicatorSize |
float |
XenoCore › Targeting | EditDefaultsOnly, ClampMin=0.0, UIMin=0.0 | 250.0 |
Size of the quad in world units - not of the diamond, which is drawn inside it. |
| Strafe While Locked | bStrafeWhileLocked |
bool |
XenoCore › TargetMode | EditDefaultsOnly | true |
No description. |
| Strafe Max Range | StrafeMaxRange |
float |
XenoCore › TargetMode | EditDefaultsOnly, ClampMin=0.0 | 400.0 |
Beyond it the pawn returns to orient-to-movement and free-roam locomotion, even though the lock is still held. |
| Strafe Range Release Scale | StrafeRangeReleaseScale |
float |
XenoCore › TargetMode | EditDefaultsOnly, ClampMin=1.0 | 1.2 |
Hysteresis, so standing exactly on the boundary does not flip facing every frame. |
| Retreat Dot Threshold | RetreatDotThreshold |
float |
XenoCore › TargetMode | EditDefaultsOnly, ClampMin=-1.0, ClampMax=0.0 | -0.9 |
How directly the player must be moving away from the target before facing locks to it. |
| Strafe Stationary Speed | StrafeStationarySpeed |
float |
XenoCore › TargetMode | EditDefaultsOnly, ClampMin=0.0 | 20.0 |
Below this speed the player counts as standing still, and keeps facing the target. |
| Target Indicator Height Fraction | TargetIndicatorHeightFraction |
float |
XenoCore › Targeting | EditDefaultsOnly | 0.35 |
Height above the target's origin, as a fraction of its capsule half-height. |
| Lock Acquire Range | LockAcquireRange |
float |
XenoCore › Targeting › Range | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.0, Units=cm | 3000.0 |
No description. |
| Lock Keep Range | LockKeepRange |
float |
XenoCore › Targeting › Range | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.0, Units=cm | 3000.0 |
Must be at least Lock Acquire Range; set it higher so a target at the edge is not dropped the moment it steps back. |
| Target Indicator Screen Space Size | bTargetIndicatorScreenSpaceSize |
bool |
XenoCore › Targeting | EditDefaultsOnly | false |
Keep the indicator the same size on screen regardless of distance. |
| Offscreen Arrow Material | OffscreenArrowMaterial |
TObjectPtr<UMaterialInterface> |
XenoCore › Targeting | EditDefaultsOnly | The arrows drawn at the screen edge when the target is off screen, pointing back at it. | |
| Arrow Screen Edge Inset | ArrowScreenEdgeInset |
float |
XenoCore › Targeting | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0, UIMin=0.0, UIMax=1.0 | 0.88 |
How far in from the viewport edge the arrows sit, as a fraction of half-width/height. |
| Arrow Camera Distance | ArrowCameraDistance |
float |
XenoCore › Targeting | EditDefaultsOnly, ClampMin=1.0, UIMin=1.0 | 200.0 |
Distance in front of the camera to place the arrows. Size is scaled with it. |
| Arrow Screen Size Fraction | ArrowScreenSizeFraction |
float |
XenoCore › Targeting | EditDefaultsOnly, ClampMin=0.0, UIMin=0.0 | 0.16 |
Apparent size, as a fraction of ArrowCameraDistance. |
| Invert Arrow Direction | bInvertArrowDirection |
bool |
XenoCore › Targeting | EditDefaultsOnly | false |
Flips which way the chevrons point, if the plane's UVs run the other way. |
| Offscreen Arrow Mesh | OffscreenArrowMesh |
TObjectPtr<UStaticMesh> |
XenoCore › Targeting | EditDefaultsOnly | Plane the arrows are drawn on. Engine unit plane unless overridden. | |
| Target Plate Class | TargetPlateClass |
TSubclassOf<UXenoCoreTargetPlateBase> |
XenoCore › Targeting | EditDefaultsOnly | The top-centre badge naming the target. Owned here for the same reason the diamond and the arrows are: it is part of the lock, so its lifetime is the lock's lifetime and it cannot be left on screen by a path that forgot to clear it. | |
| Player Plate Class | PlayerPlateClass |
TSubclassOf<UXenoCorePlayerPlateBase> |
XenoCore › Targeting | EditDefaultsOnly | The upper-left player readout. | |
| Arts Palette Class | ArtsPaletteClass |
TSubclassOf<UXenoCoreArtsPaletteBase> |
XenoCore › Targeting | EditDefaultsOnly | The arts palette. Same lifetime as the badge and the player plate. | |
| Approach Timeout | ApproachTimeout |
float |
XenoCore › Targeting › Approach | EditDefaultsOnly, ClampMin=0.1 | 4.0 |
Give up running in after this long - an unreachable target must not hold the input forever. |
| Approach Arrive Margin | ApproachArriveMargin |
float |
XenoCore › Targeting › Approach | EditDefaultsOnly, ClampMin=0.0 | 60.0 |
Stop this far inside the art's Distance before striking, so the target stepping back during the windup still leaves it within reach plus the contact tolerance. |
| Approach Stick Cancel | ApproachStickCancel |
float |
XenoCore › Targeting › Approach | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0 | 0.35 |
Pushing the stick past this during a run hands control back: the run ends and nothing is cast - no cooldown, no gauge. |
| Approach Move Action | ApproachMoveAction |
TSoftObjectPtr<class UInputAction> |
XenoCore › Targeting › Approach | EditDefaultsOnly | The move action whose value is read to tell the player's stick from the run's own steering. | |
| Camera Focus Duration | CameraFocusDuration |
float |
XenoCore › TargetMode | EditDefaultsOnly, ClampMin=0.0 | 0.3 |
Seconds the focus takes. Zero disables it entirely. |
| Strafe Evaluate Interval | StrafeEvaluateInterval |
float |
XenoCore › TargetMode | EditDefaultsOnly, ClampMin=0.01 | 0.05 |
Poll interval. Facing interpolates at RotationRate, so this need not be per-frame. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Current Target | Pure | AActor* GetCurrentTarget() const |
No description. |
| Set Current Target | Callable | void SetCurrentTarget(AActor* NewTarget) |
The only writer. |
| Set AI Target | Callable | void SetAITarget(AActor* NewTarget) |
The target an AI-driven body is fighting, so its arts and auto-attack resolve exactly as the player's do. |
| Get Lock Acquire Range | Pure | float GetLockAcquireRange() const |
No description. |
| Get Lock Keep Range | Pure | float GetLockKeepRange() const |
Never less than the acquire range. |
| Cycle Palette | Callable | void CyclePalette(int32 Delta) |
Move the palette selection. |
| Cycle Palette Horizontal | Callable | void CyclePaletteHorizontal(int32 Delta) |
D-pad left/right along the arts row. -1 left, +1 right. |
| Confirm Palette | Callable | void ConfirmPalette() |
Perform the entry currently selected. |
| Get Current Ally | Pure | AActor* GetCurrentAlly() const |
The party member an ally-targeted art is aimed at, or null when not choosing one. |
| Set AI Ally | Callable | void SetAIAlly(AActor* NewAlly) |
The ally an AI-driven body's next ally art lands on. |
| Is Choosing Ally | Pure | bool IsChoosingAlly() const |
True while the player is choosing an ally for an ally-targeted art. |
| Get Party Members | Pure | TArray<AActor*> GetPartyMembers() const |
Every active party member, in slot order - the order the ally selector cycles through. |
UXenoCoreOffscreenArrowComponent¶
Class · derives from UStaticMeshComponent · header XenoCoreRuntime/Public/Targeting/XenoCoreOffscreenArrowComponent.h
The arrows XC1 draws at the edge of the screen when the target leaves it, pointing back at it.
UXenoCoreTargetingStatics¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreRuntime/Public/Targeting/XenoCoreTargetingStatics.h
Target selection for XC1's combat lock.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Current Target | Pure | AActor* GetCurrentTarget(const AActor* Seeker) |
No description. |
| Get Current Ally | Pure | AActor* GetCurrentAlly() |
The party member an ally-targeted art is currently aimed at, or null when not choosing one. |
| Get Party Members | Pure | TArray<AActor*> GetPartyMembers() |
Everyone an ally-targeted art may be aimed at, in selector order. |
| Get Target Mode Ability | Pure | UXenoCoreGameplayAbility_TargetMode* GetTargetModeAbility(const AActor* Seeker) |
The live target-mode ability on Seeker, or null when the mode is not running. |
| Gather Candidates | Callable | 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. |
| Find Best Target | Callable | 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. |
| Sort For Cycling | Callable | 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 From | Callable | AActor* StepTargetFrom(AActor* Seeker, AActor* Current, bool bForward, float MaxRange, bool bRequireLineOfSight, bool bRequireOnScreen = true) |
No description. |
| Step Target | Pure | AActor* StepTarget(const TArray<AActor*>& SortedCandidates, AActor* Current, bool bForward) |
The next or previous entry after Current, wrapping at both ends. |
| Is On Screen | Pure | bool IsOnScreen(const AActor* Seeker, const AActor* Candidate) |
Is Candidate currently within the viewport? |
| Is Target Still Valid | Pure | 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. |
XenoCoreRuntime / Trade¶
EXenoCoreTradeStage¶
Enum · header XenoCoreRuntime/Public/Trade/XenoCoreTradeScreenBase.h · BlueprintType
Which half of the bargain the player is currently choosing.
| Value | Shown as | Description |
|---|---|---|
ChoosingWanted |
Choosing Wanted | Picking from the NPC's list - what you want. |
ChoosingOffer |
Choosing Offer | Picking from your own bag - what you give. |
Confirming |
Confirming | Both halves chosen; A commits, B steps back. |
FXenoCoreOvertradeBonus¶
Struct · header XenoCoreRuntime/Public/Trade/XenoCoreTradeTable.h · BlueprintType
The extra item an NPC throws in when the player overpays.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Item | Item |
TSoftClassPtr<ULyraInventoryItemDefinition> |
XenoCore › Trade | EditAnywhere, BlueprintReadOnly | The item handed over as a bonus. Leave empty for an NPC who never gives one. | |
| Value Override | ValueOverride |
int32 |
XenoCore › Trade | EditAnywhere, BlueprintReadOnly, ClampMin=0 | 0 |
How much extra the player must offer, on top of an item's price, to be given the bonus - or 0 to use the bonus item's own trade value. |
| Resolved Value | PreviewValue |
int32 |
XenoCore › Trade | VisibleAnywhere, Transient | 0 |
Read-only: the value added to every row's price, once 0 is resolved. |
FXenoCoreTradeBagEntry¶
Struct · header XenoCoreRuntime/Public/Trade/XenoCoreTradeScreenBase.h
One line of the player's side: a definition, how many are held, and what one is worth.
FXenoCoreTradeOffer¶
Struct · header XenoCoreRuntime/Public/Trade/XenoCoreTradeTable.h · BlueprintType
One thing an NPC will part with.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Item | Item |
TSoftClassPtr<ULyraInventoryItemDefinition> |
XenoCore › Trade | EditAnywhere, BlueprintReadOnly | What the NPC hands over. | |
| Price Override | PriceOverride |
int32 |
XenoCore › Trade | EditAnywhere, BlueprintReadOnly, ClampMin=0 | 0 |
What they want for it, or 0 to use the item's own trade value. |
| Resolved Price | PreviewPrice |
int32 |
XenoCore › Trade | VisibleAnywhere, Transient | 0 |
Read-only: what this row actually costs, once 0 has been resolved to the item's own value. |
| Overtrade At | PreviewOvertradeAt |
int32 |
XenoCore › Trade | VisibleAnywhere, Transient | 0 |
Read-only: what the player must offer for this row to also earn the table's bonus. 0 when the table has no bonus. |
FXenoCoreTradeRowInfo¶
Struct · header XenoCoreRuntime/Public/Trade/XenoCoreTradeRowBase.h · BlueprintType
Everything one trade row draws, decided in C++ and handed over in one piece.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Index | Index |
int32 |
XenoCore › Trade | BlueprintReadOnly | INDEX_NONE |
Which entry this row stands for - an index into the offer table, or into the bag list. |
| Item Def | ItemDef |
TSubclassOf<ULyraInventoryItemDefinition> |
XenoCore › Trade | BlueprintReadOnly | What to draw the icon from. | |
| Name | Name |
FText |
XenoCore › Trade | BlueprintReadOnly | No description. | |
| Quantity | Quantity |
FText |
XenoCore › Trade | BlueprintReadOnly | "x9" on your side of the table, empty on theirs. | |
| Value | Value |
FText |
XenoCore › Trade | BlueprintReadOnly | The price when this is something to buy, the trade value when it is something to offer. | |
| Affordable | bAffordable |
bool |
XenoCore › Trade | BlueprintReadOnly | true |
False when this row cannot be acted on - a price the bag cannot meet, or an item worth less than what is being traded for. |
| Overtrade | bOvertrade |
bool |
XenoCore › Trade | BlueprintReadOnly | false |
True when offering this would also clear the NPC's overtrade threshold. |
| Badge Text | BadgeText |
FText |
XenoCore › Trade | BlueprintReadOnly | A marker for the badge column other than overtrade - the shop's "E" on equipped gear. | |
| Holder Portrait | HolderPortrait |
TObjectPtr<UTexture2D> |
XenoCore › Trade | BlueprintReadOnly | Whoever is wearing the item this row stands for - the project's equipped-item badge (UXenoCorePartyUIStatics::GetItemHolderPortrait, drawn by W_XenoCore_ItemRow). Null draws none. |
|
| Wearer Portraits | WearerPortraits |
TArray<TObjectPtr<UTexture2D>> |
XenoCore › Trade | BlueprintReadOnly | Every party member wearing a copy of this item - for a row that stands for an item type (the Buy list), where "who has it on" can be several people. Drawn in the E column, overlapped. |
UXenoCoreOpenTrade¶
Class · derives from UBlueprintAsyncActionBase · header XenoCoreRuntime/Public/Trade/XenoCoreTradeNodes.h
"Open Trade" - puts the barter screen on screen and continues when the player is done.
Events you can bind
| Event | Type | Description |
|---|---|---|
Traded |
FXenoCoreTradePin |
At least one exchange happened. |
Cancelled |
FXenoCoreTradePin |
The player backed out, or the screen could not be shown. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Open Trade | Latent node factory | UXenoCoreOpenTrade* OpenTrade(UXenoCoreTradeTable* Table, AActor* Trader) |
Show the barter screen for one NPC's table and wait. |
UXenoCoreTradeRowBase¶
Class · derives from UCommonUserWidget · header XenoCoreRuntime/Public/Trade/XenoCoreTradeRowBase.h · abstract · Blueprintable
One line of either side of the trade table.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Row Button | RowButton |
TObjectPtr<UCommonButtonBase> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Icon Image | IconImage |
TObjectPtr<UImage> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Name Text | NameText |
TObjectPtr<UTextBlock> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Quantity Text | QuantityText |
TObjectPtr<UTextBlock> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Rarity Pips | RarityPips |
TObjectPtr<UPanelWidget> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | The item's rarity diamonds, beside NameText. Optional - a row without one shows colour only. | |
| Value Text | ValueText |
TObjectPtr<UTextBlock> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Portrait Badge | PortraitBadge |
TObjectPtr<UImage> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | The wearer's portrait - W_XenoCore_ItemRow's PortraitBadge, same name and same box. |
|
| Wearer Box | WearerBox |
TObjectPtr<UPanelWidget> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | Where WearerPortraits draw - overlaid on the E column. | |
| Wearer Size | WearerSize |
float |
XenoCore › Trade | EditDefaultsOnly, ClampMin=4.0 | 22.0 |
Size of each wearer face, in pixels. 22 + 2 x 13 = 48, the E column's width. |
| Wearer Step | WearerStep |
float |
XenoCore › Trade | EditDefaultsOnly, ClampMin=1.0 | 13.0 |
Horizontal step between overlapped wearer faces, in pixels. |
| Max Wearers | MaxWearers |
int32 |
XenoCore › Trade | EditDefaultsOnly, ClampMin=1 | 3 |
Faces beyond this are not drawn. Three faces fill the E column at the default sizes. |
| Overtrade Badge | OvertradeBadge |
TObjectPtr<UTextBlock> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | The "+ bonus" flash. Collapsed unless this offer would overtrade. | |
| Icon Size | IconSize |
float |
XenoCore › Trade | EditDefaultsOnly, ClampMin=4.0 | 32.0 |
Size of the item icon, in pixels. |
| Row Colour | RowColour |
FLinearColor |
XenoCore › Trade | EditDefaultsOnly | FLinearColor(1.0, 1.0, 1.0, 1.0) |
Normal - white, because that is what the collectables row draws. |
| Unaffordable Colour | UnaffordableColour |
FLinearColor |
XenoCore › Trade | EditDefaultsOnly | FLinearColor(1.0, 1.0, 1.0, 0.4) |
Out of reach - see FXenoCoreTradeRowInfo::bAffordable for why it dims rather than hides. |
| Overtrade Colour | OvertradeColour |
FLinearColor |
XenoCore › Trade | EditDefaultsOnly | FLinearColor(0.41, 0.75, 0.78, 1.0) |
The "+" badge only - not the row's text. |
| Badge Colour | BadgeColour |
FLinearColor |
XenoCore › Trade | EditDefaultsOnly | FLinearColor(0.55, 0.66, 0.8, 1.0) |
Any other badge - the shop's "E". Steel blue, the house label colour, which is what W_XenoCore_ItemRow's EquippedTag wears. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Index | Pure | int32 GetIndex() const |
The index this row stands for, or INDEX_NONE before SetRow. |
| Focus Row | Callable | void FocusRow() |
Focus this row's button, so the screen can put the cursor on a sensible first entry. |
| Get Focus Target | Pure | UCommonButtonBase* GetFocusTarget() const |
The button a screen should focus for this row. |
| On Row Set | Event (implement in Blueprint) | void K2_OnRowSet(const FXenoCoreTradeRowInfo& InInfo) |
Content-side hook, for a flourish the C++ has no business deciding. |
UXenoCoreTradeScreenBase¶
Class · derives from UXenoCoreMerchantScreenBase · header XenoCoreRuntime/Public/Trade/XenoCoreTradeScreenBase.h · abstract · Blueprintable
XC1's barter screen: what they'll give, what you'll give, and whether it clears.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Trader Text | TraderText |
TObjectPtr<UTextBlock> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | Who you are trading with - a subtitle, since the banner is the screen's name. | |
| Their Item Text | TheirItemText |
TObjectPtr<UTextBlock> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | What the NPC is handing over - the pane XC1 captions "Item Offered". | |
| Their Value Text | TheirValueText |
TObjectPtr<UTextBlock> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Their Icon | TheirIcon |
TObjectPtr<class UImage> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | Each pane's item icon. | |
| Your Icon | YourIcon |
TObjectPtr<class UImage> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Your Item Text | YourItemText |
TObjectPtr<UTextBlock> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | What the player parts with - the pane XC1 captions "Item to Trade". | |
| Your Value Text | YourValueText |
TObjectPtr<UTextBlock> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Prompt Text | PromptText |
TObjectPtr<UTextBlock> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Step Text | StepText |
TObjectPtr<UTextBlock> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | "Step 2 of 3". | |
| Left Card | LeftCard |
TObjectPtr<class UBorder> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | The two panes, so the active one can be lit and the settled one dimmed. | |
| Right Card | RightCard |
TObjectPtr<class UBorder> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | No description. | |
| List Scroll | ListScroll |
TObjectPtr<UWidget> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | Collapsed on the confirm step - there is nothing left to choose. | |
| Confirm Row | ConfirmRow |
TObjectPtr<UWidget> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | The confirm step's own controls. Collapsed on the two choosing steps. | |
| Confirm Button | ConfirmButton |
TObjectPtr<class UCommonButtonBase> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Cancel Button | CancelButton |
TObjectPtr<class UCommonButtonBase> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Summary Text | SummaryText |
TObjectPtr<UTextBlock> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | The overtrade line on the confirm step, or the bare question when there is no bonus. | |
| Confirm Their Text | ConfirmTheirText |
TObjectPtr<UTextBlock> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | The confirm dialog's own two cards. | |
| Confirm Their Value | ConfirmTheirValue |
TObjectPtr<UTextBlock> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Confirm Your Text | ConfirmYourText |
TObjectPtr<UTextBlock> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Confirm Your Value | ConfirmYourValue |
TObjectPtr<UTextBlock> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Confirm Their Icon | ConfirmTheirIcon |
TObjectPtr<class UImage> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Confirm Your Icon | ConfirmYourIcon |
TObjectPtr<class UImage> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Confirm Their Portrait | ConfirmTheirPortrait |
TObjectPtr<class UImage> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | The faces either side of the exchange - the merchant beside what they offer, the party leader beside what you part with. | |
| Confirm Your Portrait | ConfirmYourPortrait |
TObjectPtr<class UImage> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Complete Heading | CompleteHeading |
FText |
XenoCore › Trade › Completion | EditDefaultsOnly, BlueprintReadOnly | The banner's heading when a trade completes. Shown over the merchant's name. | |
| Celebrate On Trade | bCelebrateOnTrade |
bool |
XenoCore › Trade › Completion | EditDefaultsOnly, BlueprintReadOnly | false |
Whether a completed trade gets the quest banner's confetti and fanfare. |
| Overtrade Hint Row | OvertradeHintRow |
TObjectPtr<UWidget> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | Shown only while an overtrade is actually reachable - see BuildOfferRows. | |
| Overtrade Hint Text | OvertradeHintText |
TObjectPtr<UTextBlock> |
XenoCore › Trade | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Settled Pane Opacity | SettledPaneOpacity |
float |
XenoCore › Trade | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0 | 0.45 |
How far the pane that is not being chosen fades back. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Show Trade | Callable | void ShowTrade(UXenoCoreTradeTable* InTable, AActor* InTrader) |
Opens the screen against one NPC's table. |
| On Traded | Event (implement in Blueprint) | void K2_OnTraded(const UXenoCoreTradeTable* InTable, bool bWasOvertrade) |
Content-side hook, for a sting when a trade lands. |
UXenoCoreTradeStatics¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreRuntime/Public/Trade/XenoCoreTradeStatics.h
The one thing that knows what an item is worth in a barter, and the one thing that decides whether the player may put it on the table.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Trade Value For Def | Pure | int32 GetTradeValueForDef(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
What one of these is worth on the trade table. |
| Get Trade Value | Pure | int32 GetTradeValue(ULyraInventoryItemInstance* Item) |
The same number for something actually in the bag. |
| Can Offer Item | Pure | bool CanOfferItem(ULyraInventoryItemInstance* Item) |
May the player put this on the table? |
| Can Offer Def | Pure | bool CanOfferDef(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
Definition-side twin of CanOfferItem, for pricing a row before anything is picked. |
| Get Category For Def | Pure | EXenoCoreItemCategory GetCategoryForDef(TSubclassOf<ULyraInventoryItemDefinition> ItemDef) |
Which tab an item belongs under. |
| Get Offer Value Multiplier | Pure | float GetOfferValueMultiplier() |
How much the party's skills inflate what they hand over. |
| Get Effective Offer Value | Pure | int32 GetEffectiveOfferValue(ULyraInventoryItemInstance* Item) |
What the NPC reckons the offered item is worth, skills included. |
UXenoCoreTradeTable¶
Class · derives from UPrimaryDataAsset · header XenoCoreRuntime/Public/Trade/XenoCoreTradeTable.h · BlueprintType
Everything one NPC will trade, and the bonus they hand over when you overpay.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Offers | Offers |
TArray<FXenoCoreTradeOffer> |
XenoCore › Trade › Offers | EditAnywhere, BlueprintReadOnly | Everything on offer, drawn in this order. | |
| Overtrade Bonus | OvertradeBonus |
FXenoCoreOvertradeBonus |
XenoCore › Trade › Overtrade Bonus | EditAnywhere, BlueprintReadOnly | The extra item handed over when the player overpays, and one per NPC rather than one per row. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Price | Pure | int32 GetPrice(int32 Index) const |
What row Index actually costs - the override when there is one, the item's trade value otherwise. |
| Get Overtrade Threshold | Pure | int32 GetOvertradeThreshold(int32 Index) const |
What the player must offer to get row Index and the bonus item. |
| Has Overtrade | Pure | bool HasOvertrade() const |
True when this NPC has a bonus item to give at all. |
| Get Offer | Pure | bool GetOffer(int32 Index, FXenoCoreTradeOffer& OutOffer) const |
Bounds-checked accessor, so callers do not each repeat the range test. |
XenoCoreRuntime / Tutorial¶
FXenoCoreTutorialCardStyle¶
Struct · header XenoCoreRuntime/Public/Tutorial/XenoCoreTutorialCardBase.h · BlueprintType
The fonts and colours a tutorial card's body is drawn with.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Title Font | TitleFont |
FSlateFontInfo |
Tutorial | EditAnywhere, BlueprintReadWrite | Font for the card's heading. | |
| Body Font | BodyFont |
FSlateFontInfo |
Tutorial | EditAnywhere, BlueprintReadWrite | Font for the card's explanation text. | |
| Prompt Font | PromptFont |
FSlateFontInfo |
Tutorial | EditAnywhere, BlueprintReadWrite | Font for the button-prompt labels under the text. | |
| Title Colour | TitleColour |
FLinearColor |
Tutorial | EditAnywhere, BlueprintReadWrite | FLinearColor(0.95, 0.97, 1.0, 1.0) |
Colour of the card's heading and the button-prompt labels. |
| Body Colour | BodyColour |
FLinearColor |
Tutorial | EditAnywhere, BlueprintReadWrite | FLinearColor(0.78, 0.84, 0.92, 1.0) |
Colour of the explanation text. |
| Wrap Width | WrapWidth |
float |
Tutorial | EditAnywhere, BlueprintReadWrite, ClampMin=200.0 | 640.0 |
Width the body text wraps at, in slate units. |
| Image Height | ImageHeight |
float |
Tutorial | EditAnywhere, BlueprintReadWrite, ClampMin=0.0 | 220.0 |
Height of the optional picture; its width follows the texture's aspect. |
FXenoCoreTutorialPrompt¶
Struct · header XenoCoreRuntime/Public/Tutorial/XenoCoreTutorialTypes.h · BlueprintType
One button prompt on a tutorial card: the glyph and what pressing it does.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Actions | Actions |
TArray<FDataTableRowHandle> |
Tutorial | EditAnywhere, BlueprintReadWrite | The buttons to draw, side by side - rows of an action table (DT_XenoCore_Actions). Usually one; two for a pair like left / right. |
|
| Label | Label |
FText |
Tutorial | EditAnywhere, BlueprintReadWrite | What it does, beside the glyph ("Lock on / next target"). |
FXenoCoreTutorialRow¶
Struct · derives from FTableRowBase · header XenoCoreRuntime/Public/Tutorial/XenoCoreTutorialTypes.h · BlueprintType
One tutorial card: what it says, the buttons it shows, and what makes it appear.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Title | Title |
FText |
Tutorial | EditAnywhere, BlueprintReadWrite | The card's heading. | |
| Body | Body |
FText |
Tutorial | EditAnywhere, BlueprintReadWrite | The explanation. Wraps; keep it to two or three short sentences. | |
| Image | Image |
TSoftObjectPtr<UTexture2D> |
Tutorial | EditAnywhere, BlueprintReadWrite | An optional picture above the text. | |
| Prompts | Prompts |
TArray<FXenoCoreTutorialPrompt> |
Tutorial | EditAnywhere, BlueprintReadWrite | The buttons this card teaches, drawn as glyphs under the text. | |
| Triggers | Triggers |
FGameplayTagContainer |
Tutorial | EditAnywhere, BlueprintReadWrite | The card shows the first time any of these happens. |
UXenoCoreTutorialCardBase¶
Class · derives from UCommonActivatableWidget · header XenoCoreRuntime/Public/Tutorial/XenoCoreTutorialCardBase.h · Blueprintable
A popup showing one or more tutorial cards, paged with A and skipped with B.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Header Text | HeaderText |
FText |
Tutorial › Text | EditDefaultsOnly, BlueprintReadOnly | The small heading over every card. | |
| Page Format | PageFormat |
FText |
Tutorial › Text | EditDefaultsOnly, BlueprintReadOnly | "{Page} / {Count}" - drawn only when the sequence has more than one card. | |
| Next Text | NextText |
FText |
Tutorial › Text | EditDefaultsOnly, BlueprintReadOnly | The label beside the A glyph while more cards follow. | |
| Close Text | CloseText |
FText |
Tutorial › Text | EditDefaultsOnly, BlueprintReadOnly | The label beside the A glyph on the last card. | |
| Skip Text | SkipText |
FText |
Tutorial › Text | EditDefaultsOnly, BlueprintReadOnly | The label beside the B glyph. | |
| Card Style | CardStyle |
FXenoCoreTutorialCardStyle |
Tutorial › Look | EditDefaultsOnly, BlueprintReadOnly | Fonts and colours of the card's contents. | |
| Scrim Colour | ScrimColour |
FLinearColor |
Tutorial › Look | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.0, 0.0, 0.0, 0.5) |
The tint drawn over the world behind the card. |
| Panel Colour | PanelColour |
FLinearColor |
Tutorial › Look | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.03, 0.04, 0.07, 0.96) |
The card panel's background. |
| Accent Colour | AccentColour |
FLinearColor |
Tutorial › Look | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.45, 0.7, 1.0, 1.0) |
Colour of the card's border, header text and divider line. |
| Next Action | NextAction |
FDataTableRowHandle |
Tutorial › Look | EditDefaultsOnly, BlueprintReadOnly | The A glyph in the footer - a DT_XenoCore_Actions row. |
|
| Skip Action | SkipAction |
FDataTableRowHandle |
Tutorial › Look | EditDefaultsOnly, BlueprintReadOnly | The B glyph in the footer - a DT_XenoCore_Actions row. |
|
| Body Box | BodyBox |
TObjectPtr<UPanelWidget> |
Tutorial | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Page Text | PageText |
TObjectPtr<UTextBlock> |
Tutorial | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Next Label | NextLabel |
TObjectPtr<UTextBlock> |
Tutorial | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Skip Group | SkipGroup |
TObjectPtr<UWidget> |
Tutorial | BlueprintReadOnly, BindWidgetOptional | Collapsed on a single card - there is nothing to skip. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Show Cards | Callable | void ShowCards(const TArray<FName>& RowNames) |
Starts a sequence of cards (row names of the tutorial table) at the first one. |
| Next | Callable | void Next() |
The next card, or close after the last. |
| Skip | Callable | void Skip() |
Closes the sequence; the unread cards count as seen. |
| Get Page Index | Pure | int32 GetPageIndex() const |
The card being shown, counting from 0. |
| Get Page Count | Pure | int32 GetPageCount() const |
How many cards this sequence holds. |
| Get Current Row | Pure | FName GetCurrentRow() const |
The tutorial table row of the card being shown, or None. |
| On Page Shown | Event (implement in Blueprint) | void K2_OnPageShown(FName RowName, int32 PageIndex, int32 PageCount) |
Fires each time a page is drawn, after the native contents are built. |
UXenoCoreTutorialLogBase¶
Class · derives from UCommonActivatableWidget · header XenoCoreRuntime/Public/Tutorial/XenoCoreTutorialLogBase.h · Blueprintable
The Tutorials menu: the tips on/off switch and the cards seen so far.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Title Text | TitleText |
FText |
Tutorial Log › Text | EditDefaultsOnly, BlueprintReadOnly | The screen's heading. | |
| Tips Label | TipsLabel |
FText |
Tutorial Log › Text | EditDefaultsOnly, BlueprintReadOnly | The label on the Tips on/off row. | |
| On Text | OnText |
FText |
Tutorial Log › Text | EditDefaultsOnly, BlueprintReadOnly | The Tips row's value while tips are on. | |
| Off Text | OffText |
FText |
Tutorial Log › Text | EditDefaultsOnly, BlueprintReadOnly | The Tips row's value while tips are off. | |
| Tips Description | TipsDescription |
FText |
Tutorial Log › Text | EditDefaultsOnly, BlueprintReadOnly | Under the Tips row, describing what the switch does. | |
| Empty Text | EmptyText |
FText |
Tutorial Log › Text | EditDefaultsOnly, BlueprintReadOnly | Shown in the list when no card has been met yet. | |
| Card Style | CardStyle |
FXenoCoreTutorialCardStyle |
Tutorial Log › Look | EditDefaultsOnly, BlueprintReadOnly | How the highlighted card is drawn in the preview pane. | |
| Row Font | RowFont |
FSlateFontInfo |
Tutorial Log › Look | EditDefaultsOnly, BlueprintReadOnly | Font for the list rows. | |
| Heading Font | HeadingFont |
FSlateFontInfo |
Tutorial Log › Look | EditDefaultsOnly, BlueprintReadOnly | Font for the screen heading. | |
| Scrim Colour | ScrimColour |
FLinearColor |
Tutorial Log › Look | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.0, 0.0, 0.0, 0.55) |
The tint drawn over the world behind the screen. |
| Panel Colour | PanelColour |
FLinearColor |
Tutorial Log › Look | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.03, 0.04, 0.07, 0.94) |
The background of the screen's panel. |
| Row Colour | RowColour |
FLinearColor |
Tutorial Log › Look | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.08, 0.1, 0.15, 0.85) |
The background of a list row that is not highlighted. |
| Selected Row Colour | SelectedRowColour |
FLinearColor |
Tutorial Log › Look | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.2, 0.38, 0.66, 0.95) |
The background of the highlighted list row. |
| Text Colour | TextColour |
FLinearColor |
Tutorial Log › Look | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.92, 0.95, 1.0, 1.0) |
Main text colour. |
| Dim Text Colour | DimTextColour |
FLinearColor |
Tutorial Log › Look | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.62, 0.68, 0.78, 1.0) |
Secondary text colour: headings, the empty-list message and the Tips value while off. |
| Row Box | RowBox |
TObjectPtr<UVerticalBox> |
Tutorial Log | BlueprintReadOnly, BindWidgetOptional | The list column the rows are built into. | |
| Preview Box | PreviewBox |
TObjectPtr<UVerticalBox> |
Tutorial Log | BlueprintReadOnly, BindWidgetOptional | The pane the highlighted card is drawn into. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Set Selected Index | Callable | void SetSelectedIndex(int32 Index) |
Moves the highlight to a row: 0 is the Tips switch, 1.. are the seen cards. |
| Get Selected Index | Pure | int32 GetSelectedIndex() const |
The highlighted row: 0 is the Tips switch, 1.. are the seen cards. |
| Toggle Tips | Callable | void ToggleTips() |
Flips Tips on or off. |
UXenoCoreTutorialSubsystem¶
Class · derives from UGameInstanceSubsystem · header XenoCoreRuntime/Public/Tutorial/XenoCoreTutorialSubsystem.h
Shows tutorial cards the first time each one's trigger happens, and remembers which have been seen.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Trigger Tutorial | Callable | void TriggerTutorial(FGameplayTag Trigger) |
Happens: every unseen card with this trigger is shown, in table order, as soon as nothing else is on screen. |
| Show Tutorial | Callable | bool ShowTutorial(FName RowName) |
Shows one card by its row name, seen or not (the Tutorials menu, a scripted moment). |
| Are Tips Enabled | Pure | bool AreTipsEnabled() |
True when cards pop up as their triggers happen. |
| Set Tips Enabled | Callable | void SetTipsEnabled(bool bEnabled) |
Turns tutorial popups on or off for this player. |
| Is Seen | Pure | bool IsSeen(FName RowName) const |
True when this card has already been shown (or recorded as met) in the current save. |
| Get Seen Tutorials | Pure | TArray<FName> GetSeenTutorials() const |
The seen cards, in table order - what the Tutorials menu lists. |
| Mark Seen | Callable | void MarkSeen(FName RowName) |
Records a card as seen. |
| Reset Tutorials | Callable | void ResetTutorials() |
Forgets every seen card and empties the queue (New Game does this). |
XenoCoreRuntime / UI¶
AXenoCorePreviewStage¶
Class · derives from AActor · header XenoCoreRuntime/Public/UI/XenoCorePreviewStage.h · abstract · Blueprintable
A character shown in a menu, drawn on its own terms rather than the game's.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Min Preview Zoom | MinPreviewZoom |
float |
XenoCore › Preview › Zoom | EditDefaultsOnly, BlueprintReadWrite, ClampMin=0.1 | 1.0 |
Furthest out the stick can pull the camera; 1 = the authored framing. |
| Max Preview Zoom | MaxPreviewZoom |
float |
XenoCore › Preview › Zoom | EditDefaultsOnly, BlueprintReadWrite, ClampMin=1.0 | 2.5 |
Furthest in; 2.5 fills the frame with the upper body and the weapon. |
| Preview Zoom Focus Rise | PreviewZoomFocusRise |
float |
XenoCore › Preview › Zoom | EditDefaultsOnly, BlueprintReadWrite, Units=cm | 45.0 |
Camera rise in cm at Max Preview Zoom, so zooming in frames the chest and head, not the hips. |
| Preview Zoom Rate | PreviewZoomRate |
float |
XenoCore › Preview › Zoom | EditDefaultsOnly, BlueprintReadWrite, ClampMin=0.0 | 1.2 |
Zoom speed at full stick, in e-folds per second (1.2 = about 3.3x per second). |
| Preview Zoom Deadzone | PreviewZoomDeadzone |
float |
XenoCore › Preview › Zoom | EditDefaultsOnly, BlueprintReadWrite, ClampMin=0.0, ClampMax=1.0 | 0.15 |
Stick deflection below this is ignored - matches the rotate branch's 0.15. |
| Capture Every Tick | bCaptureEveryTick |
bool |
XenoCore › Preview | EditDefaultsOnly, BlueprintReadWrite | true |
Drawn every tick while true. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Refresh Preview Ticking | Callable | void RefreshPreviewTicking() |
Re-apply the tick and pose rules to everything currently attached. |
| Set Preview Character | Callable | void SetPreviewCharacter(APawn* SourcePawn, UAnimationAsset* IdlePose) |
Put this character's body on the stage. |
| Handle Preview Zoom Input | Callable | bool HandlePreviewZoomInput(const FAnalogInputEvent& AnalogEvent) |
Right stick Y zooms the preview (up = in). |
| Add Preview Zoom | Callable | void AddPreviewZoom(float Delta) |
Multiply the preview zoom by exp(Delta), clamped to Min/Max Preview Zoom. |
EXenoCoreArtsScreenMode¶
Enum · header XenoCoreRuntime/Public/UI/XenoCoreArtsScreenBase.h · BlueprintType
XC1's two tabs on this screen, switched with ZL / ZR.
| Value | Shown as | Description |
|---|---|---|
Setting |
Setting | Arrange the palette. |
LevelUp |
Level Up | Spend AP on an art's level. |
EXenoCoreItemSort¶
Enum · header XenoCoreRuntime/Public/UI/XenoCoreItemSortControl.h · BlueprintType
How an item list is ordered.
| Value | Shown as | Description |
|---|---|---|
Default |
Default | The order the bag holds them in - oldest first. What every list drew before sorting existed. |
MostRecent |
Most Recent | Newest first. XC3's "Chronological". |
Name |
Name | A-Z by display name. |
Rarity |
Rarity | Rarest first, then A-Z. |
Value |
Value | Highest sell value first. |
Stat |
Stat | The slot's own number, highest first: max Attack for a weapon, Physical Def for armour. Value for anything else. |
EXenoCorePaletteState¶
Enum · header XenoCoreRuntime/Public/UI/XenoCoreArtsPaletteBase.h · BlueprintType
Which job the central slot is doing.
| Value | Shown as | Description |
|---|---|---|
PreBattle |
Pre Battle | Enemy selected, battle not started. Engage lives here. |
InBattle |
In Battle | Engaged. The Talent Art and its gauge live here. |
EXenoCoreStatBlockMode¶
Enum · header XenoCoreRuntime/Public/UI/XenoCoreStatBlockBase.h · BlueprintType
What a stat block is currently showing. Chosen by the last Show* call and kept until the next.
| Value | Shown as | Description |
|---|---|---|
Plain |
Plain | Whatever lines and header the caller hands over - the Party popups, the swap list, the Items menu. |
Character |
Character | One character's sheet: name, level, role, HP and EXP bars, stats grouped into sections. |
Item |
Item | One equipped item: name, slot, description, and what it grants. |
FXenoCoreArtDetailLine¶
Struct · header XenoCoreRuntime/Public/UI/XenoCoreArtsUIStatics.h · BlueprintType
One label / value line of the detail pane - "Target: Enemy", "Effect: Slow".
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Label | Label |
FText |
XenoCore › Arts | BlueprintReadOnly | No description. | |
| Value | Value |
FText |
XenoCore › Arts | BlueprintReadOnly | No description. |
FXenoCoreArtView¶
Struct · header XenoCoreRuntime/Public/UI/XenoCoreArtsUIStatics.h · BlueprintType
Everything one row of an Arts screen draws, already decided.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Art | Art |
TObjectPtr<UXenoCoreArtDefinition> |
XenoCore › Arts | BlueprintReadOnly | nullptr |
The art this row is about. Null on an empty palette slot - check bIsEmpty first. |
| Is Empty | bIsEmpty |
bool |
XenoCore › Arts | BlueprintReadOnly | true |
True when there is no art here - an empty slot on the palette. |
| Slot Index | SlotIndex |
int32 |
XenoCore › Arts | BlueprintReadOnly | INDEX_NONE |
Palette position for a loadout row; INDEX_NONE for a row in the pick list. |
| Slot Label | SlotLabel |
FText |
XenoCore › Arts | BlueprintReadOnly | No description. | |
| Display Name | DisplayName |
FText |
XenoCore › Arts | BlueprintReadOnly | The art's name, or the slot's name when the row is empty. Never blank. | |
| Description | Description |
FText |
XenoCore › Arts | BlueprintReadOnly | No description. | |
| Icon | Icon |
TObjectPtr<UTexture2D> |
XenoCore › Arts | BlueprintReadOnly | nullptr |
No description. |
| Glyph | Glyph |
TObjectPtr<UMaterialInterface> |
XenoCore › Arts | BlueprintReadOnly | nullptr |
The procedural glyph the battle palette draws, so a menu row matches the bar exactly. |
| Glyph Colour | GlyphColour |
FLinearColor |
XenoCore › Arts | BlueprintReadOnly | FLinearColor::White |
No description. |
| Category Label | CategoryLabel |
FText |
XenoCore › Arts | BlueprintReadOnly | "Physical", "Break", "Heal" - the art's category, spelled for a human. | |
| Category Colour | CategoryColour |
FLinearColor |
XenoCore › Arts | BlueprintReadOnly | FLinearColor::White |
XC1's own colour language: pink Break, green Topple, yellow Daze. |
| Summary Label | SummaryLabel |
FText |
XenoCore › Arts | BlueprintReadOnly | Heading for the one contextual column - "Cooldown". Mirrors FXenoCoreItemView::SummaryLabel. |
|
| Summary Value | SummaryValue |
FText |
XenoCore › Arts | BlueprintReadOnly | That column's value - "20.0s". Empty for a Talent Art, which has no cooldown at all. | |
| Equipped | bEquipped |
bool |
XenoCore › Arts | BlueprintReadOnly | false |
Already on the palette somewhere. |
| Equipped In Slot | EquippedInSlot |
int32 |
XenoCore › Arts | BlueprintReadOnly | INDEX_NONE |
Which slot it is equipped in, or INDEX_NONE. Lets a list row say "in slot 2". |
| Locked | bLocked |
bool |
XenoCore › Arts | BlueprintReadOnly | false |
This palette slot has not opened yet; UnlockLevel is the level that opens it. |
| Unlock Level | UnlockLevel |
int32 |
XenoCore › Arts | BlueprintReadOnly | 0 |
0 otherwise. |
| Is Talent | bIsTalent |
bool |
XenoCore › Arts | BlueprintReadOnly | false |
The centre cell - the weapon's Talent Art. Not assignable and not levelled, but drawn on the strip because the XC1 screen draws it there, between the two halves of the palette. |
| Art Level | ArtLevel |
int32 |
XenoCore › Arts | BlueprintReadOnly | 1 |
The art's level for this character, I..XII as 1..12. |
| Art Level Cap | ArtLevelCap |
int32 |
XenoCore › Arts | BlueprintReadOnly | 1 |
How far it can go right now - iv by default, raised by manuals. 1 on a Talent Art. |
| Level Up Cost | LevelUpCost |
int32 |
XenoCore › Arts | BlueprintReadOnly | -1 |
AP for the next level, or -1 when capped. |
| Attribute Label | AttributeLabel |
FText |
XenoCore › Arts | BlueprintReadOnly | XC1's "Attribute" - Physical or Ether, and its colour. | |
| Attribute Colour | AttributeColour |
FLinearColor |
XenoCore › Arts | BlueprintReadOnly | FLinearColor::White |
No description. |
| Detail Lines | DetailLines |
TArray<FXenoCoreArtDetailLine> |
XenoCore › Arts | BlueprintReadOnly | The rest of XC1's fixed field list - Target, Range, Distance, Damage, then one line per effect. Built from the definition, so a new field on an art shows here without widget work. |
FXenoCoreBattleNotification¶
Struct · header XenoCoreRuntime/Public/UI/XenoCoreBattleNotifySubsystem.h · BlueprintType
The payload on XenoCore.Battle.Message.Notification.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Target | Target |
TObjectPtr<AActor> |
XenoCore › Battle | BlueprintReadWrite | nullptr |
Whose head it appears over. |
| Text | Text |
FText |
XenoCore › Battle | BlueprintReadWrite | No description. | |
| Colour | Colour |
FLinearColor |
XenoCore › Battle | BlueprintReadWrite | FLinearColor::White |
XC1's own coding: pink Break, green Topple, yellow Daze - the same colours its arts use for the stage they inflict, so the popup and the art icon agree. |
| Scale | Scale |
float |
XenoCore › Battle | BlueprintReadWrite | 1.0 |
Draw size. Break / topple / daze are the big events at 1; a status line is smaller, so a burst of them does not bury the character it is describing. |
| Punch | Punch |
float |
XenoCore › Battle | BlueprintReadWrite | 1.0 |
The line arrives this many times bigger and snaps down to Scale over PopupPunchSeconds - the critical hit's slam. 1 = no punch, which is every other line. |
FXenoCoreMenuEntry¶
Struct · header XenoCoreRuntime/Public/UI/XenoCoreMenuEntry.h · BlueprintType
One entry in the in-game menu: what it says, and what pressing it opens or runs.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Id | Id |
FName |
Menu Entry | EditAnywhere, BlueprintReadWrite | A stable name for the entry. An entry set with the same Id replaces this one. | |
| Label | Label |
FText |
Menu Entry | EditAnywhere, BlueprintReadWrite | The button's text. | |
| Description | Description |
FText |
Menu Entry | EditAnywhere, BlueprintReadWrite | One line describing the entry, shown at the bottom of the main menu while it is highlighted. | |
| Icon | Icon |
TSoftObjectPtr<UTexture2D> |
Menu Entry | EditAnywhere, BlueprintReadWrite | An optional icon. Only a button that implements the Menu Button interface draws it. | |
| Screen | Screen |
TSoftClassPtr<UCommonActivatableWidget> |
Menu Entry | EditAnywhere, BlueprintReadWrite | The screen pushed when the entry is pressed. Ignored when Action is set. | |
| Layer | Layer |
FGameplayTag |
Menu Entry | EditAnywhere, BlueprintReadWrite, Categories=UI.Layer | The UI layer Screen is pushed onto. Empty means UI.Layer.Menu. | |
| Action | Action |
TSoftClassPtr<UXenoCoreMenuAction> |
Menu Entry | EditAnywhere, BlueprintReadWrite | Runs instead of pushing Screen - for entries that do something other than open a screen. | |
| Sort Order | SortOrder |
int32 |
Menu Entry | EditAnywhere, BlueprintReadWrite | 0 |
Lower sorts higher in the menu. The shipped entries are 100 apart, so new ones can go between. |
| Visible If | VisibleIf |
TSoftClassPtr<UXenoCoreMenuCondition> |
Menu Entry | EditAnywhere, BlueprintReadWrite | Shows the entry only while this condition says so. Empty means always shown. | |
| Starts Group | bStartsGroup |
bool |
Menu Entry | EditAnywhere, BlueprintReadWrite | false |
No description. |
| Hidden | bHidden |
bool |
Menu Entry | EditAnywhere, BlueprintReadWrite | false |
Leaves the entry out of the menu without deleting it. |
FXenoCorePaletteEntry¶
Struct · header XenoCoreRuntime/Public/UI/XenoCoreArtsPaletteBase.h · BlueprintType
One entry in the palette carousel. Gameplay keys off its ActionTag; the palette only reports the selection.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Icon | Icon |
TObjectPtr<UMaterialInterface> |
Entry | EditDefaultsOnly, BlueprintReadOnly | Drawn inside the ring. A material so it can be procedural or a texture sampler. | |
| Display Name | DisplayName |
FText |
Entry | EditDefaultsOnly, BlueprintReadOnly | The entry's name, shown in the label beside the palette. | |
| Description | Description |
FText |
Entry | EditDefaultsOnly, BlueprintReadOnly | The short line after the name - "Initiate battle", "Deals damage from behind". | |
| Glyph Colour | GlyphColour |
FLinearColor |
Entry | EditDefaultsOnly, BlueprintReadOnly | FLinearColor::White |
The glyph's colour when the art is available. Grey is the unavailable look. |
| Positional Requirement | PositionalRequirement |
EXenoCoreArtPositional |
Entry | EditDefaultsOnly, BlueprintReadOnly | EXenoCoreArtPositional::None |
None means no bonus. |
| Action Tag | ActionTag |
FGameplayTag |
Entry | EditDefaultsOnly, BlueprintReadOnly | Identifies the action. The target-mode ability turns this into an ability activation. | |
| Blocked | bBlocked |
bool |
Entry | EditDefaultsOnly, BlueprintReadOnly | false |
Hard-blocked: drawn with the red ring-and-slash mark rather than greyed out. |
| Requires Talent Ready | bRequiresTalentReady |
bool |
Entry | EditDefaultsOnly, BlueprintReadOnly | false |
Marks the talent art slot. Usable only while the gauge covers the Talent Art's GaugeCost. |
| Override Disc Colour | bOverrideDiscColour |
bool |
Entry | EditDefaultsOnly, BlueprintReadOnly | false |
No description. |
| Disc Colour | DiscColour |
FLinearColor |
Entry | EditDefaultsOnly, BlueprintReadOnly, EditCondition=bOverrideDiscColour | FLinearColor::White |
No description. |
| Ability Handle | AbilityHandle |
FGameplayAbilitySpecHandle |
Entry | BlueprintReadOnly, Transient | Art-row entries only - the centre slot's entries (Attack, Turn Strike, Lure, Flee) are authored data and dispatch by ActionTag, so this is invalid on those. | |
| Art Data | ArtData |
TObjectPtr<const UXenoCoreArtDefinition> |
Entry | BlueprintReadOnly, Transient | nullptr |
No description. |
| Is Empty Slot | bIsEmptySlot |
bool |
Entry | BlueprintReadOnly, Transient | false |
A palette position with no art in it. Drawn as a plain grey disc, and never selectable. |
| Is Locked Slot | bIsLockedSlot |
bool |
Entry | BlueprintReadOnly, Transient | false |
A position the character's level has not opened. Drawn darker than empty; also unselectable. |
FXenoCorePaletteSideSlot¶
Struct · header XenoCoreRuntime/Public/UI/XenoCoreArtsPaletteBase.h
One side position's layers. The first position on each side is the authored template set (SideDiscLeft, SideIconLeft...); every further one is stamped from it at runtime.
FXenoCorePartyRowInfo¶
Struct · header XenoCoreRuntime/Public/UI/XenoCorePartyUIStatics.h · BlueprintType
Everything one Party screen row draws, resolved in a single read.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Display Name | DisplayName |
FText |
XenoCore › Party | BlueprintReadOnly | What to call this character. Empty for an empty slot. | |
| Role | Role |
EXenoCoreRole |
XenoCore › Party | BlueprintReadOnly | EXenoCoreRole::None |
This character's battle role. Branch on this, never on the label below. |
| Role Label | RoleLabel |
FText |
XenoCore › Party | BlueprintReadOnly | The role as drawn - "Attacker", or empty for None so an unset member shows nothing. | |
| Portrait | Portrait |
TSoftObjectPtr<UTexture2D> |
XenoCore › Party | BlueprintReadOnly | Their face. Soft, so a full roster's portraits are not resident to draw a few rows. | |
| Menu Portrait | MenuPortrait |
TSoftObjectPtr<UTexture2D> |
XenoCore › Party | BlueprintReadOnly | Full-body portrait for the main menu's cards - the definition's Menu Portrait, else Portrait. | |
| Skill Branch Name | SkillBranchName |
FText |
XenoCore › Party | BlueprintReadOnly | The skill tree this character is developing ("Intuition"), as XC1's menu card shows it. Empty without a skill tree. | |
| Level | Level |
int32 |
XenoCore › Party | BlueprintReadOnly | 0 |
Current level. Real for a benched character too - that is the point of the progression map. |
| Experience | Experience |
float |
XenoCore › Party | BlueprintReadOnly | 0.0 |
EXP banked towards the next level. |
| Experience To Next Level | ExperienceToNextLevel |
float |
XenoCore › Party | BlueprintReadOnly | 0.0 |
What the next level costs. Zero at the cap. |
| Experience Fraction | ExperienceFraction |
float |
XenoCore › Party | BlueprintReadOnly | 0.0 |
0..1 for a bar. Zero at the cap rather than one. |
| In Roster | bInRoster |
bool |
XenoCore › Party | BlueprintReadOnly | false |
Recruited at all. False means this row is an empty slot. |
| Active | bActive |
bool |
XenoCore › Party | BlueprintReadOnly | false |
Currently deployed. False means benched, and everything below is unavailable. |
| Leader | bLeader |
bool |
XenoCore › Party | BlueprintReadOnly | false |
The character the player is driving. |
| Has Body | bHasBody |
bool |
XenoCore › Party | BlueprintReadOnly | false |
Whether a pawn exists. False for every benched character - see the struct comment. |
| Downed | bDowned |
bool |
XenoCore › Party | BlueprintReadOnly | false |
Incapacitated. Only meaningful with a body. |
| Health | Health |
float |
XenoCore › Party | BlueprintReadOnly | 0.0 |
No description. |
| Max Health | MaxHealth |
float |
XenoCore › Party | BlueprintReadOnly | 0.0 |
No description. |
| Health Fraction | HealthFraction |
float |
XenoCore › Party | BlueprintReadOnly | 0.0 |
0..1 for a bar. Zero without a body, so an un-gated bar reads empty rather than full. |
| Weapon Name | WeaponName |
FText |
XenoCore › Party | BlueprintReadOnly | The equipped weapon's display name, or empty. | |
| Level Label | LevelLabel |
FText |
XenoCore › Party | BlueprintReadOnly | "Lv 24". | |
| Health Label | HealthLabel |
FText |
XenoCore › Party | BlueprintReadOnly | "540 / 540", or an em dash with no body - never "0 / 0", which reads as a corpse. | |
| Experience Label | ExperienceLabel |
FText |
XenoCore › Party | BlueprintReadOnly | "2,160 to next", or "max" at the cap. The remainder, not the running total - the bar above it already carries the fraction. | |
| State Label | StateLabel |
FText |
XenoCore › Party | BlueprintReadOnly | "leader" / "reserve" / "down", or empty for a plain active member. | |
| State Color | StateColor |
FLinearColor |
XenoCore › Party | BlueprintReadOnly | FLinearColor::White |
What to tint StateLabel. |
| Strength | Strength |
float |
XenoCore › Party | BlueprintReadOnly | 0.0 |
No description. |
| Ether | Ether |
float |
XenoCore › Party | BlueprintReadOnly | 0.0 |
No description. |
| Agility | Agility |
float |
XenoCore › Party | BlueprintReadOnly | 0.0 |
No description. |
| Physical Defence | PhysicalDefence |
float |
XenoCore › Party | BlueprintReadOnly | 0.0 |
No description. |
| Ether Defence | EtherDefence |
float |
XenoCore › Party | BlueprintReadOnly | 0.0 |
No description. |
| Critical Rate | CriticalRate |
float |
XenoCore › Party | BlueprintReadOnly | 0.0 |
No description. |
| Block Rate | BlockRate |
float |
XenoCore › Party | BlueprintReadOnly | 0.0 |
No description. |
| Weapon Attack Min | WeaponAttackMin |
float |
XenoCore › Party | BlueprintReadOnly | 0.0 |
Weapon attack range, from the equipped weapon's stat tags. Zero with no weapon. |
| Weapon Attack Max | WeaponAttackMax |
float |
XenoCore › Party | BlueprintReadOnly | 0.0 |
No description. |
FXenoCoreSaveRowInfo¶
Struct · header XenoCoreRuntime/Public/UI/XenoCoreSaveUIStatics.h · BlueprintType
One Save/Load slot row, with every string already formatted.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Slot Index | SlotIndex |
int32 |
XenoCore › Save | BlueprintReadOnly | 0 |
Which slot this row is. UXenoCoreSaveSubsystem::AutosaveSlotIndex for the autosave. |
| Exists | bExists |
bool |
XenoCore › Save | BlueprintReadOnly | false |
False means the slot is free. Draw EmptyText and nothing else. |
| Autosave | bAutosave |
bool |
XenoCore › Save | BlueprintReadOnly | false |
The autosave row: it carries the pill, and the Save screen refuses to target it. |
| Loadable | bLoadable |
bool |
XenoCore › Save | BlueprintReadOnly | false |
False for a file written by a newer build. |
| Empty Text | EmptyText |
FText |
XenoCore › Save | BlueprintReadOnly | "New File" when saving, "No data" when loading. Empty for an occupied slot. | |
| Leader Name | LeaderName |
FText |
XenoCore › Save | BlueprintReadOnly | The leader's name - XC1 prints the party's leader, not the file's. | |
| Level Text | LevelText |
FText |
XenoCore › Save | BlueprintReadOnly | "Lv 4", in the accent colour. Branch on the number below, never on this. | |
| Leader Level | LeaderLevel |
int32 |
XenoCore › Save | BlueprintReadOnly | 0 |
The leader's level as a number, for branching. |
| Portraits | Portraits |
TArray<TSoftObjectPtr<UTexture2D>> |
XenoCore › Save | BlueprintReadOnly | One per active member, in party order. Soft: a list of four rows is not a reason to resident-load twelve portraits. | |
| Location Text | LocationText |
FText |
XenoCore › Save | BlueprintReadOnly | Printed over the bottom of the thumbnail. | |
| Story Text | StoryText |
FText |
XenoCore › Save | BlueprintReadOnly | The story line. May be empty. | |
| Play Time Text | PlayTimeText |
FText |
XenoCore › Save | BlueprintReadOnly | "1:55" - hours unpadded, minutes always two digits, exactly as XC1 prints it. | |
| Save Time Text | SaveTimeText |
FText |
XenoCore › Save | BlueprintReadOnly | "09/17/2026 7:40" - stored utc, drawn in the player's own time. | |
| Thumbnail | Thumbnail |
TObjectPtr<UTexture2D> |
XenoCore › Save | BlueprintReadOnly | The slot's picture, decoded, or null. |
FXenoCoreUIEffect¶
Struct · header XenoCoreRuntime/Public/UI/XenoCoreUIEffectStatics.h · BlueprintType
A UI burst as a designer sets it: which system, how big, and for how long it stays up. Every celebrating banner exposes one of these, so they all read the same in the details panel.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| System | System |
TObjectPtr<UNiagaraSystem> |
XenoCore › UI | EditAnywhere, BlueprintReadOnly | A UI Niagara system (CPU sim, UI sprite renderer, UI material). Unset plays nothing. | |
| Size | Size |
FVector2D |
XenoCore › UI | EditAnywhere, BlueprintReadOnly | FVector2D(480.0, 180.0) |
The effect's layout box, centred on its host. Particles may draw outside it. |
| Scale | Scale |
float |
XenoCore › UI | EditAnywhere, BlueprintReadOnly, ClampMin=0.01 | 1.0 |
UI pixels per Niagara unit. |
| Duration | Duration |
float |
XenoCore › UI | EditAnywhere, BlueprintReadOnly, ClampMin=0.1 | 3.5 |
Seconds before the effect widget is removed. Longer than the system's longest particle. |
FXenoCoreUIEffectPlayback¶
Struct · header XenoCoreRuntime/Public/UI/XenoCoreUIEffectStatics.h
One playing UI burst and its clock - the bookkeeping every host would otherwise copy. Note: hold it as a uproperty(Transient) so the widget it points at is reflected. Note: tick it from the host's NativeTick, or the widget is never removed.
UXenoCoreArtRowBase¶
Class · derives from UCommonUserWidget · header XenoCoreRuntime/Public/UI/XenoCoreArtRowBase.h · abstract · Blueprintable
One art, drawn as a row. Serves both columns - a palette slot and a selectable art - because the two differ in what they say, not in how they are built.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Row Button | RowButton |
TObjectPtr<UCommonButtonBase> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Name Text | NameText |
TObjectPtr<UTextBlock> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Category Text | CategoryText |
TObjectPtr<UTextBlock> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Value Text | ValueText |
TObjectPtr<UTextBlock> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | "20.0s". Empty on a Talent Art, which has no cooldown at all. | |
| Equipped Text | EquippedText |
TObjectPtr<UTextBlock> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | "Slot 2" when this art is already on the bar somewhere else. Collapsed when it is not. | |
| Icon Image | IconImage |
TObjectPtr<UImage> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | The same procedural glyph the battle palette draws, so the menu and the bar agree. | |
| Glyph Shadow | bGlyphShadow |
bool |
XenoCore › Arts › Glyph Shadow | EditAnywhere, BlueprintReadOnly | true |
Draw a drop shadow under the art glyph, like the battle palette. |
| Glyph Shadow Colour | GlyphShadowColour |
FLinearColor |
XenoCore › Arts › Glyph Shadow | EditAnywhere, BlueprintReadOnly, EditCondition=bGlyphShadow | FLinearColor(0.0, 0.0, 0.0, 0.45) |
The shadow's colour. The palette's is black at 45%. |
| Glyph Shadow Offset | GlyphShadowOffset |
FVector2D |
XenoCore › Arts › Glyph Shadow | EditAnywhere, BlueprintReadOnly, EditCondition=bGlyphShadow | FVector2D(2.0, 2.0) |
How far the shadow sits from the glyph, in pixels. The palette's is 2 right, 2 down. |
| Glyph Shadow Image | GlyphShadowImage |
TObjectPtr<UImage> |
XenoCore › Arts | Transient, BlueprintReadOnly | The shadow image, made by EnsureGlyphShadow. | |
| Row Columns | RowColumns |
TObjectPtr<UWidget> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | The columns' container. Bound only so a compact cell can drop the list row's 50px side inset. | |
| Compact Name Scale | CompactNameScale |
float |
XenoCore › Arts | EditDefaultsOnly, ClampMin=0.5, ClampMax=1.0 | 0.85 |
The name's size in a compact strip cell, as a fraction of its authored size. |
| Level Bar | LevelBar |
TObjectPtr<UPanelWidget> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | The art's level as XC1 draws it - twelve segments, lit to the current level, dark to the cap, faint beyond it. Filled in C++, so the row asset only places an empty HorizontalBox. | |
| Level Segment Size | LevelSegmentSize |
FVector2D |
XenoCore › Arts › Level | EditDefaultsOnly | FVector2D(20.0, 10.0) |
Segment width and height. UXenoCoreArtsScreenBase's ruler uses the same pitch. |
| Level Segment Gap | LevelSegmentGap |
float |
XenoCore › Arts › Level | EditDefaultsOnly, ClampMin=0.0, UIMin=0.0 | 2.0 |
Gap between two level segments, in pixels. |
| Level Tier Breaks | LevelTierBreaks |
TArray<int32> |
XenoCore › Arts › Level | EditDefaultsOnly | A wider break after these levels - the manual tiers. XC1 groups the bar I-iv, V-vii, viii-X: iv is the default cap, vii and X are what the two manual tiers raise it to. | |
| Level Tier Gap | LevelTierGap |
float |
XenoCore › Arts › Level | EditDefaultsOnly, ClampMin=0.0, UIMin=0.0 | 7.0 |
The wider gap drawn after each level in LevelTierBreaks, in pixels. |
| Level Reached Colour | LevelReachedColour |
FLinearColor |
XenoCore › Arts › Level | EditDefaultsOnly | FLinearColor(0.47, 0.8, 0.2, 1.0) |
XC1's green for a reached level. |
| Level Open Colour | LevelOpenColour |
FLinearColor |
XenoCore › Arts › Level | EditDefaultsOnly | FLinearColor(0.6, 0.62, 0.64, 1.0) |
A level the art can still reach under its current cap (XC1: light grey). |
| Level Locked Colour | LevelLockedColour |
FLinearColor |
XenoCore › Arts › Level | EditDefaultsOnly | FLinearColor(0.14, 0.15, 0.17, 1.0) |
A level past the cap, needing an Arts Manual first (XC1: dark grey). |
| Compact Column Padding | CompactColumnPadding |
FMargin |
XenoCore › Arts | EditDefaultsOnly | FMargin(22.0, 0.5, 14.0, 0.5) |
Side inset of the columns in a compact strip cell. |
| Disc Image | DiscImage |
TObjectPtr<UImage> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | A palette cell's disc - the battle palette's layer 1, a rounded-box brush tinted per state. | |
| Focus Ring | FocusRing |
TObjectPtr<UWidget> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | The yellow selection ring - the battle palette's layer 3. Full while this cell has focus, dim while it is only the slot being filled (focus has moved down to the list), hidden otherwise. | |
| Disc Filled Colour | DiscFilledColour |
FLinearColor |
XenoCore › Arts | EditDefaultsOnly | FLinearColor(0.94, 0.94, 0.92, 1.0) |
No description. |
| Disc Empty Colour | DiscEmptyColour |
FLinearColor |
XenoCore › Arts | EditDefaultsOnly | FLinearColor(0.5, 0.5, 0.5, 1.0) |
An empty but usable slot. Must match UXenoCoreArtsPaletteBase::EmptyDiscColour - same slot, both screens. |
| Disc Locked Colour | DiscLockedColour |
FLinearColor |
XenoCore › Arts | EditDefaultsOnly | FLinearColor(0.22, 0.22, 0.23, 1.0) |
A slot the character's level has not opened yet - darker than empty, because it cannot be used. |
| Target Ring Opacity | TargetRingOpacity |
float |
XenoCore › Arts | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0 | 0.45 |
Ring opacity on the slot being filled while focus is down in the list. |
| Talent Glyph Angle | TalentGlyphAngle |
float |
XenoCore › Arts | EditDefaultsOnly | -45.0 |
The Talent Art glyph's tilt. Matches W_XenoCore_ArtSlot's BladeIcon, whose -45 degrees is authored on the widget, not the material - so a cell drawing the same glyph must tilt it too, or the menu's centre blade stands upright while the bar's lies diagonal. |
| Talent Cell Scale | TalentCellScale |
float |
XenoCore › Arts | EditDefaultsOnly, ClampMin=1.0 | 1.18 |
How much larger the centre Talent Art cell draws, as XC1's does. |
| Empty Row Opacity | EmptyRowOpacity |
float |
XenoCore › Arts | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0, UIMin=0.0, UIMax=1.0 | 0.45 |
Dimming for an empty palette slot, so a gap reads as "fill me" rather than as a fault. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Slot Index | Pure | int32 GetSlotIndex() const |
The palette position this row stands for, or INDEX_NONE for a row in the pick list. |
| Get Art | Pure | UXenoCoreArtDefinition* GetArt() const |
The art this row is about. |
| Get Focus Target | Pure | UCommonButtonBase* GetFocusTarget() const |
The button a screen should focus for this row. |
| Set Row Selected | Callable | void SetRowSelected(bool bSelected) |
Marks the row as the one the screen is acting on. |
| On Row Set | Event (implement in Blueprint) | void BP_OnRowSet() |
Hook for anything the asset wants to do that C++ should not decide - a flash, a sound. |
UXenoCoreArtsPaletteBase¶
Class · derives from UXenoCoreHudPlateBase · header XenoCoreRuntime/Public/UI/XenoCoreArtsPaletteBase.h · abstract
The palette: one ring on screen, cycled vertically with the D-pad.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Entries | Entries |
TArray<FXenoCorePaletteEntry> |
XenoCore › Palette | EditDefaultsOnly, BlueprintReadOnly | The in-battle centre carousel entries (e.g. Attack, the Talent Art, Flee), in cycle order. | |
| In Battle Default Index | InBattleDefaultIndex |
int32 |
XenoCore › Palette | EditDefaultsOnly, ClampMin=0, UIMin=0 | 1 |
Which in-battle entry the centre rests on when a fight starts. The talent art. |
| Blade Icon | BladeIcon |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | The icon for the selected entry. | ||
| Outgoing Icon | OutgoingIcon |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | The outgoing icon during a cycle. Hidden when nothing is moving. | ||
| Blade Icon Shadow | BladeIconShadow |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | The centre glyph's drop shadow, inside the slot overlay. | ||
| Attack Slot Glow | AttackSlotGlow |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | Layer 3 (SelectionRing) carries the auto-attack highlight and the confirm flash. Kept bound only so existing palette assets still compile. | ||
| Talent Ring | TalentRing |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | The Talent Gauge ring wrapping the palette's central slot. | ||
| Talent Ring Fill Parameter | TalentRingFillParameter |
FName |
XenoCore › Talent | EditDefaultsOnly | FName("ActiveRange") |
Vector parameter carrying (arcStart, arcEnd). |
| Fill Clockwise | bFillClockwise |
bool |
XenoCore › Talent | EditDefaultsOnly | true |
Which way the arc grows from its origin. |
| Ring Image | RingImage |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | Layer 1 - the inner disc. Its brightness is the availability signal: muted while charging, white when ready. | ||
| Selection Ring | SelectionRing |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | Layer 3 - the selection ring, outermost. Bright yellow. | ||
| Selection Group | SelectionGroup |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidgetOptional | Layer 3's container: the selection ring plus its corner triangles. | ||
| Selection Tris | SelectionTris |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidgetOptional | The four corner triangles, in their own container so they can pulse without the ring. | ||
| Selection Pulse | bSelectionPulse |
bool |
XenoCore › Palette | EditDefaultsOnly | false |
Whether the selection marker breathes at all. |
| Selection Pulse Period | SelectionPulsePeriod |
float |
XenoCore › Palette | EditDefaultsOnly, ClampMin=0.05 | 1.1 |
Seconds for one full breath of the selection marker. Ignored unless bSelectionPulse. |
| Selection Pulse Min Opacity | SelectionPulseMinOpacity |
float |
XenoCore › Palette | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0 | 0.55 |
Opacity at the bottom of the breath. The top is always 1. |
| Selection Pulse Max Scale | SelectionPulseMaxScale |
float |
XenoCore › Palette | EditDefaultsOnly, ClampMin=1.0 | 1.05 |
How much it swells at the top of the breath. 1.0 disables the scale half of the pulse. |
| Ring Colour Parameter | RingColourParameter |
FName |
XenoCore › Talent | EditDefaultsOnly | FName("BarColor") |
Colour parameter on the disc and ring instances. |
| Disc Muted Colour | DiscMutedColour |
FLinearColor |
XenoCore › Talent | EditDefaultsOnly | FLinearColor(0.42, 0.39, 0.34, 1.0) |
Dark beige. The disc while the gauge is still filling. |
| Disc Ready Colour | DiscReadyColour |
FLinearColor |
XenoCore › Talent | EditDefaultsOnly | FLinearColor::White |
White. The disc once the gauge is full. |
| Cycle Up Arrow | CycleUpArrow |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | Cycle affordances above and below the ring. | ||
| Cycle Down Arrow | CycleDownArrow |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Confirm Flash Duration | ConfirmFlashDuration |
float |
XenoCore › Palette | EditDefaultsOnly, ClampMin=0.01 | 0.28 |
Seconds the confirm flash takes to fall back to rest. |
| Arrow Idle Opacity | ArrowIdleOpacity |
float |
XenoCore › Palette | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0 | 0.45 |
Resting opacity for both arrows. They are an affordance, not a readout - keep them quiet. |
| Action Label | ActionLabel |
TObjectPtr<URichTextBlock> |
BlueprintReadOnly, BindWidgetOptional | The selected entry's name, drawn above the ring. | ||
| Blocked Mark | BlockedMark |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | The red ring-and-slash laid over the centre slot when the selected command is blocked. | ||
| Cycle Duration | CycleDuration |
float |
XenoCore › Palette | EditDefaultsOnly, ClampMin=0.0 | 0.18 |
Seconds for one icon to hand off to the next. |
| Cycle Travel | CycleTravel |
float |
XenoCore › Palette | EditDefaultsOnly | 72.0 |
No description. |
| Pre Battle Entries | PreBattleEntries |
TArray<FXenoCorePaletteEntry> |
XenoCore › Palette › PreBattle | EditDefaultsOnly | The pre-battle carousel: what D-pad up and down move between before a fight starts. | |
| Pre Battle Default Index | PreBattleDefaultIndex |
int32 |
XenoCore › Palette › PreBattle | EditDefaultsOnly, ClampMin=0, UIMin=0 | 1 |
Which pre-battle entry is selected when a fight ends or targeting begins. Attack. |
| Art Entries | ArtEntries |
TArray<FXenoCorePaletteEntry> |
XenoCore › Palette › Arts | EditDefaultsOnly | The arts either side of the centre, in row order, left to right. | |
| Build Arts From Granted Abilities | bBuildArtsFromGrantedAbilities |
bool |
XenoCore › Palette › Arts | EditDefaultsOnly | true |
Replace ArtEntries with the granted art abilities on construct. |
| Side Slot Scale | SideSlotScale |
float |
XenoCore › Palette › Arts | EditDefaultsOnly, ClampMin=0.1, ClampMax=1.0 | 0.8 |
Side slots read slightly smaller than the centre. Scales the selection marker to match. |
| Side Slot Offset X | SideSlotOffsetX |
float |
XenoCore › Palette › Arts | EditDefaultsOnly | 125.0 |
Horizontal distance from the centre to a side slot, in slate units. |
| Side Slot Pitch | SideSlotPitch |
float |
XenoCore › Palette › Arts | EditDefaultsOnly, ClampMin=1.0 | 100.0 |
Distance between neighbouring side slots, outward from the first. XC1's bar is 4 + Talent + 4; only the innermost slot on each side is authored, and the rest are stamped at this pitch. |
| Empty Disc Colour | EmptyDiscColour |
FLinearColor |
XenoCore › Palette › Arts | EditDefaultsOnly | FLinearColor(0.5, 0.5, 0.5, 1.0) |
An unlocked slot with no art in it - a plain grey disc on its drop shadow. The Arts menu's cell uses the same value, so a slot reads the same on both screens. |
| Locked Disc Colour | LockedDiscColour |
FLinearColor |
XenoCore › Palette › Arts | EditDefaultsOnly | FLinearColor(0.22, 0.22, 0.23, 1.0) |
A slot the character's level has not opened yet. Darker than empty. |
| Empty Slot Scale | EmptySlotScale |
float |
XenoCore › Palette › Arts | EditDefaultsOnly, ClampMin=0.05, ClampMax=1.0 | 0.35 |
No description. |
| Disc Available Colour | DiscAvailableColour |
FLinearColor |
XenoCore › Palette › Arts | EditDefaultsOnly | FLinearColor(0.94, 0.94, 0.92, 1.0) |
The disc behind an available art. Grey (DiscMutedColour) is the unavailable look. |
| Glyph Unavailable Colour | GlyphUnavailableColour |
FLinearColor |
XenoCore › Palette › Arts | EditDefaultsOnly | FLinearColor(0.16, 0.15, 0.14, 1.0) |
The glyph on an unavailable art - dark on grey, matching the authored Dark instances. |
| Chance Badge Left | ChanceBadgeLeft |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | The blue ! marking an art whose positional bonus is live right now. | ||
| Chance Badge Right | ChanceBadgeRight |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Chance Shadow Left | ChanceShadowLeft |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | The badges' drop shadows - shown and hidden with their badge. | ||
| Chance Shadow Right | ChanceShadowRight |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Chance Popup | ChancePopup |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidgetOptional | The italic "Chance!" wordmark. Fixed on screen - it does not track the player. | ||
| Availability Check Interval | AvailabilityCheckInterval |
float |
XenoCore › Palette › Chance | EditDefaultsOnly, ClampMin=0.01 | 0.1 |
Seconds between availability re-checks. |
| Chance Display Time | ChanceDisplayTime |
float |
XenoCore › Palette › Chance | EditDefaultsOnly, ClampMin=0.1 | 1.4 |
Seconds the wordmark stays up after a Chance appears. The badge stays for as long as it lasts. |
| Side Disc Left | SideDiscLeft |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Cooldown Ring Left | CooldownRingLeft |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | The recharge ring around a side art, filling as it cools down. | ||
| Cooldown Ring Right | CooldownRingRight |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Side Icon Left | SideIconLeft |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Side Disc Right | SideDiscRight |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Side Icon Right | SideIconRight |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Side Icon Shadow Left | SideIconShadowLeft |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | Drop shadows for the side glyphs, shown and hidden with their glyph. | ||
| Slot Shadow Left | SlotShadowLeft |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | The disc's drop shadow on each side. Bound so it can be stamped per position with the rest of the slot - an empty slot is exactly this plus a grey disc. | ||
| Slot Shadow Right | SlotShadowRight |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Side Icon Shadow Right | SideIconShadowRight |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Pre Battle Disc Colour | PreBattleDiscColour |
FLinearColor |
XenoCore › Palette › PreBattle | EditDefaultsOnly | FLinearColor(0.72, 0.09, 0.09, 1.0) |
The disc behind the Attack glyph. Red is the game's own colour for engage. |
| Pre Battle Chevron Colour | PreBattleChevronColour |
FLinearColor |
XenoCore › Palette › PreBattle | EditDefaultsOnly | FLinearColor(0.85, 0.13, 0.13, 1.0) |
The chevrons' colour before battle. Red, as in XC1. |
| In Battle Chevron Colour | InBattleChevronColour |
FLinearColor |
XenoCore › Palette › PreBattle | EditDefaultsOnly | FLinearColor::White |
The chevrons' colour in battle. Unsourced; white by default. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Cycle Selection | Callable | FGameplayTag CycleSelection(int32 Delta) |
Move the selection. |
| Get Selected Action Tag | Pure | FGameplayTag GetSelectedActionTag() const |
The selected entry's ActionTag, or an empty tag if nothing is selected. |
| Get Selected Art Handle | Pure | FGameplayAbilitySpecHandle GetSelectedArtHandle() const |
The spec behind the selected art, or an invalid handle when an authored centre command (Attack, Lure, Flee, Cancel) is selected. |
| Get Selected Art Data | Pure | const UXenoCoreArtDefinition* GetSelectedArtData() const |
The selected art's definition, or null when the centre slot is selected. |
| Get Talent Art Data | Pure | const UXenoCoreArtDefinition* GetTalentArtData() const |
The centre slot's Talent entry draws its name, description and glyph from this. |
| Get Talent Gauge Cost | Pure | float GetTalentGaugeCost() const |
Gauge the Talent Art costs: its definition's GaugeCost, or a full gauge (UXenoCoreStatSet::TalentGaugeMax) when there is no talent definition to ask. |
| Is Talent Art Ready | Pure | bool IsTalentArtReady() const |
True when the gauge covers the Talent Art's cost - the same comparison, and the same KINDA_SMALL_NUMBER, as UXenoCoreGameplayAbility_TalentArt::CanActivateAbility. |
| Show Loadout For | Callable | void ShowLoadoutFor(class UXenoCorePartyMemberDefinition* Member) |
Draw a member's stored loadout instead of the live pawn's granted arts. |
| Play Confirm Feedback | Callable | void PlayConfirmFeedback() |
Confirm feedback: the ring flashes so a press reads as having landed. |
| On Confirmed | Event (implement in Blueprint) | void OnConfirmed(const FGameplayTag& ActionTag) |
Called when an entry is confirmed, after the native ring flash. |
| Get Palette State | Pure | EXenoCorePaletteState GetPaletteState() const |
Which job the central slot is currently doing. |
| Format Entry Label | Pure | FText FormatEntryLabel(const FXenoCorePaletteEntry& Entry) |
"Name: Description", or just "Name" when there is no description. |
| Cycle Horizontal | Callable | FGameplayTag CycleHorizontal(int32 Delta) |
Moves left/right along the arts row. |
| Set Selection Active | Callable | void SetSelectionActive(bool bActive) |
Stand the palette's own selection marker down while something else owns the choice. |
| On Palette State Changed | Event (implement in Blueprint) | void OnPaletteStateChanged(EXenoCorePaletteState NewState) |
Fired when the state actually changes, so a Blueprint can add flourish without polling. |
| Is Entry Available | Event (overridable) | bool IsEntryAvailable(const FXenoCorePaletteEntry& Entry) const |
Can this art be used right now? |
| Is Positional Bonus Live | Pure | bool IsPositionalBonusLive(const FXenoCorePaletteEntry& Entry) const |
Is this art's positional bonus live right now - i.e. would using it hit the multiplier? |
UXenoCoreArtsScreenBase¶
Class · derives from UXenoCoreCharacterMenuScreenBase · header XenoCoreRuntime/Public/UI/XenoCoreArtsScreenBase.h · abstract · Blueprintable
The Arts screen: arrange a character's battle palette. XC1 equips 8 of 16 learned arts.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Slot Strip | SlotStrip |
TObjectPtr<UPanelWidget> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | The one thing the Shop tree lacks: the palette across the top. Slot cells go in here. | |
| Rows Box | RowsBox |
TObjectPtr<UPanelWidget> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | The known arts. The Shop's own list box. | |
| Title Text | TitleText |
TObjectPtr<UTextBlock> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | "Arts". | |
| Slot Header | SlotHeader |
TObjectPtr<UTextBlock> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | The list pane's header - the character in Setting, "Current AP" in Level Up. | |
| Empty List Text | EmptyListText |
TObjectPtr<UTextBlock> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Details Name | DetailsName |
TObjectPtr<UTextBlock> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Details Desc | DetailsDesc |
TObjectPtr<UTextBlock> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Details Rich Desc | DetailsRichDesc |
TObjectPtr<URichTextBlock> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | The description as rich text, so an art's <Highlight>from behind</> draws highlighted the way the battle palette's label already does. When bound it wins and DetailsDesc is collapsed. | |
| Details Type Label | DetailsTypeLabel |
TObjectPtr<UTextBlock> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | Label/value rows in the detail pane - XC1's fixed field list, so they read "Attribute". | |
| Details Type Value | DetailsTypeValue |
TObjectPtr<UTextBlock> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Details Owned Label | DetailsOwnedLabel |
TObjectPtr<UTextBlock> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | Second label/value row - "Cooldown". | |
| Details Owned Value | DetailsOwnedValue |
TObjectPtr<UTextBlock> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Setting Tab Text | SettingTabText |
TObjectPtr<UTextBlock> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | The two tab labels. Coloured by which is active. | |
| Level Up Tab Text | LevelUpTabText |
TObjectPtr<UTextBlock> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Level Ruler | LevelRuler |
TObjectPtr<UPanelWidget> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | I..XII above the list's level bars. Filled in C++ at the rows' segment pitch. | |
| Art Points Text | ArtPointsText |
TObjectPtr<UTextBlock> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | "AP 1,250" - the shown character's unspent Art Points. | |
| Details Stats Box | DetailsStatsBox |
TObjectPtr<UPanelWidget> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | XC1's field list under Attribute and Cooldown - Target, Range, Distance, Damage, Effects. The Shop tree's own stats box, filled with one label/value row per FXenoCoreArtDetailLine. |
|
| Header Portrait | HeaderPortrait |
TObjectPtr<class UImage> |
XenoCore › Arts | BlueprintReadOnly, BindWidgetOptional | The shown character's face at the head of the list. | |
| Row Class | RowClass |
TSubclassOf<UXenoCoreArtRowBase> |
XenoCore › Arts | EditDefaultsOnly | A row in the known-arts list. W_XenoCore_ArtRow. |
|
| Slot Cell Gap | SlotCellGap |
float |
XenoCore › Arts | EditDefaultsOnly, ClampMin=0.0, UIMin=0.0 | 18.0 |
Space between strip cells. |
| Slot Class | SlotClass |
TSubclassOf<UXenoCoreArtRowBase> |
XenoCore › Arts | EditDefaultsOnly | A cell in the palette strip. Falls back to RowClass when unset. | |
| Setting Tab Colour | SettingTabColour |
FLinearColor |
XenoCore › Arts | EditDefaultsOnly | FLinearColor(1.0, 0.55, 0.15, 1.0) |
The Setting tab's colour (XC1: orange). |
| Level Up Tab Colour | LevelUpTabColour |
FLinearColor |
XenoCore › Arts | EditDefaultsOnly | FLinearColor(0.25, 0.82, 0.88, 1.0) |
The Level Up tab's colour (XC1: teal). |
| Inactive Tab Opacity | InactiveTabOpacity |
float |
XenoCore › Arts | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0 | 0.45 |
An inactive tab keeps its colour, dimmed - it is still a tab, not disabled text. |
| Tab Frame Colour | TabFrameColour |
FLinearColor |
XenoCore › Arts | EditDefaultsOnly | FLinearColor(0.238, 0.418, 0.509, 0.9) |
An inactive tab's frame outline - the table's own outline colour, so it reads as part of the table. |
| Tab Fill Colour | TabFillColour |
FLinearColor |
XenoCore › Arts | EditDefaultsOnly | FLinearColor(0.02, 0.05, 0.11, 0.35) |
An inactive tab's fill - the table's own fill. The active tab is washed with its own colour. |
| Ruler Colour | RulerColour |
FLinearColor |
XenoCore › Arts | EditDefaultsOnly | FLinearColor(0.55, 0.58, 0.62, 1.0) |
Text colour of the I..XII level ruler above the list. |
| Ruler Font Size | RulerFontSize |
float |
XenoCore › Arts | EditDefaultsOnly, ClampMin=4.0 | 8.5 |
Point size of the I..XII ruler. Must fit a level-bar segment, so it does not follow the header. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Set Mode | Callable | void SetMode(EXenoCoreArtsScreenMode NewMode) |
Switch tab. |
| Get Mode | Pure | EXenoCoreArtsScreenMode GetMode() const |
The tab currently shown. |
UXenoCoreArtsUIStatics¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreRuntime/Public/UI/XenoCoreArtsUIStatics.h
The Arts screen's read model. Everything a widget needs, so no row decides anything itself.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Make Art View | Pure | FXenoCoreArtView MakeArtView(UXenoCorePartyMemberDefinition* Member, UXenoCoreArtDefinition* Art) |
One row for an art, as it should appear in the pick list for this character. |
| Make Art Slot View | Pure | FXenoCoreArtView MakeArtSlotView(UXenoCorePartyMemberDefinition* Member, int32 SlotIndex) |
One row for a palette position - the art in it, or an empty row that names the slot. |
| Get Palette Views | Pure | TArray<FXenoCoreArtView> GetPaletteViews(UXenoCorePartyMemberDefinition* Member) |
Feeds the slot strip. |
| Make Talent Art View | Pure | 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. |
| Get Selectable Art Views | Pure | TArray<FXenoCoreArtView> GetSelectableArtViews(UXenoCorePartyMemberDefinition* Member) |
Everything this character could put in a slot. |
| Open Arts Screen | Callable | void OpenArtsScreen() |
Push the Arts screen onto the menu layer. |
| Get Category Label | Pure | FText GetCategoryLabel(EXenoCoreArtCategory Category) |
The display label of an art category: "Physical", "Break", "Heal". |
| Get Category Colour | Pure | FLinearColor GetCategoryColour(EXenoCoreArtCategory Category) |
XC1's colour language, sourced: pink Break, green Topple, yellow Daze, red physical, blue ether, orange Aura. |
UXenoCoreAskConfirmAsync¶
Class · derives from UBlueprintAsyncActionBase · header XenoCoreRuntime/Public/UI/XenoCoreAskConfirmAsync.h
"Ask Confirm" - shows a yes/no popup over a screen and continues on the player's answer.
Events you can bind
| Event | Type | Description |
|---|---|---|
OnYes |
FXenoCoreAskConfirmPin |
The player chose Yes. The popup has already closed. |
OnNo |
FXenoCoreAskConfirmPin |
The player chose No, backed out, the popup closed unanswered, or it could not be shown. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Ask Confirm | Latent node factory | UXenoCoreAskConfirmAsync* AskConfirm(UCommonActivatableWidgetStack* Stack, TSubclassOf<UXenoCoreConfirmPopupBase> PopupClass, FText Title, FText Question, FText Warning, bool bFocusCancel = false) |
Push a confirm popup into a stack (usually the asking screen's own overlay stack) and ask a question. |
| Ask Confirm (Existing Popup) | Latent node factory | UXenoCoreAskConfirmAsync* AskConfirmWithPopup(UXenoCoreConfirmPopupBase* Popup, FText Title, FText Question, FText Warning, bool bFocusCancel = false) |
Ask a question with a confirm popup that is already on screen. |
UXenoCoreBattleNotifyBase¶
Class · derives from UXenoCoreHudPlateBase · header XenoCoreRuntime/Public/UI/XenoCoreBattleNotifyBase.h
One line of battle text over an actor - miss, break, topple, daze, critical, a buff name.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Notify Font Size | NotifyFontSize |
int32 |
XenoCore › Battle | EditDefaultsOnly, ClampMin=1, UIMin=1 | 34 |
Floor for the inherited style's size. Battle text has to read at a glance. |
| Notify Outline Size | NotifyOutlineSize |
int32 |
XenoCore › Battle | EditDefaultsOnly, ClampMin=0, UIMin=0 | 2 |
Outline thickness. Zero is unreadable over a bright wall - see SetNotification. |
| Notify Outline Colour | NotifyOutlineColour |
FLinearColor |
XenoCore › Battle | EditDefaultsOnly | FLinearColor(0.02, 0.02, 0.03, 1.0) |
Colour of the outline drawn around the notification text. |
| Notify Text | NotifyText |
TObjectPtr<UCommonTextBlock> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Name Text | NameText |
TObjectPtr<UCommonTextBlock> |
BlueprintReadOnly, BindWidgetOptional | No description. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Set Notification | Callable | void SetNotification(const FText& InText, const FLinearColor& InColour) |
Sets the line and its colour. |
UXenoCoreBattleNotifySubsystem¶
Class · derives from UWorldSubsystem · header XenoCoreRuntime/Public/UI/XenoCoreBattleNotifySubsystem.h
Battle text over an actor: miss, break, topple, daze, critical, buff names.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Notify | Callable | void Notify(AActor* Target, FText Text, FLinearColor Colour, float Scale = 1.0f, float Punch = 1.0f) |
Raise a line from anywhere - C++ or Blueprint - without knowing this subsystem exists. |
UXenoCoreBootScreenBase¶
Class · derives from UCommonActivatableWidget · header XenoCoreRuntime/Public/UI/XenoCoreBootScreenBase.h · abstract · Blueprintable
One card of the pre-title sequence - studio logo, engine logo, autosave notice, shaders.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Fade In Time | FadeInTime |
float |
XenoCore › Boot | EditDefaultsOnly, ClampMin=0.0, Units=s | 0.8 |
Seconds the card takes to fade in. |
| Hold Time | HoldTime |
float |
XenoCore › Boot | EditDefaultsOnly, ClampMin=0.0, Units=s | 2.5 |
How long the card sits fully visible. Ignored by cards that decide their own end. |
| Fade Out Time | FadeOutTime |
float |
XenoCore › Boot | EditDefaultsOnly, ClampMin=0.0, Units=s | 0.8 |
Seconds the card takes to fade out. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Advance | Callable | void Advance() |
Start the fade-out now, as a press of A would. |
| On Boot Screen Shown | Event (implement in Blueprint) | void K2_OnBootScreenShown() |
For Blueprint polish on a card - start an anim, a sound. |
UXenoCoreBuildStampSubsystem¶
Class · derives from UGameInstanceSubsystem · header XenoCoreRuntime/Public/UI/XenoCoreBuildStampSubsystem.h
No description.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Build Version | Pure | FString GetBuildVersion() |
"1.0.0.2014" - ProjectVersion, then the number of commits this build came from. |
UXenoCoreCharacterMenuScreenBase¶
Class · derives from UCommonActivatableWidget · header XenoCoreRuntime/Public/UI/XenoCoreCharacterMenuScreenBase.h · abstract · Blueprintable
A menu screen about one character, switched through the roster with L / R and paged with ZL / ZR - the Arts screen and the Skills screen.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Portrait Box | PortraitBox |
TObjectPtr<UPanelWidget> |
XenoCore › Menu | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Prev Char Glyph | PrevCharGlyph |
TObjectPtr<UCommonActionWidget> |
XenoCore › Menu | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Next Char Glyph | NextCharGlyph |
TObjectPtr<UCommonActionWidget> |
XenoCore › Menu | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Prev Tab Glyph | PrevTabGlyph |
TObjectPtr<UCommonActionWidget> |
XenoCore › Menu | BlueprintReadOnly, BindWidgetOptional | The ZL / ZR glyphs either side of the tabs. | |
| Next Tab Glyph | NextTabGlyph |
TObjectPtr<UCommonActionWidget> |
XenoCore › Menu | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Prev Character Action | PrevCharacterAction |
FDataTableRowHandle |
XenoCore › Menu | EditDefaultsOnly | The action that steps to the previous character (L). Same rows as the Shop's, so the glyphs match. | |
| Next Character Action | NextCharacterAction |
FDataTableRowHandle |
XenoCore › Menu | EditDefaultsOnly | The action that steps to the next character (R). | |
| Prev Tab Action | PrevTabAction |
FDataTableRowHandle |
XenoCore › Menu | EditDefaultsOnly | The previous-tab action - ZL in XC1. | |
| Next Tab Action | NextTabAction |
FDataTableRowHandle |
XenoCore › Menu | EditDefaultsOnly | The next-tab action - ZR in XC1. | |
| Portrait Size | PortraitSize |
float |
XenoCore › Menu | EditDefaultsOnly, ClampMin=8.0 | 56.0 |
Size of each portrait in the strip, in pixels. Matches UXenoCoreShopScreenBase::PortraitSize. |
| Unselected Portrait Opacity | UnselectedPortraitOpacity |
float |
XenoCore › Menu | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0 | 0.4 |
Opacity of the portraits of characters not currently shown. |
| Max Visible Portraits | MaxVisiblePortraits |
int32 |
XenoCore › Menu | EditDefaultsOnly, ClampMin=1 | 5 |
How many portraits the strip shows at once - a window that slides to keep the shown character in view, so a large roster does not run over the title. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Show Member | Callable | void ShowMember(UXenoCorePartyMemberDefinition* Member) |
Show this character. |
| Cycle Member | Callable | void CycleMember(int32 Delta) |
Step through the roster, benched included - a benched character can be prepared before they are fielded. |
| Get Shown Member | Pure | UXenoCorePartyMemberDefinition* GetShownMember() const |
The character this screen is currently showing. |
UXenoCoreConfirmPopupBase¶
Class · derives from UCommonActivatableWidget · header XenoCoreRuntime/Public/UI/XenoCoreConfirmPopupBase.h · abstract · Blueprintable
A yes / no popup pushed into the asking screen's own OverlayStack: a scrim over the screen and a panel in the middle, with the answer delivered to C++ or Blueprint.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Title Text | TitleText |
TObjectPtr<UTextBlock> |
XenoCore › Confirm | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Message Text | MessageText |
TObjectPtr<UTextBlock> |
XenoCore › Confirm | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Warning Text | WarningText |
TObjectPtr<UTextBlock> |
XenoCore › Confirm | BlueprintReadOnly, BindWidgetOptional | "This cannot be undone." The colour is the widget's; this class only fills and collapses it. | |
| Confirm Button | ConfirmButton |
TObjectPtr<UCommonButtonBase> |
XenoCore › Confirm | BlueprintReadOnly, BindWidget | Yes. Its label is authored on the Blueprint. | |
| Cancel Button | CancelButton |
TObjectPtr<UCommonButtonBase> |
XenoCore › Confirm | BlueprintReadOnly, BindWidget | No. Its label is authored on the Blueprint. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Is Asking | Pure | bool IsAsking() const |
True while a question is open. |
UXenoCoreDamageNumberSubsystem¶
Class · derives from UWorldSubsystem · header XenoCoreRuntime/Public/UI/XenoCoreDamageNumberSubsystem.h
Damage numbers for damage the party takes, and the hit sound for a companion.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Show Heal Number | Callable | void ShowHealNumber(AActor* Target, int32 Amount) |
Draw a heal number over Target. |
UXenoCoreDefeatBannerBase¶
Class · derives from UCommonUserWidget · header XenoCoreRuntime/Public/UI/XenoCoreDefeatBannerBase.h · Blueprintable
"Defeated" in bold red - fades in over the defeat beat, holds on the black, fades out on respawn.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Defeat Text | DefeatText |
TObjectPtr<UTextBlock> |
XenoCore › Defeat | BlueprintReadOnly, BindWidgetOptional | Optional in a Blueprint child; a native instance builds its own. | |
| Font | Font |
FSlateFontInfo |
XenoCore › Defeat | EditAnywhere, BlueprintReadOnly | Font of the "Defeated" line. | |
| Text Colour | TextColour |
FLinearColor |
XenoCore › Defeat | EditAnywhere, BlueprintReadOnly | FLinearColor(0.82, 0.08, 0.08, 1.0) |
Colour of the "Defeated" line. |
| Fade In Seconds | FadeInSeconds |
float |
XenoCore › Defeat | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 0.8 |
Seconds, real time. |
| Fade Out Seconds | FadeOutSeconds |
float |
XenoCore › Defeat | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 0.6 |
Seconds, real time. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Set Defeat Text | Callable | void SetDefeatText(const FText& InText) |
The line to show. |
| Fade Out And Remove | Callable | void FadeOutAndRemove() |
Fade out and remove itself. |
UXenoCoreDialogueBoxBase¶
Class · derives from UCommonUserWidget · header XenoCoreRuntime/Public/UI/XenoCoreDialogueBoxBase.h · abstract
The dialogue box: one sentence, revealed as it is read, with the speaker's name on a plate that overlaps its top edge.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Line Text | LineText |
TObjectPtr<UCommonTextBlock> |
BlueprintReadOnly, BindWidget | The sentence. Auto-wrapped; the subsystem's character limit is what keeps it to two lines. | ||
| Speaker Text | SpeakerText |
TObjectPtr<UCommonTextBlock> |
BlueprintReadOnly, BindWidget | The name on the plate. | ||
| Name Plate | NamePlate |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidgetOptional | The rounded plate, so a line with no speaker at all can hide it. | ||
| Advance Group | AdvanceGroup |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidgetOptional | The "press the button for more" group - glyph and chevron together. | ||
| Advance Arrow | AdvanceArrow |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidgetOptional | Bobbed to draw the eye. Optional so a box can omit it entirely. | ||
| Characters Per Second | CharactersPerSecond |
float |
XenoCore › Dialogue | EditDefaultsOnly, ClampMin=0.0 | 55.0 |
Characters revealed per second. |
| Line Sound | LineSound |
TObjectPtr<USoundBase> |
XenoCore › Dialogue | EditDefaultsOnly | Played once as each line starts. | |
| Arrow Bob Amplitude | ArrowBobAmplitude |
float |
XenoCore › Dialogue | EditDefaultsOnly, ClampMin=0.0 | 4.0 |
How far the advance arrow bobs up and down, in Slate units. |
| Arrow Bob Speed | ArrowBobSpeed |
float |
XenoCore › Dialogue | EditDefaultsOnly, ClampMin=0.0 | 1.8 |
Advance arrow bobs per second. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Set Line | Callable | void SetLine(const FText& Speaker, const FText& Line) |
Starts revealing one line. |
| Set Has More | Callable | void SetHasMore(bool bHasMore) |
Hides the "there is more" glyph on the last line of a conversation. |
| Skip Reveal | Callable | bool SkipReveal() |
Finishes the reveal immediately. |
| Is Revealing | Pure | bool IsRevealing() const |
True while characters are still appearing. |
UXenoCoreEnemyLabelBase¶
Class · derives from UXenoCoreWorldLabelBase · header XenoCoreRuntime/Public/UI/XenoCoreEnemyLabelBase.h · abstract
The label over an enemy: "lvl.N" over its chevron, coloured by level against the party leader.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Refresh Interval | RefreshInterval |
float |
XenoCore › Enemy | EditDefaultsOnly, ClampMin=0.02 | 0.2 |
Seconds between re-reads of level, colour and distance. |
| Chevron Colour | ChevronColour |
FLinearColor |
XenoCore › Enemy | EditDefaultsOnly | FLinearColor(0.75, 0.75, 0.78, 1.0) |
The chevron's tint for an ordinary enemy. A Unique Monster's comes from XenoCore Enemies settings. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Set Enemy | Callable | void SetEnemy(AXenoCoreEnemyCharacter* InEnemy) |
Point the label at its enemy. |
| Refresh Label | Callable | void RefreshLabel() |
Re-read level, colour and distance now rather than on the next poll. |
UXenoCoreGameplayAbility_PaletteCycle¶
Class · derives from ULyraGameplayAbility · header XenoCoreRuntime/Public/UI/XenoCoreGameplayAbility_PaletteCycle.h · abstract
Moves the palette carousel one step. Bound to D-pad Up and D-pad Down.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Delta | Delta |
int32 |
XenoCore › Palette | EditDefaultsOnly | 1 |
+1 moves up the list, -1 moves down. |
| Horizontal | bHorizontal |
bool |
XenoCore › Palette | EditDefaultsOnly | false |
Move along the arts row (left/right) instead of the centre carousel (up/down). |
| Confirm | bConfirm |
bool |
XenoCore › Palette | EditDefaultsOnly | false |
True on the confirm binding: perform the selected entry instead of moving the selection. |
UXenoCoreGemPopupBase¶
Class · derives from UCommonActivatableWidget · header XenoCoreRuntime/Public/UI/XenoCoreGemPopupBase.h · Blueprintable
Gems on one piece of equipment: its sockets, and the bag's gems to put in them.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Title Text | TitleText |
TObjectPtr<UTextBlock> |
XenoCore › Gems | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Message Text | MessageText |
TObjectPtr<UTextBlock> |
XenoCore › Gems | BlueprintReadOnly, BindWidgetOptional | The line under the title. Named like the confirm popup's, whose skin this shares. | |
| Row Box | RowBox |
TObjectPtr<UVerticalBox> |
XenoCore › Gems | BlueprintReadOnly, BindWidget | The rows go here, rebuilt on every page. | |
| Row Class | RowClass |
TSubclassOf<UCommonButtonBase> |
XenoCore › Gems | EditDefaultsOnly | The row button class - W_XenoCore_MenuButton in the shipped skin. |
|
| Gem Name Colour | GemNameColour |
FLinearColor |
XenoCore › Gems | EditDefaultsOnly | FLinearColor(0.7, 0.58, 1.0, 1.0) |
Label colour of a gem row in the native row style. A menu-button skin tints by the gem's rarity instead. |
| Empty Colour | EmptyColour |
FLinearColor |
XenoCore › Gems | EditDefaultsOnly | FLinearColor(0.55, 0.58, 0.64, 1.0) |
Label colour of an empty socket, the Remove row and the "No gems" row. |
| Fixed Colour | FixedColour |
FLinearColor |
XenoCore › Gems | EditDefaultsOnly | FLinearColor(1.0, 0.78, 0.35, 1.0) |
A permanent gem's name colour. |
| Preview Block Name | PreviewBlockName |
FName |
XenoCore › Gems | EditDefaultsOnly | "StatDetailsBlock" |
The screen's character-sheet stat block variable - previews the highlighted gem. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Open Gem Popup | Callable | UXenoCoreGemPopupBase* OpenGemPopup(UUserWidget* Screen, UXenoCoreEquipmentComponent* Equipment, EXenoCoreEquipSlot EquipSlot) |
Open the gem popup for whatever Equipment wears in Slot, inside Screen's "OverlayStack". |
| Refresh Gem Column | Callable | void RefreshGemColumn(UUserWidget* Screen, UXenoCoreEquipmentComponent* Equipment) |
Draw the equipment screen's Gems column (GemBtn_1..6) and bind each to the gem popup. |
UXenoCoreGemRowButton¶
Class · derives from UCommonButtonBase · header XenoCoreRuntime/Public/UI/XenoCoreGemPopupBase.h · Blueprintable
One row of the gem popup: a label, a value, and a plate that lights under the cursor.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Plate | Plate |
TObjectPtr<UBorder> |
XenoCore › Gems | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Label Text | LabelText |
TObjectPtr<UTextBlock> |
XenoCore › Gems | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Value Text | ValueText |
TObjectPtr<UTextBlock> |
XenoCore › Gems | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Plate Colour | PlateColour |
FLinearColor |
XenoCore › Gems | EditDefaultsOnly | FLinearColor(0.08, 0.1, 0.14, 0.85) |
The row's plate colour when it does not have the cursor. |
| Focused Plate Colour | FocusedPlateColour |
FLinearColor |
XenoCore › Gems | EditDefaultsOnly | FLinearColor(0.18, 0.24, 0.34, 0.95) |
The cursor: a lighter plate and an outline. |
| Focused Outline Colour | FocusedOutlineColour |
FLinearColor |
XenoCore › Gems | EditDefaultsOnly | FLinearColor(1.0, 0.82, 0.22, 1.0) |
The outline drawn around the row that has the cursor. |
| Font Size | FontSize |
int32 |
XenoCore › Gems | EditDefaultsOnly, ClampMin=6 | 18 |
Point size of the row's label and value text. |
UXenoCoreHudPlateBase¶
Class · derives from UCommonUserWidget · header XenoCoreRuntime/Public/UI/XenoCoreHudPlateBase.h · abstract
Shared intro/outro slide-and-fade for the target-mode HUD plates.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Show Hide Duration | ShowHideDuration |
float |
XenoCore › HUD | EditDefaultsOnly, ClampMin=0.0 | 0.18 |
Seconds for the show/hide fade. Separate from Intro/Outro, which are one-shot. |
| Show Hide Offset | ShowHideOffset |
FVector2D |
XenoCore › HUD | EditDefaultsOnly | FVector2D::ZeroVector |
Pixel offset the plate slides in from on SetShown(true), and back out to on SetShown(false). |
| Intro Duration | IntroDuration |
float |
XenoCore › HUD › Transition | EditDefaultsOnly, ClampMin=0.0 | 0.22 |
Seconds for the plate to slide and fade in. |
| Outro Duration | OutroDuration |
float |
XenoCore › HUD › Transition | EditDefaultsOnly, ClampMin=0.0 | 0.14 |
Seconds for the plate to slide and fade out. Shorter than the intro reads as responsive. |
| Intro Offset | IntroOffset |
FVector2D |
XenoCore › HUD › Transition | EditDefaultsOnly | FVector2D(-40.0, 0.0) |
Pixel offset the plate starts from and returns to. Negative X slides in from the left. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Play Outro | Callable | void PlayOutro() |
Play the exit and remove the widget when it finishes. |
| Collapse All Except | Callable | void CollapseAllExcept(class UWidget* KeepLeaf) |
Collapse every widget in this plate except KeepLeaf and the chain of panels above it. |
| Set Shown | Callable | void SetShown(bool bShown) |
Fade this plate in or out and leave it alive, unlike PlayOutro which removes it. |
| Set Show Delay | Callable | void SetShowDelay(float Seconds) |
Delay the fade-in this many seconds after Set Shown (true). |
| Set Shown Immediate | Callable | void SetShownImmediate(bool bShown) |
Show or hide this plate at once, with no fade. |
| Skip Intro | Callable | void SkipIntro() |
Cancel the entrance animation and settle the plate at rest. |
| Begin Hidden | Callable | void BeginHidden() |
Start this plate hidden: cancels the entrance, then hides it with no fade. |
UXenoCoreInteractPromptBase¶
Class · derives from UCommonUserWidget · header XenoCoreRuntime/Public/UI/XenoCoreInteractPromptBase.h · abstract
The "A - <verb>" chips beside the player. Up to four of them, one per face button.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Plate Bg | PlateBg |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidget | One row = a plate, a button glyph and a label, and all three are shown or hidden together. | ||
| Border A | Border_A |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidget | No description. | ||
| Open Label | OpenLabel |
TObjectPtr<UTextBlock> |
BlueprintReadOnly, BindWidget | No description. | ||
| Plate Bg 2 | PlateBg2 |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Img X | Img_X |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Label 2 | Label2 |
TObjectPtr<UTextBlock> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Plate Bg 3 | PlateBg3 |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Img Y | Img_Y |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Label 3 | Label3 |
TObjectPtr<UTextBlock> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Plate Bg 4 | PlateBg4 |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Img B | Img_B |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Label 4 | Label4 |
TObjectPtr<UTextBlock> |
BlueprintReadOnly, BindWidgetOptional | No description. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Set Verbs | Callable | void SetVerbs(const TArray<FText>& InVerbs) |
Shows one row per verb, in order, and collapses the rest. |
| Set Verb | Callable | void SetVerb(const FText& InVerb) |
Convenience for the common single-action case. |
UXenoCoreItemBadgeBase¶
Class · derives from UCommonUserWidget · header XenoCoreRuntime/Public/UI/XenoCoreItemBadgeBase.h · abstract
One "item collected" row: symbol, name, drop shadow. Lives about three seconds and removes itself.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Badge Root | BadgeRoot |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidgetOptional | Everything that moves. Slid and faded as one so the parts cannot drift apart. | ||
| Symbol Icon | SymbolIcon |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | The category glyph, immediately left of the name. | ||
| Name Text | NameText |
TObjectPtr<UCommonTextBlock> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Rarity Pips | RarityPips |
TObjectPtr<class UPanelWidget> |
BlueprintReadOnly, BindWidgetOptional | The item's rarity diamonds. Optional; the name is coloured by rarity either way. | ||
| Title Text | TitleText |
TObjectPtr<UCommonTextBlock> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Height Box | HeightBox |
TObjectPtr<USizeBox> |
BlueprintReadOnly, BindWidgetOptional | Collapses the row's height across the outro, and without it the stack pops. A VerticalBox reflows the instant a child is removed, so a row in the middle vanishing would snap the ones below it upwards. | ||
| Content Root | ContentRoot |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidgetOptional | The content inside the frame. Carries the entrance scale pop. | ||
| Intro Duration | IntroDuration |
float |
XenoCore › Collectable › Badge | EditDefaultsOnly, ClampMin=0.01 | 0.22 |
Seconds the row takes to slide and fade in. |
| Hold Duration | HoldDuration |
float |
XenoCore › Collectable › Badge | EditDefaultsOnly, ClampMin=0.0 | 2.56 |
Seconds the row stays fully shown between intro and outro. |
| Outro Duration | OutroDuration |
float |
XenoCore › Collectable › Badge | EditDefaultsOnly, ClampMin=0.01 | 0.22 |
Seconds the row takes to fade out and collapse its height. |
| Slide From | SlideFrom |
float |
XenoCore › Collectable › Badge | EditDefaultsOnly | 260.0 |
How far right the row starts, in pixels. Positive slides in from the right edge. |
| Row Height | RowHeight |
float |
XenoCore › Collectable › Badge | EditDefaultsOnly, ClampMin=0.0 | 84.0 |
Fallback height to collapse from, used only if the row's own desired size cannot be read. The row normally sizes to its content, so this is a floor, not a layout value. |
| Badge Width | BadgeWidth |
float |
XenoCore › Collectable › Badge | EditDefaultsOnly, ClampMin=80.0 | 520.0 |
Every badge is this wide, whatever the item is called. |
| Overshoot | Overshoot |
float |
XenoCore › Collectable › Badge | EditDefaultsOnly, ClampMin=0.0, ClampMax=0.5 | 0.08 |
How far past its resting place the entrance carries before settling, as a fraction of the slide. Zero is a plain ease-out. |
| Icon Size | IconSize |
float |
XenoCore › Collectable › Badge | EditDefaultsOnly, ClampMin=8.0 | 56.0 |
The category glyph's size, in pixels. |
| Title | Title |
FText |
XenoCore › Collectable › Badge | EditDefaultsOnly | NSLOCTEXT("XenoCoreCollectable", "ItemCollected", "ITEM C... |
The line above the name. |
| Icon Set | IconSet |
TObjectPtr<const class UXenoCoreItemIconSet> |
XenoCore › UI | EditDefaultsOnly | Where a category's glyph comes from. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Show Item | Callable | void ShowItem(ULyraInventoryItemInstance* Item) |
Fill the row and start its clock. |
| Is Finished | Pure | bool IsFinished() const |
True once the outro has finished and the stack may drop this row. |
| On Item Shown | Event (overridable) | void OnItemShown(ULyraInventoryItemInstance* Item) |
Repaints the bound widgets. |
UXenoCoreItemBadgeStackBase¶
Class · derives from UCommonUserWidget · header XenoCoreRuntime/Public/UI/XenoCoreItemBadgeBase.h · abstract
The middle-right stack. Holds up to MaxRows badges, newest at the bottom, each self-timing.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Row Box | RowBox |
TObjectPtr<UVerticalBox> |
BlueprintReadOnly, BindWidgetOptional | The rows live here. A VerticalBox so they stack in arrival order without any maths. | ||
| Row Class | RowClass |
TSubclassOf<UXenoCoreItemBadgeBase> |
XenoCore › Collectable › Badge | EditDefaultsOnly | What to spawn per pickup. | |
| Max Rows | MaxRows |
int32 |
XenoCore › Collectable › Badge | EditDefaultsOnly, ClampMin=1 | 4 |
Oldest rows are dropped past this. Grabbing a fistful of orbs should not paper the screen. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Push Item | Callable | void PushItem(ULyraInventoryItemInstance* Item) |
Show a badge now. |
UXenoCoreItemSortControl¶
Class · derives from UCommonUserWidget · header XenoCoreRuntime/Public/UI/XenoCoreItemSortControl.h · Blueprintable
Y-to-sort for an item list. Place it on a screen, set Target List Name, and route Set List Items through Sort Items.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Modes | Modes |
TArray<EXenoCoreItemSort> |
XenoCore › Sort | EditAnywhere, BlueprintReadOnly | { EXenoCoreItemSort::Default, EXenoCoreItemSort::Rarity, ... |
The modes Y cycles through, in order. The first is where a freshly opened screen starts. |
| Sort Action | SortAction |
FDataTableRowHandle |
XenoCore › Sort | EditAnywhere | The input that cycles the sort - DT_XenoCore_Actions' MerchantSort row (Y), shared with the shop. Unset = no sort, silently. |
|
| Target List Name | TargetListName |
FName |
XenoCore › Sort | EditAnywhere | "ItemList" |
The UListView, by widget name in the same screen, that Y re-sorts in place. |
| Prompt Format | PromptFormat |
FText |
XenoCore › Sort | EditAnywhere | The action bar wording. {0} is the mode's name - "Sort: Rarity". |
Events you can bind
| Event | Type | Description |
|---|---|---|
OnSortChanged |
FXenoCoreItemSortChanged |
After every change of mode, for a screen that wants to react (a header, a sound). |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Sort Mode | Pure | EXenoCoreItemSort GetSortMode() const |
The current mode. |
| Sort Items | Pure | TArray<ULyraInventoryItemInstance*> SortItems(const TArray<ULyraInventoryItemInstance*>& Items) const |
Items in the current mode's order. |
| Cycle Sort | Callable | void CycleSort() |
Next mode in Modes, re-sorts the target list, updates the prompt. |
| Set Sort Mode | Callable | void SetSortMode(EXenoCoreItemSort NewMode) |
Jump to a mode (it need not be in Modes). |
| Sort Item Instances | Pure | TArray<ULyraInventoryItemInstance*> SortItemInstances(const TArray<ULyraInventoryItemInstance*>& Items, EXenoCoreItemSort Mode) |
The one ordering rule, for any caller. |
UXenoCoreListWrap¶
Class · derives from UObject · header XenoCoreRuntime/Public/UI/XenoCoreMenuStatics.h
The object a list view's custom navigation rule is bound to - a dynamic delegate needs a ufunction on a live UObject, and UListView has none of the right shape.
UXenoCoreListWrapSubsystem¶
Class · derives from UGameInstanceSubsystem · header XenoCoreRuntime/Public/UI/XenoCoreMenuStatics.h
No description.
UXenoCoreLoadingScreenBase¶
Class · derives from UUserWidget · header XenoCoreRuntime/Public/UI/XenoCoreLoadingScreenBase.h · abstract · Blueprintable
Loading screen: an animated "loading..." word. Named by LoadingScreenWidget in DefaultGame.ini; ULoadingScreenManager adds it straight to the viewport, so it is a plain UUserWidget.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Loading Word | LoadingWord |
FText |
XenoCore › Loading | EditDefaultsOnly | NSLOCTEXT("XenoCoreLoading", "Loading", "LOADING") |
The word, without dots. |
| Dot Interval | DotInterval |
float |
XenoCore › Loading | EditDefaultsOnly, ClampMin=0.05, Units=s | 0.4 |
Seconds per dot; three dots then a blank beat. |
| Loading Text | LoadingText |
TObjectPtr<UTextBlock> |
XenoCore › Loading | BlueprintReadOnly, BindWidget | No description. |
UXenoCoreLogoBootScreenBase¶
Class · derives from UXenoCoreBootScreenBase · header XenoCoreRuntime/Public/UI/XenoCoreLogoBootScreenBase.h · abstract · Blueprintable
A boot card whose letters spread apart as it appears, slowing as they settle.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Spread From Spacing | SpreadFromSpacing |
int32 |
XenoCore › Boot | EditDefaultsOnly | 40 |
Letter spacing the text starts at, in Slate's 1/1000 em. |
| Spread Time | SpreadTime |
float |
XenoCore › Boot | EditDefaultsOnly, ClampMin=0.01, Units=s | 3.2 |
How long the spread takes to settle. Longer than the fade-in, so it is still moving once visible. |
| Spread Ease Exponent | SpreadEaseExponent |
float |
XenoCore › Boot | EditDefaultsOnly, ClampMin=1.0 | 4.0 |
Ease-out exponent: 1 is linear, higher starts faster and settles more slowly. |
UXenoCoreMainMenuBase¶
Class · derives from UCommonActivatableWidget · header XenoCoreRuntime/Public/UI/XenoCoreMainMenuBase.h · Blueprintable
The main menu: entries on the left, party cards, gold and play time, and the highlighted entry's description.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Card Class | CardClass |
TSubclassOf<UXenoCorePartyCardBase> |
XenoCore › Menu | EditDefaultsOnly, BlueprintReadOnly | The card drawn for each active party member. The native class builds its own default look. | |
| Card Slots | CardSlots |
int32 |
XenoCore › Menu | EditDefaultsOnly, BlueprintReadOnly, ClampMin=1 | 7 |
How many equal card slots the row is divided into. Match the party's maximum active members. |
| Card Spacing | CardSpacing |
float |
XenoCore › Menu | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0 | 10.0 |
The gap between two cards. |
| Play Intro | bPlayIntro |
bool |
XenoCore › Intro | EditDefaultsOnly, BlueprintReadOnly | true |
Play the opening animation each time the menu opens. |
| Fade In Duration | FadeInDuration |
float |
XenoCore › Intro | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0 | 0.15 |
How long the whole menu takes to fade in. |
| Entries Slide Duration | EntriesSlideDuration |
float |
XenoCore › Intro | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0 | 0.25 |
How long the entry list takes to slide in from the left. |
| Entries Slide Distance | EntriesSlideDistance |
float |
XenoCore › Intro | EditDefaultsOnly, BlueprintReadOnly | 60.0 |
How far the entry list slides in from the left, in Slate units. |
| Card Duration | CardDuration |
float |
XenoCore › Intro | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0 | 0.3 |
Each card rises and fades in over this long... |
| Card Rise Distance | CardRiseDistance |
float |
XenoCore › Intro | EditDefaultsOnly, BlueprintReadOnly | 40.0 |
...this far... |
| Card Stagger | CardStagger |
float |
XenoCore › Intro | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0 | 0.04 |
...starting this long after the card before it, leader first. |
| Buttons Box | ButtonsBox |
TObjectPtr<UPanelWidget> |
XenoCore › Menu | BlueprintReadOnly, BindWidgetOptional | The panel the shell's graph builds the entry buttons into. | |
| Card Row | CardRow |
TObjectPtr<UPanelWidget> |
XenoCore › Menu | BlueprintReadOnly, BindWidgetOptional | Where the party cards go - a Horizontal Box. | |
| Gold Text | GoldText |
TObjectPtr<UTextBlock> |
XenoCore › Menu | BlueprintReadOnly, BindWidgetOptional | "24,862 G". | |
| Play Time Text | PlayTimeText |
TObjectPtr<UTextBlock> |
XenoCore › Menu | BlueprintReadOnly, BindWidgetOptional | Play time, as the save screen prints it. | |
| Description Text | DescriptionText |
TObjectPtr<UTextBlock> |
XenoCore › Menu | BlueprintReadOnly, BindWidgetOptional | The highlighted entry's Description. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Refresh Cards | Callable | void RefreshCards() |
Redraws the party cards - call after anything changes the party while the menu is open. |
UXenoCoreMenuAction¶
Class · derives from UObject · header XenoCoreRuntime/Public/UI/XenoCoreMenuEntry.h · abstract · Blueprintable · BlueprintType
What a menu entry does when pressed, when it is more than opening a screen. Subclass in Blueprint and override Run.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Run | Event (overridable) | void Run(APlayerController* Player, UUserWidget* Menu) const |
Runs the entry. |
UXenoCoreMenuAction_OpenArts¶
Class · derives from UXenoCoreMenuAction · header XenoCoreRuntime/Public/UI/XenoCoreMenuEntry.h
Opens the Arts screen set in XenoCore UI settings.
UXenoCoreMenuAction_OpenLoadScreen¶
Class · derives from UXenoCoreMenuAction · header XenoCoreRuntime/Public/UI/XenoCoreMenuEntry.h
Opens the save screen in Load mode.
UXenoCoreMenuAction_OpenQuestLog¶
Class · derives from UXenoCoreMenuAction · header XenoCoreRuntime/Public/UI/XenoCoreMenuEntry.h
Opens the quest log set in XenoCore UI settings.
UXenoCoreMenuAction_OpenSaveScreen¶
Class · derives from UXenoCoreMenuAction · header XenoCoreRuntime/Public/UI/XenoCoreMenuEntry.h
Opens the save screen in Save mode.
UXenoCoreMenuAction_OpenSkills¶
Class · derives from UXenoCoreMenuAction · header XenoCoreRuntime/Public/UI/XenoCoreMenuEntry.h
Opens the Skills screen set in XenoCore UI settings.
UXenoCoreMenuAction_QuitGame¶
Class · derives from UXenoCoreMenuAction · header XenoCoreRuntime/Public/UI/XenoCoreMenuEntry.h
Quits the game, asking first if there is unsaved progress.
UXenoCoreMenuAction_ReturnToTitle¶
Class · derives from UXenoCoreMenuAction · header XenoCoreRuntime/Public/UI/XenoCoreMenuEntry.h
Returns to the title screen, asking first if there is unsaved progress.
UXenoCoreMenuCondition¶
Class · derives from UObject · header XenoCoreRuntime/Public/UI/XenoCoreMenuEntry.h · abstract · Blueprintable · BlueprintType
Decides whether a menu entry is shown. Subclass in Blueprint and override Is Visible.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Is Visible | Event (overridable) | bool IsVisible(APlayerController* Player) const |
True to show the entry. |
UXenoCoreMenuEntryButton¶
Class · derives from UCommonButtonBase · header XenoCoreRuntime/Public/UI/XenoCoreMenuEntryButton.h · Blueprintable
A main-menu entry button styled like a Party Tactics row. The default Menu Button Class.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Label Font | LabelFont |
FSlateFontInfo |
XenoCore › Look | EditDefaultsOnly, BlueprintReadOnly | Font of the entry's label. | |
| Text Colour | TextColour |
FLinearColor |
XenoCore › Look | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.92, 0.95, 1.0, 1.0) |
Label colour while the entry is highlighted. |
| Dim Colour | DimColour |
FLinearColor |
XenoCore › Look | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.55, 0.62, 0.72, 1.0) |
Label colour while the entry is not highlighted. |
| Highlight Colour | HighlightColour |
FLinearColor |
XenoCore › Look | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.25, 0.55, 0.95, 0.3) |
Row fill drawn behind a highlighted entry. |
| Accent Colour | AccentColour |
FLinearColor |
XenoCore › Look | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.3, 0.62, 1.0, 1.0) |
Colour of the accent stripe at the edge of a highlighted entry. |
| Row | Row |
TObjectPtr<UBorder> |
XenoCore › Menu | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Stripe | Stripe |
TObjectPtr<UBorder> |
XenoCore › Menu | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Label Text | LabelText |
TObjectPtr<UTextBlock> |
XenoCore › Menu | BlueprintReadOnly, BindWidgetOptional | No description. |
UXenoCoreMenuEntrySet¶
Class · derives from UPrimaryDataAsset · header XenoCoreRuntime/Public/UI/XenoCoreMenuEntry.h · BlueprintType
A list of menu entries kept in its own asset, named from Project Settings > XenoCore UI > Additional Menu Entry Sets.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Entries | Entries |
TArray<FXenoCoreMenuEntry> |
Menu | EditAnywhere, BlueprintReadOnly | The entries this set adds, or replaces by Id. |
UXenoCoreMenuStatics¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreRuntime/Public/UI/XenoCoreMenuStatics.h
Menu plumbing a Blueprint screen cannot do by itself.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Wrap List View | Callable | 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. |
| Build Menu | Callable | 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. |
| Get First Menu Button | Pure | UWidget* GetFirstMenuButton(UPanelWidget* Container) |
The first button in a menu panel - what a menu should focus when it opens. |
| Build Menu In Panel | Callable | int32 BuildMenuInPanel(UUserWidget* Menu, FName PanelName = "ButtonsBox") |
No description. |
| Get First Menu Button In Panel | Pure | UWidget* GetFirstMenuButtonInPanel(UUserWidget* Menu, FName PanelName = "ButtonsBox") |
No description. |
| Get Menu Entries | Callable | 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. |
| Activate Menu Entry | Callable | void ActivateMenuEntry(UUserWidget* Menu, const FXenoCoreMenuEntry& Entry) |
Do what pressing an entry does: run its Action, else push its Screen onto its layer. |
UXenoCoreMovieBootScreenBase¶
Class · derives from UXenoCoreBootScreenBase · header XenoCoreRuntime/Public/UI/XenoCoreMovieBootScreenBase.h · abstract · Blueprintable
A boot card that plays a clip full screen, and holds until the clip ends.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Movie | Movie |
TObjectPtr<UMediaSource> |
XenoCore › Boot | EditDefaultsOnly | The clip. | |
| Movie Image | MovieImage |
TObjectPtr<UImage> |
XenoCore › Boot | BlueprintReadOnly, BindWidget | Draws the clip. Its brush is replaced at runtime; its size and alignment are the widget's. |
UXenoCorePartyCardBase¶
Class · derives from UUserWidget · header XenoCoreRuntime/Public/UI/XenoCorePartyCardBase.h · Blueprintable
One party member's card on the main menu: slot, portrait, skill tree, name, level and HP.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Card Width | CardWidth |
float |
XenoCore › Look | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0 | 0.0 |
A fixed card width, or 0 to fill the slot the main menu gives each card (one Card Slots-th of the row). |
| Portrait Crop | PortraitCrop |
float |
XenoCore › Look | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.1, ClampMax=1.0 | 0.55 |
Fraction of the portrait shown, from the top. 1 shows the whole body; smaller zooms in on the face. |
| Frame Colour | FrameColour |
FLinearColor |
XenoCore › Look | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.02, 0.03, 0.05, 0.85) |
The card's background fill. |
| Outline Colour | OutlineColour |
FLinearColor |
XenoCore › Look | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.3, 0.62, 1.0, 0.45) |
The card's outline, for every member but the leader. |
| Leader Outline Colour | LeaderOutlineColour |
FLinearColor |
XenoCore › Look | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.3, 0.62, 1.0, 1.0) |
The leader's outline - the accent at full strength. |
| Portrait Back Colour | PortraitBackColour |
FLinearColor |
XenoCore › Look | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.05, 0.09, 0.16, 0.7) |
Behind the portrait, so a cut-out render reads against something. |
| Band Colour | BandColour |
FLinearColor |
XenoCore › Look | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.1, 0.18, 0.32, 0.85) |
The band the name block sits on - the tactics title band. |
| Accent Colour | AccentColour |
FLinearColor |
XenoCore › Look | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.3, 0.62, 1.0, 1.0) |
The skill tree line and "Leader". |
| Text Colour | TextColour |
FLinearColor |
XenoCore › Look | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.92, 0.95, 1.0, 1.0) |
The slot number, the name and the Lv/HP values. |
| Label Colour | LabelColour |
FLinearColor |
XenoCore › Look | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.55, 0.62, 0.72, 1.0) |
The Lv and HP labels. |
| Divider Colour | DividerColour |
FLinearColor |
XenoCore › Look | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.55, 0.62, 0.72, 0.35) |
The rule between the name and the Lv/HP block. |
| Frame | Frame |
TObjectPtr<UBorder> |
XenoCore › Menu | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Portrait Image | PortraitImage |
TObjectPtr<UImage> |
XenoCore › Menu | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Slot Text | SlotText |
TObjectPtr<UTextBlock> |
XenoCore › Menu | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Leader Text | LeaderText |
TObjectPtr<UTextBlock> |
XenoCore › Menu | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Branch Text | BranchText |
TObjectPtr<UTextBlock> |
XenoCore › Menu | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Name Text | NameText |
TObjectPtr<UTextBlock> |
XenoCore › Menu | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Level Value Text | LevelValueText |
TObjectPtr<UTextBlock> |
XenoCore › Menu | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Health Value Text | HealthValueText |
TObjectPtr<UTextBlock> |
XenoCore › Menu | BlueprintReadOnly, BindWidgetOptional | No description. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Set Member | Callable | void SetMember(UXenoCorePartyMemberDefinition* InMember, int32 InSlotIndex) |
Draws this member in this slot (0 is the leader's). |
| Get Member | Pure | UXenoCorePartyMemberDefinition* GetMember() const |
The member this card is drawing, or null for an empty card. |
| On Member Set | Event (implement in Blueprint) | void OnMemberSet(const FXenoCorePartyRowInfo& Info, int32 InSlotIndex) |
Called after the card has drawn a member - restyle or add to it here. |
UXenoCorePartyGaugeWidget¶
Class · derives from UCommonUserWidget · header XenoCoreRuntime/Public/UI/XenoCorePartyGaugeWidget.h · Blueprintable
The Party Gauge readout: one framed bar per Party Gauge bar, filled from XenoCore.PartyGauge.Message.Changed.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Segment Box | SegmentBox |
TObjectPtr<UHorizontalBox> |
XenoCore › PartyGauge | BlueprintReadOnly, BindWidgetOptional | Optional: where the segments go. A native instance builds its own. | |
| Effect Box | EffectBox |
TObjectPtr<UOverlay> |
XenoCore › PartyGauge | BlueprintReadOnly, BindWidgetOptional | Optional: where FullEffect is drawn, over the segments. A native instance builds its own. | |
| Segment Size | SegmentSize |
FVector2D |
XenoCore › PartyGauge › Layout | EditAnywhere, BlueprintReadOnly | FVector2D(180.0, 28.0) |
One segment's size, frame included. |
| Segment Gap | SegmentGap |
float |
XenoCore › PartyGauge › Layout | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 10.0 |
The gap between segments. |
| Corner Radius | CornerRadius |
float |
XenoCore › PartyGauge › Layout | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 6.0 |
Corner radius of each segment's frame. |
| Fill Inset | FillInset |
float |
XenoCore › PartyGauge › Layout | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 4.0 |
How far the fill sits inside the frame. |
| Full Colour | FullColour |
FLinearColor |
XenoCore › PartyGauge › Colour | EditAnywhere, BlueprintReadOnly | FLinearColor(0.12, 0.62, 1.0, 1.0) |
A full, spendable bar. |
| Filling Colour | FillingColour |
FLinearColor |
XenoCore › PartyGauge › Colour | EditAnywhere, BlueprintReadOnly | FLinearColor(0.08, 0.3, 0.62, 1.0) |
The bar that is still filling. |
| Empty Colour | EmptyColour |
FLinearColor |
XenoCore › PartyGauge › Colour | EditAnywhere, BlueprintReadOnly | FLinearColor(0.015, 0.025, 0.045, 0.85) |
An empty segment's track. |
| Frame Colour | FrameColour |
FLinearColor |
XenoCore › PartyGauge › Colour | EditAnywhere, BlueprintReadOnly | FLinearColor(0.62, 0.82, 1.0, 0.85) |
The frame's outline. |
| Frame Width | FrameWidth |
float |
XenoCore › PartyGauge › Colour | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 2.0 |
Thickness of the frame around each bar, in slate units. |
| Gloss Opacity | GlossOpacity |
float |
XenoCore › PartyGauge › Colour | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, ClampMax=1.0 | 0.22 |
The highlight across the top half of the fill. 0 turns it off. |
| Shadow Colour | ShadowColour |
FLinearColor |
XenoCore › PartyGauge › Shadow | EditAnywhere, BlueprintReadOnly | FLinearColor(0.0, 0.0, 0.0, 0.6) |
The drop shadow. Two layers: this colour at this offset, and a wider, fainter one under it. |
| Shadow Offset | ShadowOffset |
FVector2D |
XenoCore › PartyGauge › Shadow | EditAnywhere, BlueprintReadOnly | FVector2D(4.0, 6.0) |
Offset of the drop shadow from the bar, in slate units. |
| Glow Colour | GlowColour |
FLinearColor |
XenoCore › PartyGauge › Glow | EditAnywhere, BlueprintReadOnly | FLinearColor(0.55, 0.9, 1.0, 1.0) |
The glow behind a full bar: flashes as it fills, then breathes while it stays full. |
| Pulse Speed | PulseSpeed |
float |
XenoCore › PartyGauge › Glow | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 1.2 |
Breaths per second while a bar is full. 0 holds it steady. |
| Ready Pulse Colour | ReadyPulseColour |
FLinearColor |
XenoCore › PartyGauge › Ready | EditAnywhere, BlueprintReadOnly | FLinearColor(0.8, 0.97, 1.0, 1.0) |
The colour the fills pulse toward while every bar is full. |
| Halo Colour | HaloColour |
FLinearColor |
XenoCore › PartyGauge › Ready | EditAnywhere, BlueprintReadOnly | FLinearColor(0.35, 0.8, 1.0, 0.55) |
The halo behind the whole gauge while every bar is full. Alpha is its brightest. |
| Ready Pulse Speed | ReadyPulseSpeed |
float |
XenoCore › PartyGauge › Ready | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 1.8 |
Pulses per second while every bar is full. |
| Refused Colour | RefusedColour |
FLinearColor |
XenoCore › PartyGauge › Refused | EditAnywhere, BlueprintReadOnly | FLinearColor(0.85, 0.1, 0.08, 1.0) |
Bars that are not full flash this colour when a spend is refused. |
| Refused Seconds | RefusedSeconds |
float |
XenoCore › PartyGauge › Refused | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 0.5 |
Seconds the refusal flash and shake last. 0 turns both off. |
| Refused Shake | RefusedShake |
float |
XenoCore › PartyGauge › Refused | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 7.0 |
How far the readout shakes sideways, in slate units. 0 flashes without shaking. |
| Fill Speed | FillSpeed |
float |
XenoCore › PartyGauge | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 400.0 |
How fast the displayed points chase the real ones, in points per second. 0 snaps. |
| Full Effect | FullEffect |
TObjectPtr<UNiagaraSystem> |
XenoCore › PartyGauge › Effect | EditAnywhere, BlueprintReadOnly | Played once as the last bar fills. Must use the Niagara UI Renderer's UI Sprite Renderer. | |
| Full Effect Scale | FullEffectScale |
float |
XenoCore › PartyGauge › Effect | EditAnywhere, BlueprintReadOnly, ClampMin=0.01 | 1.0 |
Niagara units to UI pixels. |
| Full Effect Duration | FullEffectDuration |
float |
XenoCore › PartyGauge › Effect | EditAnywhere, BlueprintReadOnly, ClampMin=0.1 | 2.0 |
How long the effect's widget is kept before it is removed. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Play Full Effect | Callable | void PlayFullEffect() |
Play FullEffect now, whatever the gauge holds - for previews and tests. |
| On Bar Filled | Event (implement in Blueprint) | void OnBarFilled(int32 BarIndex) |
A bar just became full. |
| On Gauge Full | Event (implement in Blueprint) | void OnGaugeFull() |
Every bar is full - a Chain Attack is ready. |
| On Spend Refused | Event (implement in Blueprint) | void OnSpendRefused() |
A spend was refused. |
UXenoCorePartyJoinBannerBase¶
Class · derives from UCommonUserWidget · header XenoCoreRuntime/Public/UI/XenoCorePartyJoinBannerBase.h · abstract
"<Name> joined the party" - the flourish shown on returning to gameplay after a party change.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Banner Root | BannerRoot |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidgetOptional | Everything that moves. Slid and faded as one, so the parts cannot drift apart. | ||
| Portrait Image | PortraitImage |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Name Text | NameText |
TObjectPtr<UCommonTextBlock> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Role Text | RoleText |
TObjectPtr<UCommonTextBlock> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Title Text | TitleText |
TObjectPtr<UCommonTextBlock> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Flash Image | FlashImage |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | The burst behind the portrait: scales out and fades on entry. | ||
| Intro Duration | IntroDuration |
float |
XenoCore › Party › Banner | EditDefaultsOnly, ClampMin=0.01 | 0.42 |
Seconds for the banner to slide and fade in. |
| Hold Duration | HoldDuration |
float |
XenoCore › Party › Banner | EditDefaultsOnly, ClampMin=0.0 | 1.9 |
Seconds the banner stays at rest before leaving. |
| Outro Duration | OutroDuration |
float |
XenoCore › Party › Banner | EditDefaultsOnly, ClampMin=0.01 | 0.3 |
Seconds for the banner to fade out. |
| Slide From | SlideFrom |
float |
XenoCore › Party › Banner | EditDefaultsOnly | -420.0 |
How far left the banner starts, in pixels. Negative slides in from the left edge. |
| Overshoot | Overshoot |
float |
XenoCore › Party › Banner | EditDefaultsOnly, ClampMin=0.0, ClampMax=0.5 | 0.08 |
How far past its resting place the entrance carries before settling, as a fraction of the slide. Zero is a plain ease-out. |
| Joined Title | JoinedTitle |
FText |
XenoCore › Party › Banner | EditDefaultsOnly | NSLOCTEXT("XenoCoreParty", "JoinedTitle", "JOINED THE PAR... |
The line above the name when a member joins. |
| Left Title | LeftTitle |
FText |
XenoCore › Party › Banner | EditDefaultsOnly | NSLOCTEXT("XenoCoreParty", "LeftTitle", "LEFT THE PARTY") |
The line above the name when a member leaves. |
| Joined Accent | JoinedAccent |
FLinearColor |
XenoCore › Party › Banner | EditDefaultsOnly | FLinearColor(0.41, 0.75, 0.78, 1.0) |
Accent for the title and the burst when a member joins, so the two readings are told apart at a glance. |
| Left Accent | LeftAccent |
FLinearColor |
XenoCore › Party › Banner | EditDefaultsOnly | FLinearColor(0.8, 0.55, 0.35, 1.0) |
Accent for the title and the burst when a member leaves. |
| Effect Layer | EffectLayer |
TObjectPtr<UCanvasPanel> |
BlueprintReadOnly, BindWidgetOptional | Behind the banner: where JoinedEffect draws. | ||
| Joined Effect | JoinedEffect |
FXenoCoreUIEffect |
XenoCore › Party › Banner | EditDefaultsOnly | The burst a join plays. A member leaving plays none. | |
| Join Sound | JoinSound |
TObjectPtr<USoundBase> |
XenoCore › Party › Banner | EditDefaultsOnly | Played once as the banner starts. Left unset ships silent rather than borrowing a cue. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Play Notice | Callable | void PlayNotice(const FXenoCorePartyNotice& Notice) |
Play one announcement. |
| Is Playing | Pure | bool IsPlaying() const |
True while a banner is on screen. |
| On Notice Started | Event (overridable) | void OnNoticeStarted(const UXenoCorePartyMemberDefinition* Member, EXenoCorePartyNoticeType Type) |
Repaints the bound widgets. |
UXenoCorePartyMemberPlateBase¶
Class · derives from UXenoCorePlayerPlateBase · header XenoCoreRuntime/Public/UI/XenoCorePartyMemberPlateBase.h · abstract
One row of the party column. Slot 0 is the leader; slots 1..N are the companions.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Party Slot | PartySlot |
int32 |
XenoCore › Party | EditAnywhere, BlueprintReadOnly, ClampMin=0 | 0 |
Which row this is. Instance-editable so a designer sets it on the placed widget rather than needing a Blueprint per row. |
| Auto Centre Column | bAutoCentreColumn |
bool |
XenoCore › Party | EditAnywhere, BlueprintReadOnly | true |
Keep the column centred on the left edge as the party grows and shrinks. |
| Column Pitch | ColumnPitch |
float |
XenoCore › Party | EditAnywhere, BlueprintReadOnly, ClampMin=1.0 | 144.0 |
Vertical distance between rows, in slate units. Measured from the authored layout - the seven plates sit at y = 46, 190, 334, 479, 623, 767, 911 - rather than chosen. |
| Row Show Stagger | RowShowStagger |
float |
XenoCore › Party | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 0.05 |
Seconds of extra delay per row before the slide-in starts, so the column is dealt out rather than appearing as one block. Multiplied by PartySlot, so row 0 leads and never waits. |
| Leader Display Name | LeaderDisplayName |
FText |
XenoCore › Party | EditAnywhere, BlueprintReadOnly | Name shown on the leader's row only. Companions take theirs from their definition. | |
| Grey When Downed | bGreyWhenDowned |
bool |
XenoCore › Party › Downed | EditAnywhere, BlueprintReadOnly | true |
Grey the row out while its character is downed. |
| Downed Portrait Tint | DownedPortraitTint |
FLinearColor |
XenoCore › Party › Downed | EditAnywhere, BlueprintReadOnly | FLinearColor(0.3, 0.3, 0.34, 1.0) |
Multiplied over the portrait while downed. |
| Downed Text Colour | DownedTextColour |
FLinearColor |
XenoCore › Party › Downed | EditAnywhere, BlueprintReadOnly | FLinearColor(0.46, 0.46, 0.5, 1.0) |
The name, level and HP text while downed. |
| Downed Health Bar Opacity | DownedHealthBarOpacity |
float |
XenoCore › Party › Downed | EditAnywhere, BlueprintReadOnly, ClampMin=0.0, ClampMax=1.0 | 0.45 |
The health bar's opacity while downed. |
| Name Text | NameText |
TObjectPtr<UCommonTextBlock> |
BlueprintReadOnly, BindWidgetOptional | BindWidgetOptional: a row that shows no name should not be a compile error. | ||
| Party Gauge | PartyGauge |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidgetOptional | The Party Gauge, shown on the leader's row (slot 0) only. | ||
| Portrait Image | PortraitImage |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | The character's face. | ||
| Status Icon Box | StatusIconBox |
TObjectPtr<class UPanelWidget> |
BlueprintReadOnly, BindWidgetOptional | The character's active statuses, one icon each, beside the plate. | ||
| Status Icon Size | StatusIconSize |
float |
XenoCore › Party › Status | EditAnywhere, ClampMin=8.0 | 30.0 |
Size of each status icon, in Slate units. |
| Status Refresh Interval | StatusRefreshInterval |
float |
XenoCore › Party › Status | EditAnywhere, ClampMin=0.05 | 0.2 |
Seconds between re-reads of the character's active statuses. |
| Switch Slide Seconds | SwitchSlideSeconds |
float |
XenoCore › Party › Switch | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 0.22 |
Seconds a row takes to slide from where its character sat before a leader switch. 0 snaps. |
| Switch Reveal Seconds | SwitchRevealSeconds |
float |
XenoCore › Party › Switch | EditAnywhere, BlueprintReadOnly, ClampMin=0.0 | 1.2 |
Seconds the column stays up after a leader switch outside battle. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Party Slot | Pure | int32 GetPartySlot() const |
Which row this is. |
| Apply Column Layout | Callable | void ApplyColumnLayout() |
Re-anchors this row so the column stays vertically centred on the left edge whatever the party size is. |
| Get Slot Pawn | Pure | APawn* GetSlotPawn() const |
The pawn this row shows - the player for slot 0, a companion otherwise. |
| Get Slot Member | Pure | AXenoCoreCombatantCharacter* GetSlotMember() const |
The companion in this slot, or null for slot 0 and for empty slots. |
| Get Slot Display Name | Pure | FText GetSlotDisplayName() const |
What this row calls its character. |
| Refresh Slot | Callable | void RefreshSlot() |
Re-reads who is in this slot and repaints. |
| Is Showing Downed | Pure | bool IsShowingDowned() const |
True while this row shows a downed character. |
| On Downed Changed | Event (implement in Blueprint) | void OnDownedChanged(bool bDowned) |
The row just went grey (true) or came back (false). |
| On Switch Slide | Event (implement in Blueprint) | void OnSwitchSlide(int32 FromSlot) |
This row's character just arrived from row FromSlot on a leader switch. |
UXenoCorePartyUIStatics¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreRuntime/Public/UI/XenoCorePartyUIStatics.h
The Party screen's read surface.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Party Row Info | Pure | FXenoCorePartyRowInfo GetPartyRowInfo(UXenoCorePartyMemberDefinition* Member) |
Everything a row draws for one character. |
| Get Member In Slot | Pure | UXenoCorePartyMemberDefinition* GetMemberInSlot(int32 ActiveSlot) |
The character in an active slot, or null if the slot is empty or out of range. |
| Get Party Name With Level | Pure | FText GetPartyNameWithLevel(UXenoCorePartyMemberDefinition* Member) |
"Shulk Lv 24" - the name with the level beside it, for a stat block header. |
| Get Role Label | Pure | FText GetRoleLabel(EXenoCoreRole Role) |
The display name for a role. |
| Get Party Stat Lines | Pure | 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 | TArray<UXenoCorePartyMemberDefinition*> GetReserveMembers() |
Everyone recruited but not deployed - the right-hand pool the player chooses from. |
| Get Member Equipment | Pure | UXenoCoreEquipmentComponent* GetMemberEquipment(UXenoCorePartyMemberDefinition* Member) |
A character's equipment component, or null when they have no body. |
| Get Leader Member | Pure | UXenoCorePartyMemberDefinition* GetLeaderMember() |
The character the player is driving - what a character-scoped screen opens on. |
| Get Screen Pawn | Pure | 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 Screen Equipment | Pure | UXenoCoreEquipmentComponent* GetScreenEquipment(UXenoCorePartyMemberDefinition* Member) |
The loadout a character screen should edit. |
| Get Adjacent Active Member | Pure | UXenoCorePartyMemberDefinition* GetAdjacentActiveMember(UXenoCorePartyMemberDefinition* Current, int32 Delta) |
The next active character along from Current, wrapping at both ends. |
| Get Member Portrait Texture | Pure | UTexture2D* GetMemberPortraitTexture(UXenoCorePartyMemberDefinition* Member) |
This character's portrait, loaded, or null. |
| Get Item Holder Portrait | Pure | UTexture2D* GetItemHolderPortrait(const ULyraInventoryItemInstance* Item) |
The portrait of whoever is wearing this item, loaded, or null if nobody is. |
| Get Take Item Prompt | Pure | FText GetTakeItemPrompt(const ULyraInventoryItemInstance* Item) |
"Unequip Red Sword from Quinn?" - the whole prompt, built here. |
| Equip Or Confirm Take | Callable | bool EquipOrConfirmTake(UXenoCoreEquipmentComponent* Equipment, EXenoCoreEquipSlot Slot, ULyraInventoryItemInstance* Item, UCommonActivatableWidget* ListToClose) |
Equip it, or ask first if it means stripping another character. |
UXenoCorePlayerPlateBase¶
Class · derives from UXenoCoreHudPlateBase · header XenoCoreRuntime/Public/UI/XenoCorePlayerPlateBase.h · abstract
The upper-left player readout: portrait, level, HP bar and HP numbers.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Level Text | LevelText |
TObjectPtr<UCommonTextBlock> |
BlueprintReadOnly, BindWidget | BindWidget: the Blueprint must contain these names or it fails to compile - which is the intent, because a silently blank HUD is worse than a compile error. | ||
| Health Text | HealthText |
TObjectPtr<UCommonTextBlock> |
BlueprintReadOnly, BindWidget | No description. | ||
| Health Bar | HealthBar |
TObjectPtr<UProgressBar> |
BlueprintReadOnly, BindWidget | No description. | ||
| Exp Bar | ExpBar |
TObjectPtr<UProgressBar> |
BlueprintReadOnly, BindWidgetOptional | EXP toward the next level. | ||
| Portrait Box | PortraitBox |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidgetOptional | Everything that is not the health bar, bound so bBarOnly can collapse it. | ||
| Portrait Overlay | PortraitOverlay |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Shadow Image | ShadowImage |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Exp Bar Box | ExpBarBox |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Bar Only | bBarOnly |
bool |
XenoCore › UI | EditDefaultsOnly | false |
Bar only: collapse the portrait, level, HP figures and EXP bar, leaving just the health bar. |
| Reveal On Progression | bRevealOnProgression |
bool |
XenoCore › UI | EditDefaultsOnly | false |
Whether an EXP award may raise this plate past its own gate. |
| Exp Reveal Time | ExpRevealTime |
float |
XenoCore › UI | EditDefaultsOnly, ClampMin=0.0 | 2.6 |
Seconds the HUD stays up after an EXP award outside battle, counted once the bar has finished filling. |
| Level Up Reveal Time | LevelUpRevealTime |
float |
XenoCore › UI | EditDefaultsOnly, ClampMin=0.0 | 4.0 |
The same window for a level-up, which earns a longer one. |
| Exp Gain Text | ExpGainText |
TObjectPtr<class UTextBlock> |
XenoCore › UI | BlueprintReadOnly, BindWidgetOptional | "+200", beside the level number, while the award is being shown. | |
| Exp Gain Colour | ExpGainColour |
FLinearColor |
XenoCore › UI | EditDefaultsOnly | FLinearColor(0.95, 0.32, 0.3, 1.0) |
Colour of the EXP gain readout (XC1's EXP red). Label and number alike. |
| Reward Stack | RewardStack |
TObjectPtr<UWidget> |
XenoCore › UI | BlueprintReadOnly, BindWidgetOptional | XC1's kill readout: EXP, AP and SP stacked beside the level, each labelled and coloured - "EXP 49 / AP 86 / SP 10". The group shows and hides as one; ExpGainText is its EXP number. | |
| Ap Gain Text | ApGainText |
TObjectPtr<class UTextBlock> |
XenoCore › UI | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Sp Gain Text | SpGainText |
TObjectPtr<class UTextBlock> |
XenoCore › UI | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Ap Gain Colour | ApGainColour |
FLinearColor |
XenoCore › UI | EditDefaultsOnly | FLinearColor(0.45, 0.92, 0.3, 1.0) |
Colour of the AP gain readout (XC1's AP green). |
| Sp Gain Colour | SpGainColour |
FLinearColor |
XenoCore › UI | EditDefaultsOnly | FLinearColor(1.0, 0.62, 0.18, 1.0) |
Colour of the SP gain readout (XC1's SP orange). |
| Exp Fill Speed | ExpFillSpeed |
float |
XenoCore › UI | EditDefaultsOnly, ClampMin=0.01 | 0.7 |
How fast the EXP bar travels to a new value, in bar-fractions per second. |
| Exp Count Time | ExpCountTime |
float |
XenoCore › UI | EditDefaultsOnly, ClampMin=0.05 | 0.6 |
How long "+N" takes to count up from zero, in seconds. |
| Exp Gain Flash Colour | ExpGainFlashColour |
FLinearColor |
XenoCore › UI | EditDefaultsOnly | FLinearColor(0.85, 1.0, 0.85, 1.0) |
"+N" starts at this colour and settles to ExpGainColour over ExpCountTime - the flash. |
| Exp Gain Pop Scale | ExpGainPopScale |
float |
XenoCore › UI | EditDefaultsOnly, ClampMin=1.0 | 1.35 |
"+N" pops in at this render scale and settles to 1. Render scale, so the row never re-lays out. |
| Level Pulse Scale | LevelPulseScale |
float |
XenoCore › UI | EditDefaultsOnly, ClampMin=1.0 | 1.6 |
The level number pulses to this scale and colour on every level gained, then settles. |
| Level Pulse Time | LevelPulseTime |
float |
XenoCore › UI | EditDefaultsOnly, ClampMin=0.05 | 0.7 |
Seconds the level-number pulse takes to settle back. |
| Level Pulse Colour | LevelPulseColour |
FLinearColor |
XenoCore › UI | EditDefaultsOnly | FLinearColor(1.0, 0.82, 0.25, 1.0) |
Gold: a level is the achievement, the EXP only the progress toward it. |
| Exp Wrap Flash Colour | ExpWrapFlashColour |
FLinearColor |
XenoCore › UI | EditDefaultsOnly | FLinearColor(1.0, 1.0, 1.0, 1.0) |
The EXP bar's fill flashes to this as it tops out, then fades back to its authored colour. |
| Exp Wrap Flash Time | ExpWrapFlashTime |
float |
XenoCore › UI | EditDefaultsOnly, ClampMin=0.05 | 0.35 |
Seconds the EXP bar's wrap flash takes to fade back. |
| Exp Gain Sound | ExpGainSound |
TSoftObjectPtr<class USoundBase> |
XenoCore › UI | EditDefaultsOnly | TSoftObjectPtr<USoundBase>(FSoftObjectPath("/Game/Audio/S... |
Played once as "+N" starts counting, and again for each kill that stacks onto it. |
| Level Wrap Sound | LevelWrapSound |
TSoftObjectPtr<class USoundBase> |
XenoCore › UI | EditDefaultsOnly | TSoftObjectPtr<USoundBase>(FSoftObjectPath("/Game/Audio/S... |
Played on every wrap, with the gold pulse - the level-up sound. |
| Hide Out Of Battle | bHideOutOfBattle |
bool |
XenoCore › UI | EditDefaultsOnly | false |
Hide this plate whenever the owner is not in battle. |
| Healthy Colour | HealthyColour |
FLinearColor |
XenoCore › HUD | EditDefaultsOnly | FLinearColor(0.3, 0.78, 0.42, 1.0) |
Fill colour at full health. |
| Warning Colour | WarningColour |
FLinearColor |
XenoCore › HUD | EditDefaultsOnly | FLinearColor(0.92, 0.72, 0.16, 1.0) |
Fill colour at WarningFraction, blended toward from HealthyColour. |
| Critical Colour | CriticalColour |
FLinearColor |
XenoCore › HUD | EditDefaultsOnly | FLinearColor(0.86, 0.13, 0.13, 1.0) |
Fill colour at zero, blended toward from WarningColour. |
| Warning Fraction | WarningFraction |
float |
XenoCore › HUD | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0 | 0.5 |
Health fraction at which the colour has fully reached WarningColour. |
| Blink Fraction | BlinkFraction |
float |
XenoCore › HUD | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0 | 0.25 |
Health fraction at or below which the bar blinks. |
| Blink Speed | BlinkSpeed |
float |
XenoCore › HUD | EditDefaultsOnly, ClampMin=0.0 | 2.4 |
Blink cycles per second. |
| Blink Depth | BlinkDepth |
float |
XenoCore › HUD | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0 | 0.65 |
How far the blink dips the bar opacity. 0 = no blink, 1 = to fully transparent. |
| Ally Selector Box | AllySelectorBox |
TObjectPtr<class UImage> |
BlueprintReadOnly, BindWidgetOptional | The rounded yellow box around the HP line. | ||
| Ally Selector Arrow Up | AllySelectorArrowUp |
TObjectPtr<class UImage> |
BlueprintReadOnly, BindWidgetOptional | Scroll affordances - they say the party is cyclable, so they follow the box. | ||
| Ally Selector Arrow Down | AllySelectorArrowDown |
TObjectPtr<class UImage> |
BlueprintReadOnly, BindWidgetOptional | No description. | ||
| Ally Selector Pulse Period | AllySelectorPulsePeriod |
float |
XenoCore › Plate | EditDefaultsOnly, ClampMin=0.05 | 0.9 |
Seconds per pulse. Matched to the palette's selection ring so the two read as one language. |
| Ally Selector Pulse Min Opacity | AllySelectorPulseMinOpacity |
float |
XenoCore › Plate | EditDefaultsOnly, ClampMin=0.0, ClampMax=1.0 | 0.3 |
Dimmest point of the selector's pulse, as a fraction of full brightness. |
| Ally Selector Thickness | AllySelectorThickness |
float |
XenoCore › Plate | EditDefaultsOnly, ClampMin=0.5 | 4.0 |
Frame thickness. |
| Ally Selector Colour | AllySelectorColour |
FLinearColor |
XenoCore › Plate | EditDefaultsOnly | FLinearColor(1.0, 0.82, 0.15, 1.0) |
The frame's colour at full brightness. The pulse multiplies the RGB and leaves A alone. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Reveal Briefly | Callable | void RevealBriefly(float Seconds) |
Raise this plate past its own gate for a moment, then let it fall back. |
| Is Revealing | Pure | bool IsRevealing() const |
True while a RevealBriefly window is open. |
| Set Ally Selected | Callable | void SetAllySelected(bool bSelected, bool bCanCycle = false) |
Draws the ally-selection box around this plate's HP line. |
| Is Ally Selected | Pure | bool IsAllySelected() const |
True while the ally-selection box is drawn around this plate. |
UXenoCorePreviewControls¶
Class · derives from UCommonUserWidget · header XenoCoreRuntime/Public/UI/XenoCorePreviewControls.h · Blueprintable
Place over the character preview: draws its Rotate / Zoom prompts and zooms on the mouse wheel.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Stick Action | StickAction |
FDataTableRowHandle |
XenoCore › Preview | EditAnywhere | Gamepad prompt - DT_XenoCore_Actions' PreviewRotateZoom (right stick). |
|
| Mouse Rotate Action | MouseRotateAction |
FDataTableRowHandle |
XenoCore › Preview | EditAnywhere | Keyboard-and-mouse rotate prompt - PreviewRotateMouse (drag). | |
| Mouse Zoom Action | MouseZoomAction |
FDataTableRowHandle |
XenoCore › Preview | EditAnywhere | Keyboard-and-mouse zoom prompt - PreviewZoomMouse (wheel). | |
| Wheel Zoom Step | WheelZoomStep |
float |
XenoCore › Preview | EditAnywhere, BlueprintReadWrite, ClampMin=0.0 | 0.15 |
Zoom per wheel notch, in the stage's e-fold units (0.15 = about 16% a notch). 0 turns wheel zoom off. |
UXenoCoreSaveUIStatics¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreRuntime/Public/UI/XenoCoreSaveUIStatics.h
What the Save and Load screens read.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Save Rows | Callable | TArray<FXenoCoreSaveRowInfo> GetSaveRows(bool bSaveMode) |
Every row the screen draws, in the order XC1 lists them: the autosave first, then the manual slots. |
| Get Save Row | Callable | FXenoCoreSaveRowInfo GetSaveRow(int32 SlotIndex, bool bSaveMode) |
One row. |
| Can Save To Slot | Pure | bool CanSaveToSlot(int32 SlotIndex) |
Whether this row can be written to. |
| Open Save Menu | Callable | void OpenSaveMenu(bool bSaveMode) |
Push the slot list onto the menu layer, in Save or Load mode. |
| Return To Title | Callable | void ReturnToTitle() |
Ask, then leave the game for the title screen. |
| Quit Game | Callable | void QuitGame() |
Quit to desktop - asking first only if there is unsaved progress. |
| Get Save Confirm Text | Pure | FText GetSaveConfirmText(bool bSlotOccupied) |
The confirm line: "Overwrite save data?" or "Create new save data?". |
| Get Delete Confirm Text | Pure | 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 | FText GetDestructiveWarningText(bool bDelete) |
The line under a destructive confirm, drawn in the warning colour. |
UXenoCoreShaderBootScreenBase¶
Class · derives from UXenoCoreBootScreenBase · header XenoCoreRuntime/Public/UI/XenoCoreShaderBootScreenBase.h · abstract · Blueprintable
"optimizing shaders" - held until the pipeline-state compile queue drains.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Minimum Show Time | MinimumShowTime |
float |
XenoCore › Boot | EditDefaultsOnly, ClampMin=0.0, Units=s | 1.5 |
So a queue that empties a moment after the card appears does not flash it. |
| Progress Bar | ProgressBar |
TObjectPtr<UProgressBar> |
XenoCore › Boot | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Percent Text | PercentText |
TObjectPtr<UTextBlock> |
XenoCore › Boot | BlueprintReadOnly, BindWidgetOptional | "42%". |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Progress | Pure | float GetProgress() const |
0..1. |
UXenoCoreSkillsScreenBase¶
Class · derives from UXenoCoreCharacterMenuScreenBase · header XenoCoreRuntime/Public/UI/XenoCoreSkillsScreenBase.h · abstract · Blueprintable
The Skills screen - XC1's "Skill Trees", Skill Branches tab.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Title Text | TitleText |
TObjectPtr<UTextBlock> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Setting Tab Text | SettingTabText |
TObjectPtr<UTextBlock> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | First tab - "Skill Branches". | |
| Level Up Tab Text | LevelUpTabText |
TObjectPtr<UTextBlock> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | Second tab - "Skill Links" (not implemented yet). Collapsed while bShowSkillLinksTab is false. | |
| Rows Box | RowsBox |
TObjectPtr<UPanelWidget> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | The card the tree is built into. | |
| Slot Header | SlotHeader |
TObjectPtr<UTextBlock> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | The card's header line - the character's name. | |
| Header Portrait | HeaderPortrait |
TObjectPtr<UImage> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Empty List Text | EmptyListText |
TObjectPtr<UTextBlock> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Details Name | DetailsName |
TObjectPtr<UTextBlock> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Details Desc | DetailsDesc |
TObjectPtr<UTextBlock> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Details Rich Desc | DetailsRichDesc |
TObjectPtr<URichTextBlock> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Details Type Label | DetailsTypeLabel |
TObjectPtr<UTextBlock> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | "[Passive] Agility Up ... 15" - the stat and its Effect Value. | |
| Details Type Value | DetailsTypeValue |
TObjectPtr<UTextBlock> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Details Owned Label | DetailsOwnedLabel |
TObjectPtr<UTextBlock> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | "SP... 240 / 1,000" - ---- / ---- on a complete branch, as XC1 draws it. |
|
| Details Owned Value | DetailsOwnedValue |
TObjectPtr<UTextBlock> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Details Stats Box | DetailsStatsBox |
TObjectPtr<UPanelWidget> |
XenoCore › Skills | BlueprintReadOnly, BindWidgetOptional | Label/value lines under those two - Selected, Active, Affects. | |
| Icon Set | IconSet |
TObjectPtr<UXenoCoreSkillIconSet> |
XenoCore › Skills | EditDefaultsOnly | How every icon is drawn. DA_XenoCore_SkillIconSet. |
|
| Icon Class | IconClass |
TSubclassOf<UXenoCoreSkillIconBase> |
XenoCore › Skills | EditDefaultsOnly | The icon cell. The native class draws itself; a Blueprint child with a tree replaces the look. | |
| Header Class | HeaderClass |
TSubclassOf<UXenoCoreSkillBranchHeaderBase> |
XenoCore › Skills | EditDefaultsOnly | The branch header cell drawn above each column. Empty uses the native header. | |
| Header Style | HeaderStyle |
TSubclassOf<UCommonButtonStyle> |
XenoCore › Skills | EditDefaultsOnly | The branch headers' button style - ButtonStyle_XenoCore_Menu, the project's row and button convention, so the selected branch reads as the same blue as every other selected row. Empty keeps the header's own plate colours. | |
| Accept Action | AcceptAction |
FDataTableRowHandle |
XenoCore › Skills | EditDefaultsOnly | A on an unselected branch - and the "Change Trait" glyph on the bar. GenericAccept. | |
| Show Skill Links Tab | bShowSkillLinksTab |
bool |
XenoCore › Skills | EditDefaultsOnly | false |
Show the Skill Links tab (not implemented yet). Off, the tab strip shows only Skill Branches and ZL/ZR bind nothing. |
| Medallion Size | MedallionSize |
float |
XenoCore › Skills | EditDefaultsOnly, ClampMin=16.0, UIMin=16.0 | 112.0 |
Size of the character portrait at the top of the card, in pixels. |
| Column Gap | ColumnGap |
float |
XenoCore › Skills | EditDefaultsOnly, ClampMin=0.0, UIMin=0.0 | 20.0 |
Horizontal space between branch columns, in pixels. |
| Icon Gap | IconGap |
float |
XenoCore › Skills | EditDefaultsOnly, ClampMin=0.0, UIMin=0.0 | 14.0 |
Vertical space between skill icons in a column, in pixels. |
| Branches Tab Colour | BranchesTabColour |
FLinearColor |
XenoCore › Skills | EditDefaultsOnly | FLinearColor(1.0, 0.55, 0.15, 1.0) |
The Skill Branches tab's colour (XC1: orange). |
| Links Tab Colour | LinksTabColour |
FLinearColor |
XenoCore › Skills | EditDefaultsOnly | FLinearColor(0.25, 0.82, 0.88, 1.0) |
The Skill Links tab's colour (XC1: teal), drawn dimmed while it is inactive. |
| Label Colour | LabelColour |
FLinearColor |
XenoCore › Skills | EditDefaultsOnly | FLinearColor(0.55, 0.58, 0.62, 1.0) |
Colour of the labels in the detail pane's label/value lines. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Select Branch | Callable | bool SelectBranch(FName Branch) |
Make this branch the shown character's selected one - what A on a header does. |
UXenoCoreStatBlockBase¶
Class · derives from UCommonUserWidget · header XenoCoreRuntime/Public/UI/XenoCoreStatBlockBase.h · abstract
The stat panel every menu draws stats with - W_XenoCore_StatBlock's parent.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Row Class | RowClass |
TSubclassOf<UXenoCoreStatRowBase> |
XenoCore › UI | EditDefaultsOnly, BlueprintReadOnly | One stat row. Set on the Blueprint's CDO - W_XenoCore_StatRow. |
|
| Rule Class | RuleClass |
TSubclassOf<UUserWidget> |
XenoCore › UI | EditDefaultsOnly, BlueprintReadOnly | The hairline between rows when a caller asks for bRuled, and under a section title. | |
| Stripe Color | StripeColor |
FLinearColor |
XenoCore › UI | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(1.0, 1.0, 1.0, 0.045) |
Every other row's backing - the stripe. Alpha is the whole effect; keep it faint. |
| Row Padding | RowPadding |
FMargin |
XenoCore › UI | EditDefaultsOnly, BlueprintReadOnly | FMargin(10.0, 3.0, 10.0, 3.0) |
Inside each row's backing. The horizontal part is what keeps text off the stripe's edge. |
| Section Font | SectionFont |
FSlateFontInfo |
XenoCore › UI | EditDefaultsOnly, BlueprintReadOnly | Font of the section titles - "offense", "defense", "grants". | |
| Section Color | SectionColor |
FSlateColor |
XenoCore › UI | EditDefaultsOnly, BlueprintReadOnly | FSlateColor(FLinearColor(0.55, 0.66, 0.78, 1.0)) |
Colour of the section titles. |
| Section Gap | SectionGap |
float |
XenoCore › UI | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.0, UIMin=0.0 | 12.0 |
Space above a section title, so the group reads as a group. The first section gets none. |
| Header Box | HeaderBox |
TObjectPtr<UPanelWidget> |
XenoCore › UI | BlueprintReadOnly, BindWidget | No description. | |
| Header Name | HeaderName |
TObjectPtr<UTextBlock> |
XenoCore › UI | BlueprintReadOnly, BindWidget | No description. | |
| Header Type | HeaderType |
TObjectPtr<UTextBlock> |
XenoCore › UI | BlueprintReadOnly, BindWidget | No description. | |
| Rows | Rows |
TObjectPtr<UVerticalBox> |
XenoCore › UI | BlueprintReadOnly, BindWidget | No description. | |
| Header Level | HeaderLevel |
TObjectPtr<UTextBlock> |
XenoCore › UI | BlueprintReadOnly, BindWidgetOptional | Right of the name: "Lv 5" for a character, the slot for an item. | |
| Header Desc | HeaderDesc |
TObjectPtr<UTextBlock> |
XenoCore › UI | BlueprintReadOnly, BindWidgetOptional | The item's description. | |
| Header Rule 1 | HeaderRule1 |
TObjectPtr<UWidget> |
XenoCore › UI | BlueprintReadOnly, BindWidgetOptional | The rule between name and type. Hidden in the sourced modes, where a subline replaces it. | |
| Header Bars | HeaderBars |
TObjectPtr<UWidget> |
XenoCore › UI | BlueprintReadOnly, BindWidgetOptional | HP and EXP. Collapsed outside Character mode. | |
| Hp Group | HpGroup |
TObjectPtr<UWidget> |
XenoCore › UI | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Hp Value | HpValue |
TObjectPtr<UTextBlock> |
XenoCore › UI | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Hp Bar | HpBar |
TObjectPtr<UProgressBar> |
XenoCore › UI | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Exp Value | ExpValue |
TObjectPtr<UTextBlock> |
XenoCore › UI | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Exp Bar | ExpBar |
TObjectPtr<UProgressBar> |
XenoCore › UI | BlueprintReadOnly, BindWidgetOptional | No description. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Show Lines | Callable | void ShowLines(const TArray<FXenoCoreStatLine>& Lines, bool bRuled) |
Draw exactly these lines - the old SetLines. |
| Show Header | Callable | void ShowHeader(const FText& Name, const FText& Type) |
Name above, type below - the old SetHeader. |
| Show Item Header | Callable | void ShowItemHeader(TSubclassOf<ULyraInventoryItemDefinition> ItemDef, const FText& Type) |
ShowHeader for an item: its name in its rarity colour, and Type prefixed with the tier - "Rare · Materials". |
| Show Item Instance Header | Callable | void ShowItemInstanceHeader(ULyraInventoryItemInstance* Item, const FText& Type) |
ShowItemHeader for an item in the bag. |
| Set Character Preview | Callable | void SetCharacterPreview(const TMap<FGameplayTag, float>& Deltas) |
Preview stat changes on the character sheet (Character mode). |
| Clear Character Preview | Callable | void ClearCharacterPreview() |
Drop the character-sheet preview. |
| Set Swap Preview | Callable | void SetSwapPreview(bool bPreviewing) |
Draw the caller's lines inside the sourced frame - the swap list's hover comparison. |
| Is Swap Preview | Pure | bool IsSwapPreview() const |
True while the block is drawing the swap list's hover comparison. |
| Show Character | Callable | void ShowCharacter(UXenoCorePartyMemberDefinition* Member) |
The character sheet for Member. |
| Show Item | Callable | void ShowItem(UXenoCoreEquipmentComponent* Equipment, EXenoCoreEquipSlot EquipSlot) |
What is worn in EquipSlot on Equipment (not "Slot" - UWidget already has one), or "Nothing equipped" when the slot is empty. |
| Get Mode | Pure | EXenoCoreStatBlockMode GetMode() const |
Which source the block is drawing: a plain list, a character, or an item. |
UXenoCoreTacticsPanelBase¶
Class · derives from UUserWidget · header XenoCoreRuntime/Public/UI/XenoCoreTacticsPanelBase.h · Blueprintable
Party tactics on screen: a brief prompt with the orders, and the tactics list while X is held.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Screen Anchor | ScreenAnchor |
FAnchors |
Tactics › Layout | EditDefaultsOnly, BlueprintReadOnly | FAnchors(1.0, 0.0) |
Where it sits (anchors of the full-screen canvas). Default: the right edge, under the minimap, clear of the party column. |
| Alignment | Alignment |
FVector2D |
Tactics › Layout | EditDefaultsOnly, BlueprintReadOnly | FVector2D(1.0, 0.0) |
Which corner sits on the anchor point (1,0 = top-right). |
| Offset | Offset |
FVector2D |
Tactics › Layout | EditDefaultsOnly, BlueprintReadOnly | FVector2D(-40.0, 346.0) |
Offset from the anchor, in screen units. -40 lines its right edge up with the minimap's; 346 is just under its [M] Map prompt. |
| Panel Width | PanelWidth |
float |
Tactics › Layout | EditDefaultsOnly, BlueprintReadOnly, ClampMin=100 | 380.0 |
The panel's minimum width. It grows to fit its longest row - nothing is ever cut short or scrolled. |
| Value Width | ValueWidth |
float |
Tactics › Layout | EditDefaultsOnly, BlueprintReadOnly, ClampMin=10 | 100.0 |
Width of the value between its arrows, so values of different lengths do not shift the arrows. |
| Show Portraits | bShowPortraits |
bool |
Tactics › Layout | EditDefaultsOnly, BlueprintReadOnly | true |
Show portraits beside who the orders are for. |
| Portrait Size | PortraitSize |
float |
Tactics › Layout | EditDefaultsOnly, BlueprintReadOnly, ClampMin=8, EditCondition=bShowPortraits | 52.0 |
Size of one member's portrait. |
| Party Portrait Size | PartyPortraitSize |
float |
Tactics › Layout | EditDefaultsOnly, BlueprintReadOnly, ClampMin=8, EditCondition=bShowPortraits | 36.0 |
Size of each portrait in the whole-party row. |
| Show Hint | bShowHint |
bool |
Tactics › Prompt | EditDefaultsOnly, BlueprintReadOnly | true |
Show the hint - the open button and "Party Tactics" - all the time, the way the minimap shows [M] Map. |
| Hint Right Inset | HintRightInset |
float |
Tactics › Prompt | EditDefaultsOnly, BlueprintReadOnly, EditCondition=bShowHint | 12.0 |
The hint's inset from the column's right edge. 12 lines it up with the minimap's [M] Map prompt. |
| Show Orders Label | bShowOrdersLabel |
bool |
Tactics › Prompt | EditDefaultsOnly, BlueprintReadOnly | true |
Show the orders card (shown briefly - see below). Off = the orders only appear in the list. |
| Always Show Prompt | bAlwaysShowPrompt |
bool |
Tactics › Prompt | EditDefaultsOnly, BlueprintReadOnly, EditCondition=bShowOrdersLabel | false |
Keep the orders card on screen all the time instead of showing it briefly. |
| Prompt Show Seconds | PromptShowSeconds |
float |
Tactics › Prompt | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.1, EditCondition=bShowOrdersLabel && !bAlwaysShowPrompt, Units=Seconds | 4.0 |
How long a brief showing stays fully visible before it fades. |
| Prompt Fade Seconds | PromptFadeSeconds |
float |
Tactics › Prompt | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.0, EditCondition=bShowOrdersLabel && !bAlwaysShowPrompt, Units=Seconds | 0.35 |
How long the prompt takes to fade in and out. |
| Show Prompt On Change | bShowPromptOnChange |
bool |
Tactics › Prompt | EditDefaultsOnly, BlueprintReadOnly, EditCondition=bShowOrdersLabel && !bAlwaysShowPrompt | true |
Show it when the party's orders change, or the list closes. |
| Show Prompt On Battle Start | bShowPromptOnBattleStart |
bool |
Tactics › Prompt | EditDefaultsOnly, BlueprintReadOnly, EditCondition=bShowOrdersLabel && !bAlwaysShowPrompt | true |
Show it when a battle starts - the standing orders, at the moment they matter. |
| Show Prompt On Load | bShowPromptOnLoad |
bool |
Tactics › Prompt | EditDefaultsOnly, BlueprintReadOnly, EditCondition=bShowOrdersLabel && !bAlwaysShowPrompt | true |
Show it once when the HUD first appears (a load or a new game), so a player learns what opens tactics. |
| Prompt Width | PromptWidth |
float |
Tactics › Prompt | EditDefaultsOnly, BlueprintReadOnly, ClampMin=80 | 240.0 |
Width of the closed prompt; the orders wrap inside it. |
| Scope Prev Action | ScopePrevAction |
FDataTableRowHandle |
Tactics › Layout | EditDefaultsOnly, BlueprintReadOnly | The bumper glyph left of who the orders are for (Tactics Scope Prev in DT_XenoCore_Actions). |
|
| Open Action | OpenAction |
FDataTableRowHandle |
Tactics › Layout | EditDefaultsOnly, BlueprintReadOnly | The glyph on the closed prompt - the button that opens the list (Party Tactics: X / F). | |
| Scope Next Action | ScopeNextAction |
FDataTableRowHandle |
Tactics › Layout | EditDefaultsOnly, BlueprintReadOnly | The bumper glyph right of who the orders are for (Tactics Scope Next). | |
| Glyph Class | GlyphClass |
TSoftClassPtr<UCommonActionWidget> |
Tactics › Layout | EditDefaultsOnly, BlueprintReadOnly | The glyph widget for the open button and the bumpers - Lyra's InputActionWidget, as the [M] Map prompt uses. | |
| Action Table | ActionTable |
TSoftObjectPtr<UDataTable> |
Tactics › Layout | EditDefaultsOnly, BlueprintReadOnly | The action table for Scope Prev / Scope Next / Open Action rows whose Data Table is empty. | |
| Font Family | FontFamily |
TSoftObjectPtr<UObject> |
Tactics › Text | EditDefaultsOnly, BlueprintReadOnly | The font family for the fonts below whose own Font Family is empty. Orbitron by default. | |
| Title Font | TitleFont |
FSlateFontInfo |
Tactics › Text | EditDefaultsOnly, BlueprintReadOnly | The panel's title ("party tactics"). | |
| Scope Font | ScopeFont |
FSlateFontInfo |
Tactics › Text | EditDefaultsOnly, BlueprintReadOnly | Who the orders are for, between the bumper glyphs. | |
| Row Font | RowFont |
FSlateFontInfo |
Tactics › Text | EditDefaultsOnly, BlueprintReadOnly | Each tactic row: its name, arrows and value. | |
| Hint Font | HintFont |
FSlateFontInfo |
Tactics › Text | EditDefaultsOnly, BlueprintReadOnly | The hint's label ("Party Tactics"), matching the minimap's [M] Map prompt. | |
| Summary Font | SummaryFont |
FSlateFontInfo |
Tactics › Text | EditDefaultsOnly, BlueprintReadOnly | No description. | |
| Title Text | TitleText |
FText |
Tactics › Text | EditDefaultsOnly, BlueprintReadOnly | The title on the panel's header band. | |
| Orders Prefix | OrdersPrefix |
FText |
Tactics › Text | EditDefaultsOnly, BlueprintReadOnly | The hint's label beside the open glyph ("Party Tactics"). | |
| Whole Party Text | WholePartyText |
FText |
Tactics › Text | EditDefaultsOnly, BlueprintReadOnly | Who the orders are for, when they are for everyone. | |
| Arrow Left Text | ArrowLeftText |
FText |
Tactics › Text | EditDefaultsOnly, BlueprintReadOnly | The arrow left of each value. | |
| Arrow Right Text | ArrowRightText |
FText |
Tactics › Text | EditDefaultsOnly, BlueprintReadOnly | The arrow right of each value. | |
| Cursor Text | CursorText |
FText |
Tactics › Text | EditDefaultsOnly, BlueprintReadOnly | Before the highlighted row's name. | |
| Party Value Text | PartyValueText |
FText |
Tactics › Text | EditDefaultsOnly, BlueprintReadOnly | The value shown on a member's row while it follows the party's order. | |
| Party Value Colour | PartyValueColour |
FLinearColor |
Tactics › Colour | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.55, 0.62, 0.72, 1.0) |
Party's colour. |
| Text Colour | TextColour |
FLinearColor |
Tactics › Colour | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.92, 0.95, 1.0, 1.0) |
Main text: the title, who the orders are for, the orders card and the highlighted row. |
| Dim Colour | DimColour |
FLinearColor |
Tactics › Colour | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.55, 0.62, 0.72, 1.0) |
Rows that are not highlighted. |
| Hint Colour | HintColour |
FLinearColor |
Tactics › Colour | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.55, 0.66, 0.8, 1.0) |
The hint's label colour - the house secondary label colour the [M] Map prompt uses. |
| Hint Shadow Colour | HintShadowColour |
FLinearColor |
Tactics › Colour | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.04, 0.04, 0.07, 0.5) |
The hint's text shadow colour - the [M] Map prompt's. |
| Hint Shadow Offset | HintShadowOffset |
FVector2D |
Tactics › Colour | EditDefaultsOnly, BlueprintReadOnly | FVector2D(2.0, 2.0) |
The hint's text shadow offset. |
| Hint Outline Colour | HintOutlineColour |
FLinearColor |
Tactics › Colour | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.1, 0.1, 0.12, 1.0) |
The hint's text outline colour. |
| Panel Colour | PanelColour |
FLinearColor |
Tactics › Colour | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.02, 0.03, 0.05, 0.85) |
The list panel's background. |
| Rule Colour | RuleColour |
FLinearColor |
Tactics › Colour | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.55, 0.62, 0.72, 0.35) |
The divider lines inside the panel. |
| Highlight Colour | HighlightColour |
FLinearColor |
Tactics › Colour | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.25, 0.55, 0.95, 0.3) |
Behind the highlighted row. |
| Orders Back Colour | OrdersBackColour |
FLinearColor |
Tactics › Colour | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.02, 0.03, 0.05, 0.7) |
The orders card's background. |
| Accent Colour | AccentColour |
FLinearColor |
Tactics › Colour | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.3, 0.62, 1.0, 1.0) |
The accent: the rim, the title's underline and the highlighted row's stripe. |
| Rim Colour | RimColour |
FLinearColor |
Tactics › Colour | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.3, 0.62, 1.0, 0.45) |
The panel's and orders line's rim. Alpha 0 = no rim. |
| Shadow Colour | ShadowColour |
FLinearColor |
Tactics › Colour | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.0, 0.0, 0.0, 0.3) |
The soft shadow under the panel. Alpha 0 = no shadow. |
| Header Band Colour | HeaderBandColour |
FLinearColor |
Tactics › Colour | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.1, 0.18, 0.32, 0.85) |
The band behind the title. |
| Value Pill Tint | ValuePillTint |
float |
Tactics › Colour | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.0, ClampMax=1.0 | 0.22 |
How strongly a value's pill is tinted with its own colour (0 = no pill). |
| Open Seconds | OpenSeconds |
float |
Tactics › Layout | EditDefaultsOnly, BlueprintReadOnly, ClampMin=0.0, Units=Seconds | 0.14 |
Seconds the list takes to fade and slide in or out. 0 = instant. |
| Open Slide | OpenSlide |
float |
Tactics › Layout | EditDefaultsOnly, BlueprintReadOnly | 18.0 |
How far the list slides in from, in screen units (positive = from the right). |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| On Tactics Refreshed | Event (implement in Blueprint) | void K2_OnTacticsRefreshed(UXenoCorePartyComponent* Party, bool bPanelOpen) |
After every refresh, for a Blueprint child that draws its own tree. |
| Show Prompt Briefly | Callable | void ShowPromptBriefly() |
Show the prompt now, for PromptShowSeconds (or keep it up if it already is). |
| Is Prompt Showing | Pure | bool IsPromptShowing() const |
True while the prompt is on screen (fading counts). |
UXenoCoreTargetPlateBase¶
Class · derives from UXenoCoreHudPlateBase · header XenoCoreRuntime/Public/UI/XenoCoreTargetPlateBase.h · abstract
The top-centre badge naming the current target - "Lv 5 Dawn Minion".
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Level Text | LevelText |
TObjectPtr<UCommonTextBlock> |
BlueprintReadOnly, BindWidget | BindWidget: the Blueprint must contain text blocks with these exact names, or it fails to compile. That is the intent - a silently blank badge is worse than a compile error. | ||
| Name Text | NameText |
TObjectPtr<UCommonTextBlock> |
BlueprintReadOnly, BindWidget | No description. | ||
| Bar Only | bBarOnly |
bool |
XenoCore › UI | EditDefaultsOnly | false |
Bar only: hide the level and name, leaving just the health bar. |
| Unknown Enemy Name | UnknownEnemyName |
FText |
XenoCore › UI | EditDefaultsOnly | NSLOCTEXT("XenoCore", "UnknownEnemy", "Unknown") |
Shown when the target has no DisplayName set, so the badge never renders empty. |
| Health Bar | HealthBar |
TObjectPtr<UProgressBar> |
BlueprintReadOnly, BindWidgetOptional | The target's health. | ||
| Background Image | BackgroundImage |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidgetOptional | The banner plate behind the badge. | ||
| Healthy Colour | HealthyColour |
FLinearColor |
XenoCore › UI | EditDefaultsOnly | FLinearColor(0.3, 0.78, 0.42, 1.0) |
Fill at full health. Matches the player plate so one HUD reads as one language. |
| Critical Colour | CriticalColour |
FLinearColor |
XenoCore › UI | EditDefaultsOnly | FLinearColor(0.85, 0.2, 0.2, 1.0) |
Fill at low health. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Set Target | Callable | void SetTarget(AActor* Target) |
Show this actor's name and level on the badge, or pass None to hide it. |
UXenoCoreUIEffectStatics¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreRuntime/Public/UI/XenoCoreUIEffectStatics.h
Plays a Niagara system inside a widget, through the engine's Niagara UI Renderer.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Play UI Effect | Callable | 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. |
UXenoCoreUISettings¶
Class · derives from UDeveloperSettings · header XenoCoreRuntime/Public/UI/XenoCoreUISettings.h
The screens, HUD widgets and menu entries XenoCore opens from code. Project Settings > Game > XenoCore UI. Every entry defaults to the shipped asset; replace one to swap it everywhere.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Save Screen | SaveScreen |
TSoftClassPtr<UXenoCoreSaveScreenBase> |
Screens | Config, EditAnywhere | The save and load screen (both modes are one widget). Must derive from XenoCoreSaveScreenBase. | |
| Quest Log Screen | QuestLogScreen |
TSoftClassPtr<UXenoCoreQuestLogBase> |
Screens | Config, EditAnywhere | The quest log opened from the menu. Must derive from XenoCoreQuestLogBase. | |
| Quest Offer Screen | QuestOfferScreen |
TSoftClassPtr<UXenoCoreQuestOfferBase> |
Screens | Config, EditAnywhere | The panel that offers a quest, and shows one read-only from the log. Must derive from XenoCoreQuestOfferBase. | |
| Shop Screen | ShopScreen |
TSoftClassPtr<UXenoCoreShopScreenBase> |
Screens | Config, EditAnywhere | The shop opened by the Open Shop node. Must derive from XenoCoreShopScreenBase. | |
| Trade Screen | TradeScreen |
TSoftClassPtr<UXenoCoreTradeScreenBase> |
Screens | Config, EditAnywhere | The trade screen opened by the Open Trade node. Must derive from XenoCoreTradeScreenBase. | |
| Arts Screen | ArtsScreen |
TSoftClassPtr<UXenoCoreArtsScreenBase> |
Screens | Config, EditAnywhere | The Arts screen. Must derive from XenoCoreArtsScreenBase. | |
| Skills Screen | SkillsScreen |
TSoftClassPtr<UXenoCoreSkillsScreenBase> |
Screens | Config, EditAnywhere | The Skills screen. Must derive from XenoCoreSkillsScreenBase. | |
| Gem Popup | GemPopup |
TSoftClassPtr<class UXenoCoreGemPopupBase> |
Screens | Config, EditAnywhere | The gem popup the equipment screen opens over itself. Shipped: W_XenoCore_GemPopup. |
|
| Interact Prompt | InteractPrompt |
TSoftClassPtr<UXenoCoreInteractPromptBase> |
HUD | Config, EditAnywhere | The A / X button prompt shown near an interactable. Must derive from XenoCoreInteractPromptBase. | |
| Loot Popup | LootPopup |
TSoftClassPtr<UXenoCoreLootPopupBase> |
HUD | Config, EditAnywhere | The panel a treasure chest opens. Must derive from XenoCoreLootPopupBase. | |
| Battle Notify | BattleNotify |
TSoftClassPtr<UXenoCoreBattleNotifyBase> |
HUD | Config, EditAnywhere | The battle line ("Break!", "Topple!") over a combatant. Must derive from XenoCoreBattleNotifyBase. | |
| Dialogue Box | DialogueBox |
TSoftClassPtr<UUserWidget> |
HUD | Config, EditAnywhere | The speech box that floats over whoever is talking. Should derive from XenoCoreDialogueBoxBase. | |
| Damage Taken Numbers | DamageTakenNumbers |
TSoftObjectPtr<UNiagaraSystem> |
HUD | Config, EditAnywhere | The Niagara system that draws damage the party takes. Its colour is set inside the system. | |
| Damage Dealt Numbers | DamageDealtNumbers |
TSoftObjectPtr<UNiagaraSystem> |
HUD | Config, EditAnywhere | The Niagara system that draws a "0" over an enemy a hit connected with but could not hurt. Every other number over an enemy is Lyra's (its damage cue and number-pop style); a zero never reaches that cue, because zero damage applies no damage at all. | |
| Heal Numbers | HealNumbers |
TSoftObjectPtr<UNiagaraSystem> |
HUD | Config, EditAnywhere | The Niagara system that draws heals. Its colour is set inside the system. | |
| Keyboard Key Icons | KeyboardKeyIcons |
TSoftClassPtr<class UCommonInputBaseControllerData> |
HUD | Config, EditAnywhere | Keyboard key icons for every action prompt - a CommonInput controller data (input type Mouse And Keyboard) that the plugin adds beside the project's own at startup. | |
| Item Rarity Table | ItemRarityTable |
TSoftObjectPtr<UDataTable> |
Items | Config, EditAnywhere | Every item rarity tier - its name, name colour, diamonds, chest beam and which chests may hold it. One row per XenoCore.Item.Rarity.* tag; add a tag and a row to add a tier. |
|
| Rarity Pip Size | RarityPipSize |
float |
Items | Config, EditAnywhere, ClampMin=2.0, UIMin=2.0, UIMax=24.0 | 12.0 |
Edge of one rarity diamond, in slate units, everywhere a name draws them (item lists, swap list, shop, trade, loot, badges). A call that passes its own Pip Size above 0 overrides it. |
| Gem Socket Filled Icon | GemSocketFilledIcon |
TSoftObjectPtr<class UTexture2D> |
Items | Config, EditAnywhere | Gem column icon for a filled socket, tinted the gem's colour. Cleared = text marks. | |
| Gem Socket Empty Icon | GemSocketEmptyIcon |
TSoftObjectPtr<class UTexture2D> |
Items | Config, EditAnywhere | Gem column icon for an empty socket, tinted Gem Socket Empty Tint. Shipped: T_XenoCore_GemSocketEmpty. |
|
| Gem Socket Empty Tint | GemSocketEmptyTint |
FLinearColor |
Items | Config, EditAnywhere | FLinearColor(0.01, 0.015, 0.03, 0.9) |
The empty-socket icon's colour. |
| Gem Socket Icon Size | GemSocketIconSize |
float |
Items | Config, EditAnywhere, ClampMin=8.0, UIMin=8.0, UIMax=48.0 | 40.0 |
Edge of one gem-socket icon in the Gems column, in slate units. |
| Gem Socket Icon Spacing | GemSocketIconSpacing |
float |
Items | Config, EditAnywhere, ClampMin=0.0, UIMin=0.0, UIMax=24.0 | 6.0 |
Gap between two gem-socket icons in one Gems cell, in slate units. |
| Tutorial Table | TutorialTable |
TSoftObjectPtr<UDataTable> |
Tutorials | Config, EditAnywhere | Every tutorial card - one row each, in the order a sequence shows them. Rows must be XenoCoreTutorialRow; each row's Triggers decide when it appears. | |
| Tutorial Card | TutorialCard |
TSoftClassPtr<class UXenoCoreTutorialCardBase> |
Tutorials | Config, EditAnywhere | The popup the cards are drawn in. Must derive from XenoCoreTutorialCardBase. | |
| Tutorial Enemy Near Distance | TutorialEnemyNearDistance |
float |
Tutorials | Config, EditAnywhere, ClampMin=100.0 | 2500.0 |
How close an enemy must come to the leader, in cm, for the Enemy Near trigger. |
| Tutorial Enemy Status Radius | TutorialEnemyStatusRadius |
float |
Tutorials | Config, EditAnywhere, ClampMin=100.0 | 3000.0 |
How close an enemy must be, in cm, for a tag on it (Break, a status) to trigger a card. |
| Menu Entries | MenuEntries |
TArray<FXenoCoreMenuEntry> |
Menu | Config, EditAnywhere | The in-game menu's entries, in any order - they are sorted by Sort Order. The menu shell builds one button per entry each time it opens. | |
| Additional Menu Entry Sets | AdditionalMenuEntrySets |
TArray<TSoftObjectPtr<UXenoCoreMenuEntrySet>> |
Menu | Config, EditAnywhere | Extra entry lists, merged into Menu Entries. An entry whose Id matches one above replaces it, so a set can also hide or reword a shipped entry. | |
| Menu Button Class | MenuButtonClass |
TSoftClassPtr<UCommonButtonBase> |
Menu | Config, EditAnywhere | The button the menu shell creates for each entry - a Party Tactics row (XenoCoreMenuEntryButton) by default; Lyra's W_LyraMenuButton also works. Its label is set through the Menu Button interface, or SetButtonText. |
|
| Menu Button Padding | MenuButtonPadding |
FMargin |
Menu | Config, EditAnywhere | The padding around each generated menu button. | |
| Menu Group Gap | MenuGroupGap |
float |
Menu | Config, EditAnywhere, ClampMin=0.0, UIMax=64.0 | 20.0 |
The gap left above an entry that has Starts Group set, in slate units. |
UXenoCoreWorldLabelBase¶
Class · derives from UCommonUserWidget · header XenoCoreRuntime/Public/UI/XenoCoreWorldLabelBase.h · abstract
A label over an actor's head: a line of text with a bouncing chevron beneath it.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Name Text | NameText |
TObjectPtr<UTextBlock> |
BlueprintReadOnly, BindWidget | BindWidget, so the Blueprint must contain widgets with these exact names or the asset fails to compile. That is the intent: a name plate with no name is not a degraded plate, it is a broken one, and a compile error is a better report than an empty rectangle. | ||
| Chevron Image | ChevronImage |
TObjectPtr<UImage> |
BlueprintReadOnly, BindWidget | The chevron under the name. Required, like NameText. | ||
| Name Group | NameGroup |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidgetOptional | The name and its chevron, as one collapsible unit. | ||
| Marker Root | MarkerRoot |
TObjectPtr<UWidget> |
BlueprintReadOnly, BindWidgetOptional | The grey bubble carrying the exclamation point. NPC-only, hence optional. | ||
| Bob Amplitude | BobAmplitude |
float |
XenoCore › NPC | EditDefaultsOnly, ClampMin=0.0 | 5.0 |
Peak-to-centre travel of the bounce, in slate units. |
| Bob Speed | BobSpeed |
float |
XenoCore › NPC | EditDefaultsOnly, ClampMin=0.0 | 1.6 |
Bounces per second. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Set Label Text | Callable | void SetLabelText(const FText& InName) |
Puts the line of text on the plate. |
| Set Name Visible | Callable | void SetNameVisible(bool bVisible) |
Shows or hides the name and its chevron, leaving the quest bubble alone. |
| Set Quest Marker Visible | Callable | void SetQuestMarkerVisible(bool bVisible) |
Shows or hides the quest bubble. |
| Is Showing Anything | Pure | bool IsShowingAnything() const |
True when neither half is showing, so the actor can hide the whole component. |
UXenoCoreWorldReadySubsystem¶
Class · derives from UWorldSubsystem · header XenoCoreRuntime/Public/UI/XenoCoreWorldReadySubsystem.h
Holds Lyra's loading screen until the player, the party and the streamed world are ready to be seen.
XenoCoreRuntime / Voice¶
FXenoCoreVisemeKey¶
Struct · header XenoCoreRuntime/Public/Voice/XenoCoreBattleVoiceTypes.h · BlueprintType
One mouth-shape key, baked from ElevenLabs' per-character timing. Shape is a face curve name (aa, ih, ou, ee, oh), or None to close.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Time | Time |
float |
XenoCore › Voice | EditAnywhere, BlueprintReadOnly, ClampMin=0, Units=s | 0.0 |
Seconds from the start of the take. |
| Shape | Shape |
FName |
XenoCore › Voice | EditAnywhere, BlueprintReadOnly | The face curve to open. None = mouth closed (m, b, p). | |
| Weight | Weight |
float |
XenoCore › Voice | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=1 | 1.0 |
How far the mouth shape opens (0-1). |
FXenoCoreVoiceLineRow¶
Struct · derives from FTableRowBase · header XenoCoreRuntime/Public/Voice/XenoCoreBattleVoiceTypes.h · BlueprintType
One line a character can say in battle or in the field.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Category | Category |
FGameplayTag |
XenoCore › Voice | EditAnywhere, BlueprintReadOnly, Categories=XenoCore.Voice |
When this line is said. | |
| Art | Art |
TSoftObjectPtr<UXenoCoreArtDefinition> |
XenoCore › Voice | EditAnywhere, BlueprintReadOnly | Only for this art. Empty = any art, or a category that has none. | |
| Addressee | Addressee |
TSoftObjectPtr<UXenoCorePartyMemberDefinition> |
XenoCore › Voice | EditAnywhere, BlueprintReadOnly | Only when speaking to this ally (a revive, an exchange, a reply). Empty = anyone. | |
| Reply | Reply |
FGameplayTag |
XenoCore › Voice | EditAnywhere, BlueprintReadOnly, Categories=XenoCore.Voice |
After this line, the Addressee answers with a line of this category spoken back to this speaker. Empty = no reply. | |
| Takes | Takes |
TArray<FXenoCoreVoiceTake> |
XenoCore › Voice | EditAnywhere, BlueprintReadOnly | The recordings. One is picked each time; none repeats until every take has played. | |
| Expression | Expression |
FName |
XenoCore › Voice › Face | EditAnywhere, BlueprintReadOnly | Face expression held while the line plays (a face curve name such as angry, happy, sad). None = no change. | |
| Expression Weight | ExpressionWeight |
float |
XenoCore › Voice › Face | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=1 | 0.6 |
How strongly the expression is applied (0-1). |
| Subtitle | Subtitle |
FText |
XenoCore › Voice | EditAnywhere, BlueprintReadOnly | What is said. Shown only if subtitles are turned on. | |
| Direction | Direction |
FString |
XenoCore › Voice | EditAnywhere, BlueprintReadOnly | The delivery direction the line was recorded with, e.g. [shouts]. |
FXenoCoreVoiceRuleRow¶
Struct · derives from FTableRowBase · header XenoCoreRuntime/Public/Voice/XenoCoreBattleVoiceTypes.h · BlueprintType
How often a voice category may be heard.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Category | Category |
FGameplayTag |
XenoCore › Voice | EditAnywhere, BlueprintReadOnly, Categories=XenoCore.Voice |
The category this rule governs, and every child category without a rule of its own. | |
| Enabled | bEnabled |
bool |
XenoCore › Voice | EditAnywhere, BlueprintReadOnly | true |
Off = this category is never said. |
| Priority | Priority |
int32 |
XenoCore › Voice | EditAnywhere, BlueprintReadOnly | 0 |
Higher cuts a lower line that is playing; a line arriving at or below the playing line's priority is dropped. |
| Chance | Chance |
float |
XenoCore › Voice | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=1 | 1.0 |
Chance (0-1) the line is said when the player-controlled character asks. |
| AI Chance | AIChance |
float |
XenoCore › Voice | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=1 | 1.0 |
Chance (0-1) when an AI-controlled ally asks, before party-size scaling. |
| Scale With Party Size | bScaleWithPartySize |
bool |
XenoCore › Voice | EditAnywhere, BlueprintReadOnly | true |
Scale the AI chance by ReferencePartySize / active members, so a big party says less per head. |
| Speaker Cooldown | SpeakerCooldown |
float |
XenoCore › Voice | EditAnywhere, BlueprintReadOnly, ClampMin=0, Units=s | 0.0 |
Seconds before the same character may say this category again. |
| Category Cooldown | CategoryCooldown |
float |
XenoCore › Voice | EditAnywhere, BlueprintReadOnly, ClampMin=0, Units=s | 0.0 |
Seconds before anyone may say this category again. |
| Overlaps | bOverlaps |
bool |
XenoCore › Voice | EditAnywhere, BlueprintReadOnly | false |
Plays over other lines (grunts, hurt). Limited by the config's Effort Concurrency instead of the one-line rule. |
FXenoCoreVoiceSpokeMessage¶
Struct · header XenoCoreRuntime/Public/Voice/XenoCoreBattleVoiceTypes.h · BlueprintType
The payload on XenoCore.Voice.Message.Spoke.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Speaker | Speaker |
TObjectPtr<AActor> |
XenoCore › Voice | BlueprintReadOnly | nullptr |
No description. |
| Category | Category |
FGameplayTag |
XenoCore › Voice | BlueprintReadOnly | No description. | |
| Take | Take |
FXenoCoreVoiceTake |
XenoCore › Voice | BlueprintReadOnly | The take now playing, with its lip-sync keys. | |
| Expression | Expression |
FName |
XenoCore › Voice | BlueprintReadOnly | No description. | |
| Expression Weight | ExpressionWeight |
float |
XenoCore › Voice | BlueprintReadOnly | 0.0 |
No description. |
| Subtitle | Subtitle |
FText |
XenoCore › Voice | BlueprintReadOnly | No description. | |
| Duration | Duration |
float |
XenoCore › Voice | BlueprintReadOnly | 0.0 |
No description. |
FXenoCoreVoiceTake¶
Struct · header XenoCoreRuntime/Public/Voice/XenoCoreBattleVoiceTypes.h · BlueprintType
One recording of a line. A line has several; the system deals them out like cards so none repeats until all have played.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Sound | Sound |
TSoftObjectPtr<USoundBase> |
XenoCore › Voice | EditAnywhere, BlueprintReadOnly | The recorded audio for this take. | |
| Visemes | Visemes |
TArray<FXenoCoreVisemeKey> |
XenoCore › Voice | EditAnywhere, BlueprintReadOnly | Lip-sync keys for this take. Empty = the face's generic talking flap. |
UXenoCoreBattleVoiceConfig¶
Class · derives from UPrimaryDataAsset · header XenoCoreRuntime/Public/Voice/XenoCoreBattleVoiceTypes.h · BlueprintType
Global battle-voice settings: the rules table, pacing, and how a line is played.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Rules | Rules |
TObjectPtr<UDataTable> |
Rules | EditAnywhere, BlueprintReadOnly | How often each category is heard. Row type: XenoCoreVoiceRuleRow. | |
| Gap Seconds | GapSeconds |
float |
Pacing | EditAnywhere, BlueprintReadOnly, ClampMin=0, Units=s | 0.8 |
Silence after a line ends before the next may start. This is what makes seven voices take turns. |
| Reference Party Size | ReferencePartySize |
int32 |
Pacing | EditAnywhere, BlueprintReadOnly, ClampMin=1 | 3 |
The party size the AI chances are written for. XC1 fields three. |
| Reply Delay Seconds | ReplyDelaySeconds |
float |
Pacing | EditAnywhere, BlueprintReadOnly, ClampMin=0, Units=s | 0.25 |
Pause between a line and the Addressee's reply. |
| Attenuation | Attenuation |
TSoftObjectPtr<USoundAttenuation> |
Playback | EditAnywhere, BlueprintReadOnly | Pans the voice by where the speaker stands. The listener is the camera. | |
| Line Concurrency | LineConcurrency |
TSoftObjectPtr<USoundConcurrency> |
Playback | EditAnywhere, BlueprintReadOnly | Limits ordinary lines. The subsystem already allows one at a time; this is the audio engine's backstop. | |
| Effort Concurrency | EffortConcurrency |
TSoftObjectPtr<USoundConcurrency> |
Playback | EditAnywhere, BlueprintReadOnly | Limits overlapping grunts and hurt sounds. | |
| Sound Class | SoundClass |
TSoftObjectPtr<USoundClass> |
Playback | EditAnywhere, BlueprintReadOnly | The sound class every imported voice line is given. Its modulation follows Lyra's Dialogue volume. | |
| Show In Dialogue Box | ShowInDialogueBox |
FGameplayTagContainer |
Playback | EditAnywhere, BlueprintReadOnly, Categories=XenoCore.Voice |
These categories also show their line in the dialogue box over the speaker (talk-to-ally). The rest are voice only. | |
| Dialogue Box Linger | DialogueBoxLinger |
float |
Playback | EditAnywhere, BlueprintReadOnly, ClampMin=0, Units=s | 1.0 |
How long the box stays up after a boxed line's audio ends. |
| Attach Socket | AttachSocket |
FName |
Playback | EditAnywhere, BlueprintReadOnly | "head" |
Bone or socket on the pawn's mesh the voice is attached to, so it pans with a moving speaker. |
| Strong Level Gap | StrongLevelGap |
int32 |
Triggers | EditAnywhere, BlueprintReadOnly, ClampMin=0 | 3 |
Battle start reads "strong" when the nearest enemy is at least this many levels above the speaker. |
| Weak Level Gap | WeakLevelGap |
int32 |
Triggers | EditAnywhere, BlueprintReadOnly, ClampMin=0 | 3 |
Battle start reads "weak" when the nearest enemy is at least this many levels below the speaker. |
| Battle Start Radius | BattleStartRadius |
float |
Triggers | EditAnywhere, BlueprintReadOnly, ClampMin=0, Units=cm | 3000.0 |
How far to look for the enemy a battle-start line is about. |
| Low Health Fraction | LowHealthFraction |
float |
Triggers | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=1 | 0.3 |
A party member says LowHP when a hit takes them below this fraction of their max HP. |
| Enemy Low Health Fraction | EnemyLowHealthFraction |
float |
Triggers | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=1 | 0.25 |
Enemy.Low is said when a party hit takes the enemy below this fraction of its max HP. |
| Close Victory Health Fraction | CloseVictoryHealthFraction |
float |
Triggers | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=1 | 0.25 |
A win is Close when someone was downed in the fight, or the leader ends below this fraction of max HP. |
| Victory Line Delay | VictoryLineDelay |
float |
Triggers | EditAnywhere, BlueprintReadOnly, ClampMin=0, Units=s | 1.2 |
Delay after the win before the victory line, so it lands over the fanfare's tail rather than its first note. |
| Field Banter Interval | FieldBanterInterval |
float |
Triggers | EditAnywhere, BlueprintReadOnly, ClampMin=0, Units=s | 20.0 |
How often out-of-battle banter is considered. The Field rules decide whether anything is said. |
| Field Scenery Chance | FieldSceneryChance |
float |
Triggers | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=1 | 0.3 |
Of the idle remarks, the share that are about the scenery (Field.Scenery) instead. |
| Field Exchange Chance | FieldExchangeChance |
float |
Triggers | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=1 | 0.35 |
Chance a banter tick is a two-person exchange (Field.Exchange, then Field.Reply) rather than a remark. |
| Field Watch Interval | FieldWatchInterval |
float |
Triggers | EditAnywhere, BlueprintReadOnly, ClampMin=0, Units=s | 1.0 |
How often the party looks around for enemies and stragglers (Field.EnemySighted, Field.WaitUp). 0 = never. |
| Enemy Sighted Radius | EnemySightedRadius |
float |
Triggers | EditAnywhere, BlueprintReadOnly, ClampMin=0, Units=cm | 2500.0 |
An enemy, not yet fighting, this close to the leader is announced once (Field.EnemySighted). |
| Wait Up Distance | WaitUpDistance |
float |
Triggers | EditAnywhere, BlueprintReadOnly, ClampMin=0, Units=cm | 1500.0 |
A companion this far behind a moving leader calls out (Field.WaitUp). |
| Reinforcement After Seconds | ReinforcementAfterSeconds |
float |
Triggers | EditAnywhere, BlueprintReadOnly, ClampMin=0, Units=s | 5.0 |
An enemy engaging this long after the fight started counts as reinforcements (Enemy.Reinforcement). |
| Aid Given Chance | AidGivenChance |
float |
Triggers | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=1 | 0.5 |
Of heal and buff casts, the share that say an Aid.Given line ("Hang on, I've got you!") instead of the art's name. |
| Field Travel Speed | FieldTravelSpeed |
float |
Triggers | EditAnywhere, BlueprintReadOnly, ClampMin=0, Units=cm/s | 150.0 |
Above this leader speed the party is travelling (Field.Travel), below it idle (Field.Idle). |
| Exchange Max Distance | ExchangeMaxDistance |
float |
Who Is Speaking | EditAnywhere, BlueprintReadOnly, ClampMin=0, Units=cm | 500.0 |
Two members further apart than this are never paired for a Field.Exchange. 0 = any distance. |
| Look At Addressee | bLookAtAddressee |
bool |
Who Is Speaking | EditAnywhere, BlueprintReadOnly | true |
A line with an addressee makes speaker and addressee look at each other for its length. |
| Listener Radius | ListenerRadius |
float |
Who Is Speaking | EditAnywhere, BlueprintReadOnly, ClampMin=0, Units=cm | 900.0 |
Other companions this close to a speaker may glance at it while it talks. 0 = never. |
| Listener Glance Chance | ListenerGlanceChance |
float |
Who Is Speaking | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=1 | 0.6 |
The chance each of those companions does glance at the speaker. |
| Attention Linger | AttentionLinger |
float |
Who Is Speaking | EditAnywhere, BlueprintReadOnly, ClampMin=0, Units=s | 1.5 |
Extra seconds the looks hold after the line ends, so a reply lands while the two still face each other. |
UXenoCoreBattleVoiceSubsystem¶
Class · derives from UWorldSubsystem · header XenoCoreRuntime/Public/Voice/XenoCoreBattleVoiceSubsystem.h
Plays party voice lines: picks the line from the speaker's voice table and paces every voice by the config's rules.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Battle Voice | Pure | UXenoCoreBattleVoiceSubsystem* Get() |
The voice player for this world. |
| Speak | Callable | bool Speak(AActor* Speaker, ) FGameplayTag Category, const UXenoCoreArtDefinition* Art = nullptr, const UXenoCorePartyMemberDefinition* Addressee = nullptr) |
Ask a party member to say a line of this category. |
| Speak With Reply | Callable | bool SpeakWithReply(AActor* Speaker, ) FGameplayTag Category, AActor* Responder, ) FGameplayTag ReplyCategory) |
Speaker says a line addressed to Responder's character; when it ends, Responder answers with a line of ReplyCategory addressed back. |
| Is Line Playing | Pure | bool IsLinePlaying() const |
True while an ordinary (non-grunt) line is playing, from anyone. |
| Is Speaking | Pure | bool IsSpeaking(const AActor* Speaker) const |
True while this actor's ordinary line is playing. |
XenoCoreRuntime / World¶
AXenoCoreEnvironmentDirector¶
Class · derives from AActor · header XenoCoreRuntime/Public/World/XenoCoreEnvironmentDirector.h · Blueprintable
Drives a map's sun, moon, sky light, fog, clouds, grade and weather effects from the clock and the weather. Place one per map.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Profile | Profile |
TObjectPtr<UXenoCoreSkyProfile> |
Environment | EditAnywhere, BlueprintReadOnly | How the day looks. Empty = the profile class's defaults. | |
| Sun Actor | SunActor |
TObjectPtr<AActor> |
Environment › Lights | EditAnywhere, BlueprintReadOnly | The sun (and, by night, the moon). Empty = the map's first directional light. | |
| Sky Light Actor | SkyLightActor |
TObjectPtr<AActor> |
Environment › Lights | EditAnywhere, BlueprintReadOnly | Empty = the map's first sky light. | |
| Fog Actor | FogActor |
TObjectPtr<AActor> |
Environment › Lights | EditAnywhere, BlueprintReadOnly | Empty = the map's first exponential height fog. | |
| Sky Atmosphere Actor | SkyAtmosphereActor |
TObjectPtr<AActor> |
Environment › Lights | EditAnywhere, BlueprintReadOnly | Empty = the map's first sky atmosphere (the weather's Overcast greys it). | |
| Night Cloud Ambient | NightCloudAmbient |
float |
Environment › Clouds | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=1 | 0.7 |
At full dark, how much less the clouds' undersides are shut off from the sky light (0 = as authored, 1 = fully open). |
| Night Overcast Sky Boost | NightOvercastSkyBoost |
float |
Environment › Clouds | EditAnywhere, BlueprintReadOnly, ClampMin=0, UIMax=4 | 1.0 |
At full dark and full overcast, the sky light is raised by this much (1 = doubled) - the glow of an overcast night. |
| Overcast Sky Tint | OvercastSkyTint |
FLinearColor |
Environment › Weather | EditAnywhere, BlueprintReadOnly | FLinearColor(0.42, 0.44, 0.47, 1.0) |
The grey an Overcast of 1 turns the sky to (a scale on its authored luminance). |
| Cloud Actor | CloudActor |
TObjectPtr<AActor> |
Environment › Lights | EditAnywhere, BlueprintReadOnly | Empty = the map's first volumetric cloud. | |
| Cloud Coverage Parameter | CloudCoverageParameter |
FName |
Environment › Clouds | EditAnywhere, BlueprintReadOnly | "Cloud_GlobalCoverage" |
Coverage (the weather adds its Cloud Coverage Offset). |
| Cloud Density Parameter | CloudDensityParameter |
FName |
Environment › Clouds | EditAnywhere, BlueprintReadOnly | "Cloud_GlobalDensity" |
Density (scaled by the weather's Cloud Density Scale). |
| Cloud Storm Parameter | CloudStormParameter |
FName |
Environment › Clouds | EditAnywhere, BlueprintReadOnly | "StormClouds" |
The storm blend (set to the weather's Storm Clouds). |
| Wind Collection | WindCollection |
TObjectPtr<UMaterialParameterCollection> |
Environment › Wind | EditAnywhere, BlueprintReadOnly | The parameter collection foliage reads its wind from. | |
| Wind Strength Parameters | WindStrengthParameters |
TArray<FName> |
Environment › Wind | EditAnywhere, BlueprintReadOnly | { "Simple Wind Intensity", "Simple Wind Sway Intensity" } |
Scaled fully by the weather's Wind Strength. |
| Wind Speed Parameters | WindSpeedParameters |
TArray<FName> |
Environment › Wind | EditAnywhere, BlueprintReadOnly | { "Simple Wind Speed", "Simple WInd Sway Speed" } |
Scaled half as much (gusts quicken less than they strengthen). |
| Parameter Collection | ParameterCollection |
TObjectPtr<UMaterialParameterCollection> |
Environment › Materials | EditAnywhere, BlueprintReadOnly | Optional: receives SunDirection (vector, towards the light) and DaylightAlpha (0 night .. 1 day) every frame. | |
| Post Process Priority | PostProcessPriority |
float |
Environment › Post Process | EditAnywhere, BlueprintReadOnly | 10.0 |
Priority of the director's own unbound post-process (exposure and grade). Above the map's own volume. |
| Lightning Flash Stops | LightningFlashStops |
float |
Environment › Weather | EditAnywhere, BlueprintReadOnly, ClampMin=0, UIMax=4 | 2.2 |
A lightning flash's peak, in exposure stops. |
| Lightning Flash Seconds | LightningFlashSeconds |
float |
Environment › Weather | EditAnywhere, BlueprintReadOnly, ClampMin=0.05, Units=s | 0.45 |
How long a flash takes to die away. |
| Thunder Delay Seconds | ThunderDelaySeconds |
FVector2D |
Environment › Weather | EditAnywhere, BlueprintReadOnly | FVector2D(0.4, 2.8) |
Thunder follows a flash after a delay in this range, in seconds (min, max). |
| Precipitation Spawn Rate | PrecipitationSpawnRate |
float |
Environment › Weather | EditAnywhere, BlueprintReadOnly, ClampMin=0, UIMax=20000 | 4500.0 |
Drops a second at a weather's Precipitation Intensity of 1, written to the system's User.SpawnRate. |
| Rain Height Map | bRainHeightMap |
bool |
Environment › Weather › Height Map | EditAnywhere, BlueprintReadOnly | true |
Draw the rain height map while it rains (collision, splashes, shelter). |
| Rain Map Size | RainMapSize |
float |
Environment › Weather › Height Map | EditAnywhere, BlueprintReadOnly, ClampMin=1000, Units=cm | 6400.0 |
Width of the square it covers, cm. Must hold the rain volume plus the wind drift. |
| Rain Map Resolution | RainMapResolution |
int32 |
Environment › Weather › Height Map | EditAnywhere, BlueprintReadOnly, ClampMin=32, ClampMax=1024 | 256 |
Its resolution (square). 256 over 64 m is 25 cm a texel. |
| Rain Map Above | RainMapAbove |
float |
Environment › Weather › Height Map | EditAnywhere, BlueprintReadOnly, ClampMin=500, Units=cm | 4000.0 |
How far above the camera it looks down from - higher than any roof the player stands under. |
| Rain Map Recapture Distance | RainMapRecaptureDistance |
float |
Environment › Weather › Height Map | EditAnywhere, BlueprintReadOnly, ClampMin=100, Units=cm | 800.0 |
Re-taken once the camera has moved this far from where it was last taken... |
| Rain Map Recapture Seconds | RainMapRecaptureSeconds |
float |
Environment › Weather › Height Map | EditAnywhere, BlueprintReadOnly, ClampMin=0.1, Units=s | 2.0 |
...or this long after, whichever comes first. |
| Rain Color | RainColor |
FLinearColor |
Environment › Weather | EditAnywhere, BlueprintReadOnly | FLinearColor(0.62, 0.66, 0.72, 0.16) |
Rain colour and opacity at full daylight; darkened with the light. |
| Splash Color | SplashColor |
FLinearColor |
Environment › Weather | EditAnywhere, BlueprintReadOnly | FLinearColor(0.7, 0.74, 0.8, 0.22) |
Splash colour and opacity at full daylight; darkened with the light (User.SplashColor). |
| Rain Night Brightness | RainNightBrightness |
float |
Environment › Weather | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=1 | 0.12 |
How much of the rain's colour is left at full dark. |
| Splash Share | SplashShare |
float |
Environment › Weather | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=2 | 0.6 |
Splashes a second, as a share of the drops a second (written to the system's User.SplashRate). |
| Precipitation Offset | PrecipitationOffset |
FVector |
Environment › Weather | EditAnywhere, BlueprintReadOnly | FVector(-250.0, -80.0, 900.0) |
Where the precipitation spawns relative to the camera, in world space - upwind of it, so the drops drift in. |
| Post Process | PostProcess |
TObjectPtr<UPostProcessComponent> |
Environment | VisibleAnywhere | No description. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Rain Height Map | Pure | class UTextureRenderTarget2D* GetRainHeightMap() const |
The rain height map, for tests and debugging. |
| Get Rain Map Top | Pure | float GetRainMapTop() const |
World Z the height map was last taken down from. |
| Get Rain Map Center | Pure | FVector GetRainMapCenter() const |
World xy the height map was last centred on. |
| Get Sun Elevation | Pure | float GetSunElevation() const |
Sun elevation right now (degrees; negative below the horizon). |
| Get Daylight Alpha | Pure | float GetDaylightAlpha() const |
0 at night, 1 by day. |
| Get Weather Blend | Pure | float GetWeatherBlend() const |
How far the current weather's look has blended in, 0..1. |
| Flash Lightning | Callable | void FlashLightning() |
Fires a lightning flash now (and its thunder). |
| Get | Pure | AXenoCoreEnvironmentDirector* Get() |
The director in this world, or null. |
EXenoCorePhaseMask¶
Enum · header XenoCoreRuntime/Public/World/XenoCoreWorldTypes.h · BlueprintType
A set of phases, for "only at night" or "only by day" gates.
| Value | Shown as | Description |
|---|---|---|
None |
None | No description. |
Morning |
Morning | No description. |
Day |
Day | No description. |
Evening |
Evening | No description. |
Night |
Night | No description. |
EXenoCoreTimePhase¶
Enum · header XenoCoreRuntime/Public/World/XenoCoreWorldTypes.h · BlueprintType
The four XC1 phases. Spawns, collectables and NPCs are gated on these.
| Value | Shown as | Description |
|---|---|---|
Morning |
Morning | No description. |
Day |
Day | No description. |
Evening |
Evening | No description. |
Night |
Night | No description. |
FXenoCoreTimeChangedMessage¶
Struct · header XenoCoreRuntime/Public/World/XenoCoreWorldTypes.h · BlueprintType
Payload of XenoCore.Time.Message.PhaseChanged, .HourBlockChanged and .Jumped.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Minutes | Minutes |
float |
XenoCore › Time | BlueprintReadOnly | 0.0 |
Minutes since midnight, 0..1440. |
| Old Phase | OldPhase |
EXenoCoreTimePhase |
XenoCore › Time | BlueprintReadOnly | EXenoCoreTimePhase::Day |
No description. |
| New Phase | NewPhase |
EXenoCoreTimePhase |
XenoCore › Time | BlueprintReadOnly | EXenoCoreTimePhase::Day |
No description. |
| Hour Block | HourBlock |
int32 |
XenoCore › Time | BlueprintReadOnly | 0 |
0..7 - which three-hour block of the day (XC1's NPC schedule granularity). |
| Jumped | bJumped |
bool |
XenoCore › Time | BlueprintReadOnly | false |
The time was set (the dial, a cheat, a load), not reached - snap, do not blend. |
FXenoCoreWeatherChanceRow¶
Struct · derives from FTableRowBase · header XenoCoreRuntime/Public/World/XenoCoreWorldTypes.h · BlueprintType
One line of an area's weather table: a weather and its chance, in percent.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Weather | Weather |
FGameplayTag |
Weather | EditAnywhere, BlueprintReadOnly, Categories=XenoCore.Weather |
The weather this line can roll. | |
| Percent | Percent |
float |
Weather | EditAnywhere, BlueprintReadOnly, ClampMin=0, UIMax=100 | 5.0 |
Chance in percent. Whatever the table leaves under 100 is Clear. |
| Phases | Phases |
int32 |
Weather | EditAnywhere, BlueprintReadOnly | 0 |
Phases it can roll in. None ticked = any phase. |
FXenoCoreWeatherChangedMessage¶
Struct · header XenoCoreRuntime/Public/World/XenoCoreWorldTypes.h · BlueprintType
Payload of XenoCore.Weather.Message.Changed.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Old Weather | OldWeather |
FGameplayTag |
XenoCore › Weather | BlueprintReadOnly | No description. | |
| New Weather | NewWeather |
FGameplayTag |
XenoCore › Weather | BlueprintReadOnly | No description. | |
| Instant | bInstant |
bool |
XenoCore › Weather | BlueprintReadOnly | false |
Snap rather than blend - the change happened behind a fade, or on arrival in a map. |
FXenoCoreWeatherTypeRow¶
Struct · derives from FTableRowBase · header XenoCoreRuntime/Public/World/XenoCoreWorldTypes.h · BlueprintType
One kind of weather: its name, icon, how long it lasts, and how it changes the sky, lights and music.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Tag | Tag |
FGameplayTag |
Weather | EditAnywhere, BlueprintReadOnly, Categories=XenoCore.Weather |
Which weather this row describes. | |
| Display Name | DisplayName |
FText |
Weather | EditAnywhere, BlueprintReadOnly | The name under the minimap. | |
| Icon | Icon |
TSoftObjectPtr<UTexture2D> |
Weather | EditAnywhere, BlueprintReadOnly | The icon under the minimap. Empty = name only. | |
| Duration Minutes | DurationMinutes |
FVector2D |
Weather | EditAnywhere, BlueprintReadOnly | FVector2D(90.0, 240.0) |
How long it lasts before the next roll, in in-game minutes (min, max). Unsourced: XC1's durations are not documented. |
| Blend Seconds | BlendSeconds |
float |
Weather | EditAnywhere, BlueprintReadOnly, ClampMin=0, Units=s | 20.0 |
Real seconds to blend into this weather (a jump or an arrival snaps instead). |
| Music Volume Scale | MusicVolumeScale |
float |
Weather › Audio | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=1 | 1.0 |
Music volume while this weather holds. XC1: rain and storms lower the music. |
| Ambient Sound | AmbientSound |
TSoftObjectPtr<USoundBase> |
Weather › Audio | EditAnywhere, BlueprintReadOnly | Looping ambience (rain hiss). Empty = none. | |
| Ambient Volume | AmbientVolume |
float |
Weather › Audio | EditAnywhere, BlueprintReadOnly, ClampMin=0, UIMax=2 | 1.0 |
Volume of the looping ambience. |
| Sun Intensity Scale | SunIntensityScale |
float |
Weather › Look | EditAnywhere, BlueprintReadOnly, ClampMin=0, UIMax=2 | 1.0 |
Scales the sun/moon. |
| Sky Light Scale | SkyLightScale |
float |
Weather › Look | EditAnywhere, BlueprintReadOnly, ClampMin=0, UIMax=2 | 1.0 |
Scales the sky light (ambient). |
| Fog Density Scale | FogDensityScale |
float |
Weather › Look | EditAnywhere, BlueprintReadOnly, ClampMin=0, UIMax=10 | 1.0 |
Scales the height fog's density. |
| Cloud Coverage Offset | CloudCoverageOffset |
float |
Weather › Look | EditAnywhere, BlueprintReadOnly, UIMin=-1, UIMax=1 | 0.0 |
Added to the clouds' coverage (Cloud_GlobalCoverage). +0.4 closes the sky; above ~+1 the clouds vanish. |
| Cloud Density Scale | CloudDensityScale |
float |
Weather › Look | EditAnywhere, BlueprintReadOnly, ClampMin=0, UIMax=5 | 1.0 |
Scales the clouds' density (Cloud_GlobalDensity) - thicker, greyer cloud. |
| Overcast | Overcast |
float |
Weather › Look | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=1 | 0.0 |
How grey the sky itself goes, 0..1 (no blue showing through). |
| Storm Clouds | StormClouds |
float |
Weather › Look | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=1 | 0.0 |
The engine cloud material's own storm look (StormClouds), 0..1: 0.3 is rain-grey, 0.6 storm-dark, above that near black. |
| Exposure Offset | ExposureOffset |
float |
Weather › Look | EditAnywhere, BlueprintReadOnly, UIMin=-3, UIMax=3 | 0.0 |
Added to the exposure, in stops. |
| Saturation | Saturation |
float |
Weather › Look | EditAnywhere, BlueprintReadOnly, ClampMin=0, UIMax=2 | 1.0 |
Colour saturation (1 = unchanged). Rain greys the world. |
| Wind Strength | WindStrength |
float |
Weather › Wind | EditAnywhere, BlueprintReadOnly, ClampMin=0, UIMax=4 | 1.0 |
How hard the wind blows - scales the foliage wind (the director's Wind Collection), so the grass leans with the rain. |
| Precipitation System | PrecipitationSystem |
TSoftObjectPtr<UNiagaraSystem> |
Weather › Effects | EditAnywhere, BlueprintReadOnly | Rain, snow... spawned on the camera. Its spawn rate should read the float user parameter "SpawnRate". | |
| Precipitation Intensity | PrecipitationIntensity |
float |
Weather › Effects | EditAnywhere, BlueprintReadOnly, ClampMin=0, UIMax=2 | 1.0 |
How hard it falls: SpawnRate = the director's Precipitation Spawn Rate x this (rain 0.6, a storm 1). |
| Lightning | bLightning |
bool |
Weather › Effects | EditAnywhere, BlueprintReadOnly | false |
Lightning flashes, with thunder. |
| Lightning Interval Seconds | LightningIntervalSeconds |
FVector2D |
Weather › Effects | EditAnywhere, BlueprintReadOnly, EditCondition=bLightning | FVector2D(8.0, 25.0) |
Real seconds between flashes (min, max). |
| Thunder Sound | ThunderSound |
TSoftObjectPtr<USoundBase> |
Weather › Effects | EditAnywhere, BlueprintReadOnly, EditCondition=bLightning | Played after a flash (a delay stands in for distance). Empty = silent flashes. |
UXenoCoreChangeTimeScreen¶
Class · derives from UCommonActivatableWidget · header XenoCoreRuntime/Public/World/XenoCoreChangeTimeScreen.h · Blueprintable
The Change Time menu screen: a 24-hour dial set to the nearest hour, confirmed behind a fade.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Title Text | TitleText |
FText |
Change Time › Text | EditDefaultsOnly, BlueprintReadOnly | The screen's title. | |
| Phase Format | PhaseFormat |
FText |
Change Time › Text | EditDefaultsOnly, BlueprintReadOnly | The line under the time. {Phase} is the phase the chosen hour falls in. | |
| Confirm Text | ConfirmText |
FText |
Change Time › Text | EditDefaultsOnly, BlueprintReadOnly | The action bar's word for A. | |
| Title Font | TitleFont |
FSlateFontInfo |
Change Time › Text | EditDefaultsOnly, BlueprintReadOnly | Font of the title. | |
| Time Font | TimeFont |
FSlateFontInfo |
Change Time › Text | EditDefaultsOnly, BlueprintReadOnly | Font of the chosen time. | |
| Phase Font | PhaseFont |
FSlateFontInfo |
Change Time › Text | EditDefaultsOnly, BlueprintReadOnly | Font of the phase line under the time. | |
| Font Family | FontFamily |
TSoftObjectPtr<UObject> |
Change Time › Text | EditDefaultsOnly, BlueprintReadOnly | The font family for the fonts above whose own Font Family is empty. Orbitron by default. | |
| Text Colour | TextColour |
FLinearColor |
Change Time › Colour | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.92, 0.95, 1.0, 1.0) |
Colour of the screen's text. |
| Scrim Colour | ScrimColour |
FLinearColor |
Change Time › Colour | EditDefaultsOnly, BlueprintReadOnly | FLinearColor(0.0, 0.0, 0.0, 0.45) |
Colour of the backdrop dimming the world behind the screen. |
| Dial | Dial |
TObjectPtr<UXenoCoreClockDial> |
Change Time | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Time Text | TimeText |
TObjectPtr<UTextBlock> |
Change Time | BlueprintReadOnly, BindWidgetOptional | No description. | |
| Phase Text | PhaseText |
TObjectPtr<UTextBlock> |
Change Time | BlueprintReadOnly, BindWidgetOptional | No description. |
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Step Hour | Callable | void StepHour(int32 Delta) |
Step the chosen hour by Delta, wrapping. |
| Set Selected Hour | Callable | void SetSelectedHour(int32 Hour) |
Set the chosen hour (0..23) and redraw. |
| Get Selected Hour | Pure | int32 GetSelectedHour() const |
The hour currently chosen on the dial. |
| Confirm | Callable | void Confirm() |
Change to the chosen hour (closes the menu and fades). |
| On Selected Hour Changed | Event (implement in Blueprint) | void K2_OnSelectedHourChanged(int32 Hour) |
No description. |
UXenoCoreClockDial¶
Class · derives from UWidget · header XenoCoreRuntime/Public/World/XenoCoreChangeTimeScreen.h
A painted 24-hour clock face: day and night ticks, the current time, and the chosen hour's hand.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Selected Hour | SelectedHour |
int32 |
Dial | EditAnywhere, BlueprintReadWrite, ClampMin=0, ClampMax=23, UIMin=0, UIMax=23 | 12 |
The hour the hand points at, 0..23. |
| Dial Size | DialSize |
FVector2D |
Dial | EditAnywhere, BlueprintReadWrite | FVector2D(360.0, 360.0) |
The dial's desired size on screen. |
| Face Colour | FaceColour |
FLinearColor |
Dial | EditAnywhere, BlueprintReadWrite | FLinearColor(0.02, 0.03, 0.05, 0.88) |
Colour of the dial's face disc. |
| Day Colour | DayColour |
FLinearColor |
Dial | EditAnywhere, BlueprintReadWrite | FLinearColor(1.0, 0.78, 0.35, 1.0) |
Colour of the daytime hour ticks and labels. |
| Night Colour | NightColour |
FLinearColor |
Dial | EditAnywhere, BlueprintReadWrite | FLinearColor(0.45, 0.62, 1.0, 1.0) |
Colour of the night hour ticks and labels. |
| Hand Colour | HandColour |
FLinearColor |
Dial | EditAnywhere, BlueprintReadWrite | FLinearColor(0.95, 0.97, 1.0, 1.0) |
Colour of the hand pointing at the chosen hour. |
| Hour Font | HourFont |
FSlateFontInfo |
Dial | EditAnywhere, BlueprintReadWrite | Font of the hour labels round the dial. | |
| Sun Icon | SunIcon |
FSlateBrush |
Dial | EditAnywhere, BlueprintReadWrite | The sun at the hand's tip for a daytime hour. | |
| Moon Icon | MoonIcon |
FSlateBrush |
Dial | EditAnywhere, BlueprintReadWrite | The moon at the hand's tip for a night hour. | |
| Sun Texture | SunTexture |
TSoftObjectPtr<UTexture2D> |
Dial | EditAnywhere, BlueprintReadWrite | The texture for Sun Icon when that brush has no image. The minimap rim's sun by default. | |
| Moon Texture | MoonTexture |
TSoftObjectPtr<UTexture2D> |
Dial | EditAnywhere, BlueprintReadWrite | The texture for Moon Icon when that brush has no image. The minimap rim's moon by default. |
UXenoCoreEnvironmentSettings¶
Class · derives from UDeveloperSettings · header XenoCoreRuntime/Public/World/XenoCoreEnvironmentSettings.h
The time of day and weather, project-wide: clock speed, phase hours, the time-change fade and the weather types.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Minutes Per Second | MinutesPerSecond |
float |
Clock | Config, EditAnywhere, BlueprintReadOnly, ClampMin=0, UIMax=60 | 1.0 |
In-game minutes per real second. XC1: 1 (a day is 24 real minutes). |
| New Game Start Hour | NewGameStartHour |
float |
Clock | Config, EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=23.99 | 10.0 |
The hour a new game starts at. Unsourced: XC1's opening hour is not documented. |
| Pause During Dialogue | bPauseDuringDialogue |
bool |
Clock | Config, EditAnywhere, BlueprintReadOnly | true |
Stop the clock during conversations, as XC1 does (it stops in menus because menus pause the world). |
| Morning Start Hour | MorningStartHour |
float |
Clock › Phases | Config, EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=24 | 5.0 |
Hour Morning begins. XC1: 05:00 - which is also when daytime begins. |
| Day Start Hour | DayStartHour |
float |
Clock › Phases | Config, EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=24 | 6.0 |
Hour Day begins. XC1: 06:00. |
| Evening Start Hour | EveningStartHour |
float |
Clock › Phases | Config, EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=24 | 17.0 |
Hour Evening begins. XC1: 17:00. |
| Night Start Hour | NightStartHour |
float |
Clock › Phases | Config, EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=24 | 19.0 |
Hour Night begins - and daytime ends. XC1: 19:00. |
| Change Time Fade Out Seconds | ChangeTimeFadeOutSeconds |
float |
Clock › Change Time | Config, EditAnywhere, BlueprintReadOnly, ClampMin=0, Units=s | 0.5 |
Changing the time from the menu: fade to black over this long, rather than a bare snap. |
| Change Time Hold Seconds | ChangeTimeHoldSeconds |
float |
Clock › Change Time | Config, EditAnywhere, BlueprintReadOnly, ClampMin=0, Units=s | 0.35 |
...hold the black this long (the time and weather snap here)... |
| Change Time Fade In Seconds | ChangeTimeFadeInSeconds |
float |
Clock › Change Time | Config, EditAnywhere, BlueprintReadOnly, ClampMin=0, Units=s | 0.8 |
...and fade back in over this long. |
| Weather Types | WeatherTypes |
TSoftObjectPtr<UDataTable> |
Weather | Config, EditAnywhere, BlueprintReadOnly, AllowedClasses=/Script/Engine.DataTable | No description. |
UXenoCoreSkyProfile¶
Class · derives from UPrimaryDataAsset · header XenoCoreRuntime/Public/World/XenoCoreSkyProfile.h · BlueprintType
A map's day: the sun and moon path, and per-hour ambient, exposure, fog and colour curves.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Sunrise Hour | SunriseHour |
float |
Sun | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=24 | 5.0 |
The sun crosses the horizon rising. XC1's daytime starts 05:00. |
| Sunset Hour | SunsetHour |
float |
Sun | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=24 | 19.0 |
...and setting. XC1's nighttime starts 19:00. |
| Sun Max Elevation | SunMaxElevation |
float |
Sun | EditAnywhere, BlueprintReadOnly, ClampMin=5, ClampMax=90, Units=deg | 62.0 |
Highest the sun climbs, at midday. |
| Sun Azimuth Swing | SunAzimuthSwing |
float |
Sun | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=180, Units=deg | 80.0 |
How far the sun swings either side of the map's authored heading between rise and set. |
| Sun Intensity Scale | SunIntensityScale |
float |
Sun | EditAnywhere, BlueprintReadOnly, ClampMin=0, UIMax=3 | 1.0 |
The sun's brightness, as a scale on the map's authored sun. |
| Twilight Degrees | TwilightDegrees |
float |
Sun | EditAnywhere, BlueprintReadOnly, ClampMin=1, ClampMax=18, Units=deg | 9.0 |
How far below the horizon the sun keeps lighting the sky (twilight) before the moon takes over. |
| Moon Max Elevation | MoonMaxElevation |
float |
Moon | EditAnywhere, BlueprintReadOnly, ClampMin=5, ClampMax=90, Units=deg | 48.0 |
Highest the moon climbs, in the middle of the night. |
| Moon Intensity Fraction | MoonIntensityFraction |
float |
Moon | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=1 | 0.08 |
The moon's brightness, as a fraction of the map's authored sun. |
| Moon Color | MoonColor |
FLinearColor |
Moon | EditAnywhere, BlueprintReadOnly | FLinearColor(0.62, 0.72, 1.0) |
The moonlight's colour. |
| Moon Disk Angle | MoonDiskAngle |
float |
Moon | EditAnywhere, BlueprintReadOnly, ClampMin=0.1, ClampMax=20, Units=deg | 3.5 |
The moon as seen: its size on the sky. (The real moon is half a degree; a game moon reads bigger.) |
| Moon Disk Brightness | MoonDiskBrightness |
float |
Moon | EditAnywhere, BlueprintReadOnly, ClampMin=0, UIMax=50 | 4.0 |
The drawn moon's brightness (the material's Brightness). |
| Moon Material | MoonMaterial |
TSoftObjectPtr<class UMaterialInterface> |
Moon | EditAnywhere, BlueprintReadOnly | The drawn moon. Empty = no moon drawn (the moonlight still shines). | |
| Night Exposure Floor EV 100 | NightExposureFloorEV100 |
float |
Night | EditAnywhere, BlueprintReadOnly, UIMin=-4, UIMax=12 | -2.0 |
Night stays night: the auto-exposure floor (EV100) at full dark. Higher = darker. |
| Star Material | StarMaterial |
TSoftObjectPtr<class UMaterialInterface> |
Night | EditAnywhere, BlueprintReadOnly | Stars: the dome the director spawns round the map, faded in by darkness. Empty = no stars. | |
| Star Brightness | StarBrightness |
float |
Night | EditAnywhere, BlueprintReadOnly, ClampMin=0, UIMax=40 | 6.0 |
The bright twinkling stars (the material's Brightness). |
| Milky Way Brightness | MilkyWayBrightness |
float |
Night | EditAnywhere, BlueprintReadOnly, ClampMin=0, UIMax=20 | 2.0 |
The Milky Way texture's brightness (the material's SkyBrightness). |
| Pole Tilt | PoleTilt |
float |
Night | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=90, Units=deg | 35.0 |
How far the sky's pole leans from straight up - the stars wheel round it through the night. |
| Sky Light Scale | SkyLightScale |
FRuntimeFloatCurve |
Curves | EditAnywhere, BlueprintReadOnly | Sky light (ambient) as a scale on the map's authored value, by hour 0..24. | |
| Exposure Offset | ExposureOffset |
FRuntimeFloatCurve |
Curves | EditAnywhere, BlueprintReadOnly | Exposure offset in stops, by hour. Lifts the night so it reads as moonlit rather than black. | |
| Fog Color Scale | FogColorScale |
FRuntimeFloatCurve |
Curves | EditAnywhere, BlueprintReadOnly | Height-fog colour (and its sun-facing glow) as a scale on the authored colour, by hour. | |
| Saturation | Saturation |
FRuntimeFloatCurve |
Curves | EditAnywhere, BlueprintReadOnly | Colour saturation, by hour. | |
| Sun Glow Tint | SunGlowTint |
FRuntimeCurveLinearColor |
Curves | EditAnywhere, BlueprintReadOnly | Fog glow towards the sun, tinted by hour - warm at dawn and dusk. | |
| Sun Glow Horizon Fade | SunGlowHorizonFade |
float |
Curves | EditAnywhere, BlueprintReadOnly, ClampMin=0, ClampMax=1 | 0.3 |
How much of the fog's glow towards the sun is left with the sun on the horizon (1 at 25 degrees up). |
| Scene Tint | SceneTint |
FRuntimeCurveLinearColor |
Curves | EditAnywhere, BlueprintReadOnly | A colour tint over the whole picture, by hour (white = none). Night goes blue. | |
| Light Step Minutes | LightStepMinutes |
float |
Performance | EditAnywhere, BlueprintReadOnly, ClampMin=0, UIMax=10 | 1.0 |
The sun moves in steps of this many in-game minutes (shadow cost). |
UXenoCoreTimeOfDaySubsystem¶
Class · derives from UGameInstanceSubsystem · header XenoCoreRuntime/Public/World/XenoCoreTimeOfDaySubsystem.h
The in-game clock: minutes since midnight, the XC1 phases, and Change Time. Survives map travel and is saved.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Minutes | Pure | float GetMinutes() const |
Minutes since midnight, 0..1440. |
| Get Hours | Pure | float GetHours() const |
Hours since midnight, 0..24, fractional. |
| Get Phase | Pure | EXenoCoreTimePhase GetPhase() const |
The current phase: Morning, Day, Evening or Night. |
| Is Daytime | Pure | bool IsDaytime() const |
True outside the Night phase (XC1: 05:00-19:00). |
| Is Nighttime | Pure | bool IsNighttime() const |
True during the Night phase. |
| Get Hour Block | Pure | int32 GetHourBlock() const |
0..7: which three-hour block (XC1's NPC schedules). |
| Is In Phases | Pure | bool IsInPhases() int32 Mask) const |
True when the current phase is in Mask. |
| Get Time Text | Pure | FText GetTimeText() const |
"14:05". |
| Get Phase Text | Pure | FText GetPhaseText(EXenoCoreTimePhase Phase) |
The phase's player-facing name ("Morning", "Night"). |
| Set Time | Callable | void SetTime(float Hours) |
Sets the time immediately (hours, 0..24). |
| Change Time With Fade | Callable | void ChangeTimeWithFade(APlayerController* Player, float Hours) |
Changes the time behind a fade to black, closing the menu first. |
| Is Changing Time | Pure | bool IsChangingTime() const |
True while ChangeTimeWithFade is running. |
| Add Clock Hold | Callable | void AddClockHold(FName Reason) |
Stops the clock until the same Reason is released. |
| Remove Clock Hold | Callable | void RemoveClockHold(FName Reason) |
Releases a hold added with AddClockHold under the same Reason. |
| Is Clock Stopped | Pure | bool IsClockStopped() const |
True when the clock is not advancing right now. |
UXenoCoreWeatherSubsystem¶
Class · derives from UGameInstanceSubsystem · header XenoCoreRuntime/Public/World/XenoCoreWeatherSubsystem.h
The current weather: rolled per area from its weather table, re-rolled on a timer and when the time is changed. Saved.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Current Weather | Pure | FGameplayTag GetCurrentWeather() const |
The weather now. |
| Get Current Weather Type | Pure | bool GetCurrentWeatherType(FXenoCoreWeatherTypeRow& OutType) const |
The current weather's type row. |
| Is Weather | Pure | bool IsWeather(FGameplayTag Tag) const |
True while the weather is Tag (or a child of it). |
| Set Weather | Callable | void SetWeather(FGameplayTag Weather, bool bLock = false, bool bInstant = false) |
Forces a weather, optionally locking it until Unlock Weather. |
| Unlock Weather | Callable | void UnlockWeather() |
Releases a lock and rolls the area's table. |
| Is Weather Locked | Pure | bool IsWeatherLocked() const |
No description. |
| Reroll | Callable | void Reroll(bool bInstant = false) |
Rolls the current area's table now. |
XenoCoreEditor / (root)¶
Editor-only module: these classes are not in a packaged game. See Editor tools.
FXenoCoreRandomPlayerEntry¶
Struct · header XenoCoreEditor/Public/XenoCoreAnimLayerTools.h · BlueprintType
One entry in a state's Random Sequence Player: a clip, how often it gets picked, and how it comes in over whatever played before it.
Properties
| Property | C++ name | Type | Category | Specifiers | Default | Description |
|---|---|---|---|---|---|---|
| Sequence | Sequence |
TObjectPtr<UAnimSequenceBase> |
XenoCore | EditAnywhere, BlueprintReadWrite | nullptr |
No description. |
| Chance To Play | ChanceToPlay |
float |
XenoCore | EditAnywhere, BlueprintReadWrite, ClampMin=0 | 1.0 |
Relative pick weight, normalised against every other entry. Ignored in shuffle mode. |
| Min Loop Count | MinLoopCount |
int32 |
XenoCore | EditAnywhere, BlueprintReadWrite, ClampMin=0 | 0 |
No description. |
| Max Loop Count | MaxLoopCount |
int32 |
XenoCore | EditAnywhere, BlueprintReadWrite, ClampMin=0 | 0 |
No description. |
| Min Play Rate | MinPlayRate |
float |
XenoCore | EditAnywhere, BlueprintReadWrite, ClampMin=0 | 1.0 |
Play rate is randomised in this range each time the entry is picked. |
| Max Play Rate | MaxPlayRate |
float |
XenoCore | EditAnywhere, BlueprintReadWrite, ClampMin=0 | 1.0 |
Upper end of the randomised play rate. |
| Blend In Time | BlendInTime |
float |
XenoCore | EditAnywhere, BlueprintReadWrite, ClampMin=0 | 0.25 |
No description. |
UXenoCoreAITools¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreEditor/Public/XenoCoreAITools.h
Editor-only AI authoring helpers.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Build Companion Combat Spot Query | Callable | UEnvQuery* BuildCompanionCombatSpotQuery(const FString& PackagePath, float Radius = 230.0f, int32 NumPoints = 16, float SpacingClamp = 300.0f) |
Create or reset the companion combat-spot EQS query. |
| Build Companion Positional Spot Query | Callable | UEnvQuery* BuildCompanionPositionalSpotQuery(const FString& PackagePath, EXenoCoreArtPositional Position, float Radius = 230.0f, int32 NumPoints = 16, float SpacingClamp = 300.0f) |
Create or reset a companion positional-spot EQS query (Back or Side). |
| Spawn Actor In World | Callable | AActor* SpawnActorInWorld(TSubclassOf<AActor> ActorClass, FTransform Transform) |
Spawn an actor into the given object's world (e.g. the PIE world). |
UXenoCoreAnimLayerTools¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreEditor/Public/XenoCoreAnimLayerTools.h
Editor-only scripted authoring for linked anim layers and anim graph nodes.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Add Anim Layer To Interface | Callable | bool AddAnimLayerToInterface(UAnimBlueprint* InterfaceBlueprint, FName LayerName) |
Declares an animation layer on an Anim Layer Interface asset. |
| Implement Anim Layer Interface | Callable | bool ImplementAnimLayerInterface(UAnimBlueprint* Blueprint, UAnimBlueprint* InterfaceBlueprint) |
Makes Blueprint implement InterfaceBlueprint's layers. |
| Remove Anim Layer Interface | Callable | bool RemoveAnimLayerInterface(UAnimBlueprint* Blueprint, UAnimBlueprint* InterfaceBlueprint, bool bPreserveFunctions = false) |
Drops an implemented anim layer interface, discarding its layer graphs. |
| Add Linked Anim Layer Node | Callable | FString AddLinkedAnimLayerNode(UAnimBlueprint* Blueprint, UAnimBlueprint* InterfaceBlueprint, FName LayerName, UAnimBlueprint* DefaultLayerBlueprint, FName GraphName = NAME_None) |
Adds a Linked Anim Layer node to a graph and drives that graph's Output Pose from it. |
| Describe State Machine | Callable | FString DescribeStateMachine(UAnimBlueprint* Blueprint) |
Dumps a state machine's topology as JSON: every state with the asset driving it, and every transition with its endpoints, rule variable, crossfade and automatic-rule flag. |
| Set Transition Automatic Rule | Callable | FString SetTransitionAutomaticRule(UAnimBlueprint* Blueprint, FName FromState, FName ToState, bool bEnabled) |
Turns "Automatic Rule Based on Sequence Player in State" on or off for one transition, identified by the states it joins. |
| Move Graph Content | Callable | FString MoveGraphContent(UAnimBlueprint* Blueprint, FName SourceGraphName, FName DestGraphName) |
Moves every node except the Output Pose from one graph into another, and re-drives the destination's Output Pose from whatever drove the source's. |
| Add Montage Slot | Callable | FString AddMontageSlot(UAnimBlueprint* Blueprint, FName GraphName, FName SlotName) |
Inserts a montage Slot between whatever currently drives the Output Pose and the Output Pose, in any named graph. |
| Add Sequence Player To Graph | Callable | FString AddSequencePlayerToGraph(UAnimBlueprint* Blueprint, FName GraphName, UAnimSequence* Sequence, bool bLoop = true, bool bExposeSequencePin = false) |
Adds a Sequence Player to any named graph, and optionally exposes its Sequence as a pin so a variable can drive which clip it plays. |
| Add Additive Slot Branch | Callable | FString AddAdditiveSlotBranch(UAnimBlueprint* Blueprint, FName GraphName, FName SlotName) |
Inserts an additive slot branch before the Output Pose. |
| Set Skeleton Slot Group | Callable | FString SetSkeletonSlotGroup(USkeleton* Skeleton, FName SlotName, FName GroupName) |
Puts a montage slot in a slot group on a skeleton, creating the group if needed. |
| Describe Skeleton Slot Groups | Callable | FString DescribeSkeletonSlotGroups(USkeleton* Skeleton) |
Every slot group on a skeleton and its slots, as JSON - the read side of SetSkeletonSlotGroup. |
| Set Apply Additive Alpha | Callable | FString SetApplyAdditiveAlpha(UAnimBlueprint* Blueprint, FName GraphName, float Alpha) |
Sets the Alpha on every ApplyAdditive node in the graph. |
| Add Upper Body Slot Branch | Callable | FString AddUpperBodySlotBranch(UAnimBlueprint* Blueprint, FName GraphName, FName SlotName, FName RootBone) |
Inserts an upper-body montage slot before the Output Pose. |
| Add Inertialization | Callable | FString AddInertialization(UAnimBlueprint* Blueprint, FName GraphName) |
Inserts an Inertialization node immediately before the Output Pose. |
| Add Use Cached Pose | Callable | FString AddUseCachedPose(UAnimBlueprint* Blueprint, FName GraphName, FString CacheName, int32 PosX, int32 PosY) |
Places a "Use cached pose" node bound to the Save cached pose node named CacheName. |
| Add Stride Warping | Callable | FString AddStrideWarping(UAnimBlueprint* Blueprint, FName GraphName, FName StrideScaleVariable) |
Inserts a Stride Warping node directly after the locomotion state machine, with its StrideScale pin driven by a variable get on the named property. |
| Expose Anim Node Pin | Callable | FString ExposeAnimNodePin(UAnimBlueprint* Blueprint, FName PropertyName) |
Ticks "expose as pin" for a named property on every anim node that has it. |
| Wire Anim Node Pin | Callable | FString WireAnimNodePin(UAnimBlueprint* Blueprint, FName PinName, FName VariableName, bool bReplaceExisting = false) |
Drives a named input pin on every anim node that carries it from a variable getter. |
| Wire Blend Space Pin | Callable | FString WireBlendSpacePin(UAnimBlueprint* Blueprint, FName PinName, FName VariableName, bool bReplaceExisting = false) |
Wires a named input pin on every Blend Space Player node to a variable get. |
| Set Graph Blend Space Player | Callable | FString SetGraphBlendSpacePlayer(UAnimBlueprint* Blueprint, FName GraphName, UBlendSpace* BlendSpace) |
Drives a graph's Output Pose from a bare Blend Space Player, replacing whatever drove it. |
| Set Blend Space On Players | Callable | FString SetBlendSpaceOnPlayers(UAnimBlueprint* Blueprint, UBlendSpace* BlendSpace) |
Repoints every Blend Space Player node at a different blend space asset. |
| Set State Random Player | Callable | FString SetStateRandomPlayer(UAnimBlueprint* Blueprint, FName StateName, const TArray<FXenoCoreRandomPlayerEntry>& Entries, bool bShuffle = false) |
Replaces whatever drives a state's Output Pose with a Random Sequence Player over Entries. |
| Describe Graphs | Callable | TArray<FString> DescribeGraphs(UAnimBlueprint* Blueprint) |
Lists graph names on a Blueprint with their concrete UClass, so graph *type* is checkable from script. |
| Get Node Comments | Callable | TArray<FString> GetNodeComments(UAnimBlueprint* Blueprint, FName GraphName) |
Reads node comments from a graph, as "NodeName | Class | comment". |
| Set Node Comment | Callable | bool SetNodeComment(UAnimBlueprint* Blueprint, FName GraphName, FString NodeName, FString Comment) |
Sets a node's comment bubble. |
| Add Comment Box | Callable | FString AddCommentBox(UAnimBlueprint* Blueprint, FName GraphName, FString Comment, const TArray<FString>& NodeNames) |
Adds an EdGraphNode_Comment box around the named nodes, or the whole graph if none given. |
| Describe Parent Asset Overrides | Callable | TArray<FString> DescribeParentAssetOverrides(UAnimBlueprint* ChildBlueprint) |
Lists what a child anim blueprint currently overrides, resolved back to the parent node so the readout says which clip was replaced rather than a bare guid. |
UXenoCoreCameraTools¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreEditor/Public/XenoCoreCameraTools.h
Editor only.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Create Camera Node | Callable | UCameraNode* CreateCameraNode(UCameraRigAsset* CameraRig, TSubclassOf<UCameraNode> NodeClass) |
Creates a camera node of the given class inside a camera rig. |
| Set Root Node | Callable | bool SetRootNode(UCameraRigAsset* CameraRig, UCameraNode* RootNode) |
Sets a camera rig's root node - the link the graph editor makes from its "Root Node" pin. |
| Set Sequence Children | Callable | bool SetSequenceChildren(UArrayCameraNode* SequenceNode, const TArray<UCameraNode*>& Children) |
Replaces a Sequence node's children, in run order. |
| Describe Camera Rig | Callable | TArray<FString> DescribeCameraRig(UCameraRigAsset* CameraRig) |
Describes a rig's node tree as "depth | name | class", walking UCameraNode::GetChildren. |
| Create Rig Transition | Callable | UCameraRigTransition* CreateRigTransition(UCameraRigAsset* CameraRig, TSubclassOf<UBlendCameraNode> BlendClass, bool bEnterTransition) |
Creates an enter or exit transition on a camera rig, carrying a blend of the given class. |
| Describe Rig Transitions | Callable | TArray<FString> DescribeRigTransitions(UCameraRigAsset* CameraRig) |
Describes a rig's enter and exit transitions - the readback the arrays themselves deny. |
| Build Camera Rig | Callable | FString BuildCameraRig(UCameraRigAsset* CameraRig) |
Builds a camera rig and reports the resulting build status. |
UXenoCoreCosmeticTools¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreEditor/Public/XenoCoreCosmeticTools.h
Editor helpers for a pawn Blueprint's cosmetic body-mesh rules.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Set Body Mesh Defaults | Callable | TArray<FString> SetBodyMeshDefaults(UBlueprint* Blueprint, bool bDryRun = false, USkeletalMesh* FallbackMesh = nullptr) |
Sets BodyMeshes.DefaultMesh on each character-parts template this Blueprint owns (its own component, or its own override of an inherited one) that has none, to the mesh the pawn uses today, or to FallbackMesh when the pawn has no mesh of its own (an abstract base). |
| Describe Body Meshes | Callable | TArray<FString> DescribeBodyMeshes(UBlueprint* Blueprint) |
Describes every character-parts template this Blueprint uses: whether it owns it, its default mesh and its rules. |
UXenoCoreEnvironmentTools¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreEditor/Public/XenoCoreEnvironmentTools.h
No description.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Build Terrain Material | Callable | UMaterial* BuildTerrainMaterial(const FString& AssetPath) |
Creates (or rebuilds) the procedural landscape material at AssetPath. |
| Build Natural Material | Callable | UMaterial* BuildNaturalMaterial(const FString& AssetPath) |
Creates (or rebuilds) the procedural rock / bark / canopy material at AssetPath. |
| Build Scanned Rock Material | Callable | UMaterial* BuildScannedRockMaterial(const FString& AssetPath) |
Creates (or rebuilds) the scanned-rock material at AssetPath. |
UXenoCoreGameplayEffectTools¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreEditor/Public/XenoCoreGameplayEffectTools.h
Editor-only authoring for GameplayEffects.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Set Granted Tags | Callable | FString SetGrantedTags(UBlueprint* EffectBlueprint, FGameplayTagContainer GrantedTags) |
Tags the effect grants to its target while active. |
| Set Application Requirements | Callable | FString SetApplicationRequirements(UBlueprint* EffectBlueprint, FGameplayTagContainer RequireTags, FGameplayTagContainer IgnoreTags) |
Tags the target must have (or must not have) for the effect to apply at all. |
| Describe Effect | Callable | FString DescribeEffect(UBlueprint* EffectBlueprint) |
Reads back what an effect grants and requires, so a write can be verified rather than assumed. |
UXenoCoreGraphTools¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreEditor/Public/XenoCoreGraphTools.h
Editor only.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Node Rect | Callable | FVector4 GetNodeRect(const UEdGraphNode* Node) |
X, Y, Width, Height. |
| Set Node Rect | Callable | void SetNodeRect(UEdGraphNode* Node, int32 X, int32 Y, int32 Width = 0, int32 Height = 0) |
Moves any node. |
| Open Graph | Callable | bool OpenGraph(UEdGraph* Graph) |
Opens the graph's Blueprint editor on this graph and zooms to fit it - for screenshots. |
| Open Graph At | Callable | bool OpenGraphAt(UEdGraph* Graph, float X, float Y, float Zoom = 1.f) |
Opens the graph with its view's top-left at (X, Y) at the given zoom (1 = 100%) - for close-up screenshots. |
UXenoCoreMapTools¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreEditor/Public/XenoCoreMapTools.h
Editor-only map authoring helpers: a map's default experience, landscape creation and ground height.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Set Default Gameplay Experience | Callable | bool SetDefaultGameplayExperience(UWorld* World, const FString& ExperienceClassPath) |
Points a map's world settings at an experience. |
| Get Default Gameplay Experience | Callable | FString GetDefaultGameplayExperience(UWorld* World) |
What the map currently opens with, as a class path. |
| Create Landscape From Heightmap | Callable | class ALandscape* CreateLandscapeFromHeightmap(UWorld* World, const FString& HeightmapFile, FVector Location, FVector Scale, int32 QuadsPerSection = 127, int32 SectionsPerComponent = 2, int32 GridSizeInComponents = 1, class UMaterialInterface* Material = nullptr, const FString& Label = TEXT("Landscape")) |
Creates a landscape from a 16-bit greyscale heightmap, like Landscape mode's Import from File. |
| Get Landscape Height At | Callable | bool GetLandscapeHeightAt(class ALandscapeProxy* Landscape, double X, double Y, double& OutZ) |
Height of a landscape's surface at a world xy, readable from a commandlet. |
UXenoCoreMaterialTools¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreEditor/Public/XenoCoreMaterialTools.h
No description.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Describe Material Wiring | Callable | FString DescribeMaterialWiring(UMaterial* Material) |
Every connected root input (by EMaterialProperty name) and every connected input of every expression. |
| Disconnect Material Property | Callable | bool DisconnectMaterialProperty(UMaterial* Material, FName PropertyName) |
Cut the root input for a property, by name without the MP_ prefix ("PixelDepthOffset", "Anisotropy", ...). |
| Disconnect Expression Inputs | Callable | int32 DisconnectExpressionInputs(UMaterial* Material, FName ExpressionClassName, FName InputName) |
Cut one named input of every expression of the given class in the material (e.g. the Substrate legacy conversion's "Anisotropy"). |
UXenoCoreMinimapTools¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreEditor/Public/XenoCoreMinimapTools.h
No description.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Build Minimap Material | Callable | UMaterial* BuildMinimapMaterial(const FString& AssetPath) |
Creates (or rebuilds in place) the minimap material at AssetPath, e.g. |
UXenoCoreNiagaraTools¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreEditor/Public/XenoCoreNiagaraTools.h
Editor-only authoring helpers for Niagara systems.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Set Color Constants | Callable | FString SetColorConstants(UNiagaraSystem* System, const FString& NameContains, FLinearColor Value) |
Sets every LinearColor rapid-iteration parameter whose name contains NameContains, across every emitter and script in the system. |
| List Color Constants | Callable | FString ListColorConstants(UNiagaraSystem* System) |
Lists every LinearColor rapid-iteration parameter, so a caller can see what it may set. |
UXenoCoreProjectSetup¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreEditor/Public/XenoCoreProjectSetup.h
No description.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Pending Steps | Callable | TArray<FString> GetPendingSteps() |
One line per step still to do, e.g. |
| Apply Project Setup | Callable | bool ApplyProjectSetup(TArray<FString>& OutApplied, TArray<FString>& OutConflicts) |
Applies every pending step to the project's Config/Default*.ini. |
| Get Conflicts | Callable | TArray<FString> GetConflicts() |
Steps the project overrides with its own value; reported, never written. |
UXenoCoreReleaseTools¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreEditor/Public/XenoCoreReleaseTools.h
Editor only.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Get Preview Mesh Path | Callable | FString GetPreviewMeshPath(UObject* Asset) |
Empty when unset. |
| Set Preview Mesh | Callable | bool SetPreviewMesh(UObject* Asset, USkeletalMesh* Mesh) |
Sets (or, with Mesh = None, clears) the preview mesh on anything implementing IInterface_PreviewMeshProvider - anim assets and skeletons. |
| List Preview Attachments | Callable | TArray<FString> ListPreviewAttachments(USkeleton* Skeleton) |
Every preview attachment on a skeleton, as "<soft path>@<attach point>", without loading. |
| Remove Preview Attachments Under | Callable | int32 RemovePreviewAttachmentsUnder(USkeleton* Skeleton, const FString& PathPrefix) |
Removes every preview attachment whose soft path starts with PathPrefix (e.g. |
| Fixup Redirectors Under | Callable | int32 FixupRedirectorsUnder(const TArray<FString>& PackagePaths) |
Fix up every redirector under the given package paths: re-save their referencers onto the real asset, then delete the redirectors that nothing references any more. |
UXenoCoreSkyTools¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreEditor/Public/XenoCoreSkyTools.h
No description.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Build Star Material | Callable | UMaterial* BuildStarMaterial(const FString& AssetPath) |
Creates (or rebuilds in place) the star material at AssetPath. |
| Build Moon Material | Callable | UMaterial* BuildMoonMaterial(const FString& AssetPath) |
Creates (or rebuilds in place) the moon material at AssetPath. |
| Build Rain Streak Material | Callable | UMaterial* BuildRainStreakMaterial(const FString& AssetPath) |
Creates (or rebuilds in place) the rain streak material at AssetPath. |
UXenoCoreStateTreeTools¶
Class · derives from UBlueprintFunctionLibrary · header XenoCoreEditor/Public/XenoCoreStateTreeTools.h
Editor-only StateTree helpers: compile a StateTree from script.
Blueprint functions
| Node | Kind | Signature | Description |
|---|---|---|---|
| Compile State Tree | Callable | void CompileStateTree(UStateTree* StateTree, bool& bOutSuccess, TArray<FString>& OutLog) |
Recompile a StateTree's editor data into the runtime data the game actually executes. |