Skip to content

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.

  1. Open the Blueprint and click Compile.
  2. 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.
  3. 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