Diagnostics¶
All · 15 min · No code
Tools for finding out what is actually happening: where the logs are, which log categories XenoCore writes, the console commands it adds, and the engine commands worth knowing. Most of the problems in this section log nothing, so the first question is often which log line is missing.
Where the logs are¶
| Where you run | Log file |
|---|---|
| Editor and Play-in-Editor | Saved/Logs/<project name>.log in the project folder, beside the .uproject (Lyra.log for a project named Lyra) |
| A second editor open on the same project | Saved/Logs/<project name>_2.log (the newest file is the live one) |
| Packaged build | <project name>/Saved/Logs/<project name>.log inside the packaged folder (Windows/Lyra/Saved/Logs/Lyra.log for a project named Lyra) |
In the editor, Window › Output Log shows the same lines live. Type a category name, such as
LogXenoParty, into its search box to filter.
Read the newest log
Unreal renames old logs with a timestamp when it starts. If two editors are open on one
project, each saves over the other's changes, and the second writes <project name>_2.log
while the first log keeps its old contents. Close every editor but one.
XenoCore log categories¶
Every category logs at Log level by default. To see a category's verbose lines, run
Log <Category> Verbose in the console, for example Log LogXenoEnemy Verbose.
| Category | What writes to it |
|---|---|
LogXenoCore |
General: saving and loading, title screen, reaction test commands, boot screens, collectable orbs |
LogXenoParty |
The party: roster, fielding, leader swaps, recruitment, party wipe and respawn |
LogXenoCombatant |
Party character setup: missing pawn data or stats effect, revive, camera |
LogXenoHero |
Player possession: ability grants, input rebinding after a leader swap |
LogXenoProgression |
Experience, levels, Arts learned |
LogXenoLevelUp |
The level-up banner |
LogXenoDamage |
Every damage calculation: stat, weapon, defence, level multiplier, hit roll |
LogXenoAttack |
Auto-attack |
LogXenoEnemy |
Enemy setup, death and chest drops |
LogXenoCoreEquipment |
Equip refusals (with the blocker number), starting gear, inventory dumps |
LogXenoDrop, LogXenoLoot, LogXenoLootFind, LogXenoLootPopup, LogXenoLootUI |
Drop tables, chests, finding the nearest chest, the loot panel |
LogXenoInteract |
The interaction prompt and presses, including out-of-range verbs |
LogXenoPrompt |
The interact prompt widget |
LogXenoNpc |
NPCs |
LogXenoDialogue, LogXenoDialogueNode, LogXenoDialogueAnchor |
Conversations, the dialogue nodes, the speech box anchor |
LogXenoQuest, LogXenoQuestNode, LogXenoQuestUI, LogXenoQuestLog, LogXenoQuestTracker, LogXenoQuestReward, LogXenoQuestStatics |
Quest state, quest nodes, and each quest screen |
LogXenoShop, LogXenoShopNode, LogXenoShopScreen |
Shops |
LogXenoTrade, LogXenoTradeNode, LogXenoMerchant |
Trading and the shared merchant screen |
LogXenoCoreSavePoint |
Save points placed in maps |
LogXenoDamageNumbers |
Damage-taken and heal numbers |
LogXenoCoreBuildStamp |
The build stamp shown on screen |
LogXenoSkills |
Skill trees: skills learnt, branch selection, missing SP bands, stat skills with no channel, a wrong or missing table or stats effect. See Skills |
Editor-only tools also write LogXenoCoreAnimLayers and LogXenoCoreMapTools. Some older setup errors are written to LogTemp with a [XenoCore]
prefix, for example an enemy with no pawn data. Search for [XenoCore] as well as the categories.
Lyra's own categories matter too. LogLyraExperience names the experience each map loaded and
where the choice came from: Identified experience <name> (Source: <source>).
XenoCore console commands¶
Open the console with the backquote key (`, above Tab) in Play-in-Editor.
Testing combat¶
| Command | What it does |
|---|---|
XenoCore.Reaction 1 |
Applies one reaction to the player, on its own: 1 Break, 2 Topple, 3 Daze, 0 clears. Useful for testing hit reactions without an enemy. |
XenoCore.Reaction 2 enemy |
The same, on your locked-on target, or the nearest living enemy if nothing is locked. Use it to check an enemy's knock-down and that it stops acting. |
XenoCore.Art.MaxStage 1 |
Caps enemy Art escalation: 1 Break only, 2 up to Topple, 3 or 0 the full chain. The earlier stages still run, so the chain builds normally and stops where you set it. |
XenoCore.Arts.DrawArea 1 |
Draws every area Art's shape, and who it hit, at impact. Development builds only |
XenoCore.Anim.Describe, XenoCore.Anim.Play Topple front |
Lists every reaction clip a character plays and where it comes from; previews one clip |
XenoCore.Aggro.Describe |
Logs every enemy's aggro ring: whether it shows, on whom, and the threat and engage state behind it |
XenoCore.Battle.Victory |
Runs the battle-won sequence (fanfare, disarm, emotes) without a fight |
XenoCore.Enemies.Defeat <name>, XenoCore.Enemies.RespawnAll |
Defeats a named enemy; refills every enemy spawner |
XenoCore.Loot.Simulate <table> [level] [chests] |
Opens many chests from a drop table at a level and prints what came out |
XenoCore.Weapon.Describe [name] |
Prints a character's weapon type and what it can wield |
Progression cheats¶
| Command | What it does |
|---|---|
XenoAwardExp 5000 |
Gives experience to the party, as if from a fight |
XenoAwardGold 500 |
Gives gold |
XenoArts |
Prints the leader's learned Arts and palette |
XenoSetArt 2 AirSlash |
Puts a learned Art in a palette slot |
XenoGiveAP 1000 |
Gives the leader Art Points |
XenoCastArt AirSlash |
Casts an equipped Art the same way the palette does |
XenoGiveSP 500, XenoSkills |
Pours Skill Points into the leader's selected branch; prints the leader's branches and progress |
XenoLevelUpLeader, XenoLevelUpParty |
Exactly enough EXP for the leader's next level; enough for every active member to level once |
These are cheat-manager commands, so they work wherever cheats are allowed (Play-in-Editor and Development packaged builds, not Shipping).
Party, inventory, quest and save commands¶
| Command | What it does |
|---|---|
XenoSetLeader 1 |
Makes an active slot the leader |
XenoDownMember 1 |
Downs an active member through the real damage path: it kneels and can be revived |
XenoWipeParty |
Downs every active member, which runs the party wipe |
XenoReviveMember 1 |
Brings that member back at full health |
XenoHurtParty 0.3 |
Sets every standing member to that fraction of max HP, to watch out-of-battle recovery |
XenoGaugeAdd 100, XenoGaugeSpend 1 |
Adds Party Gauge points (negative removes); spends whole bars |
XenoCoreDumpInventory |
Prints the bag, the leader's loadout and the totals. Changes nothing |
XenoCoreTestInventoryEvents |
Changes the bag: adds and removes one item and reports both change messages |
XenoQuestStatus |
Prints every quest the party has touched |
XenoSave 1, XenoLoad 1 |
Saves to or loads a slot (default 1) |
XenoSaveDump |
Prints every slot without loading it |
These are cheat commands too, so they run wherever the progression cheats do.
Other console variables¶
| Command | What it does |
|---|---|
XenoCore.Boot.ForceShaderScreen 1 |
Shows the shader-compile boot card with a simulated 4-second compile, for previewing it in the editor |
XenoCore.Tutorial.Reset, XenoCore.Tutorial.Show <Row>, XenoCore.Tutorial.Trigger <Tag>, XenoCore.Tutorial.Tips 0/1 |
Forget seen tutorial cards; show one; fire a trigger; switch tips |
XenoCore.Time.Set <hour> [fade], XenoCore.Time.Scale, XenoCore.Weather.Set <Weather>, XenoCore.Environment.Freeze |
Time of day and weather. See Time of day and weather |
XenoCore.Minimap.Rotate, XenoCore.Minimap.Hide |
Minimap rotation and visibility. See Minimap |
XenoCore.ProjectSetup [apply] |
Lists (or applies) the project settings XenoCore still needs. Editor only |
Engine and Lyra commands worth knowing¶
| Command | Use it to see |
|---|---|
showdebug abilitysystem |
The viewed character's attributes, owned tags and active effects. Answers "is the cooldown tag on?", "is Gameplay.MovementStopped stuck?", "did the stats effect apply?" Press Page Up / Page Down to change the character viewed. |
stat fps, stat unit |
Frame rate, and game / render / GPU time |
a.AnimNode.StrideWarping.Enable 0 |
Turns all stride warping off, to compare foot sliding with and without it |
LyraPC.ShouldAlwaysPlayForceFeedback 1 |
Plays controller rumble whatever the input type and setting |
Log <Category> Verbose |
Turns on a log category's detailed lines |
For the AI, open the enemy's StateTree asset and use its Debugger tab, or Tools › Debug › Rewind Debugger, while playing to watch which state each enemy is in. In 5.8 the StateTree's recordings are shown in the Rewind Debugger.
Checking a Blueprint really compiled¶
An anim Blueprint can fail to compile with nothing in the Output Log or Message Log, and no node marked red. Play then refuses to start with "Blueprint failed to compile" and no more detail. See Animation.
- Open the Blueprint and click Compile.
- Look at the icon on the Compile button itself: a green tick means it compiled, a red icon means it failed, whatever the logs say.
- If it failed with nothing logged, undo your last graph change and see Animation.
Asset validation¶
Several XenoCore data assets check themselves. Right-click the asset and choose Asset Actions › Validate Assets (or right-click a folder and choose Validate Assets in Folder) and read the Message Log.
| Asset | What validation catches |
|---|---|
| Party member definition | Missing member class, controller class, display name or portrait; a pawn with no pawn data |
| Art definition | No palette glyph; a heal Art aimed at enemies |
| Quest definition | No objectives; an objective with no item or enemy target, a bad required count, no counter label, or a kind not implemented yet; no title or summary |
| Shop and trade tables | No offers; a row with no item; duplicate rows; a price of zero; an item that cannot be bought |
| Art definition (cooldowns) | Two Arts sharing a Cooldown Tag; a cooldown with no tag. See Combat and Arts |
| Drop table | An item in a lower pool than its rarity's lowest chest tier (a warning) |
| Skill tree, cost curve, trait ladder tables | A branch without five skills, a missing cost curve or ladder, a skill that does nothing (warning). See Skills |
DT_XenoCore_ExperienceCurves |
An empty row or a 0 entry; a row shorter than the level cap (warning) |
| Placed XenoCore Map Area (Map Check) | No area, no image, or backwards bounds |