Tour of the project¶
All · 15 min · No code
The project is Epic's Lyra sample with XenoCore added as a Game Feature plugin. Lyra is the host: it provides the game framework, the menu toolkit and the ability-system plumbing. XenoCore is everything RPG, and it all lives in one plugin.
The one rule: change XenoCore and your own content, never Lyra
Everything XenoCore does is added to Lyra, not edited into it. Keep it that way. Your changes then stay separate from both Lyra and XenoCore, and you can take template updates.
Where things are¶
In the Content Browser, click Settings (top right of the Content Browser) and tick Plugin Content (Show Plugin Content in the older Content Browser layout). XenoCore then appears in the folder tree under Plugins. With 5.8's default settings the folder reads XenoCore; this manual calls it XenoCore Content, which is what it reads if you turn on Display Content Folder Suffix in Editor Preferences › Content Editors › Content Browser.
How to read paths in this manual
A path such as Characters/Party/BP_XenoCore_Party is inside XenoCore Content: open
XenoCore Content › Characters › Party and the asset is there. A path that starts with
/Game/ is Lyra's own content, under Content. To find any asset by name, type the name into
the Content Browser's search box with XenoCore Content selected.
| Location | What it is | Yours to change? |
|---|---|---|
Content/ (Lyra) |
Lyra's own content: characters, UI toolkit, sample weapons | No: reference only |
Plugins/GameFeatures/XenoCore/ |
The XenoCore plugin: source, config, content | Through duplicates and subclasses |
Content/MyGame/ (you create it) |
Your own content | Yes |
Inside XenoCore Content¶
| Folder | What's inside |
|---|---|
Audio |
Battle voices for the seven party members, the victory fanfare, rain and thunder. No music ships: see below |
Battle |
Arts and their data, attributes and stat curve tables, reactions, statuses, targeting abilities, cooldown and damage effects |
Cameras |
The exploration camera and the Art close-up camera |
Characters |
Party members (the seven VRoid characters in Characters/VRoid, one folder each), the player pawn, enemies, NPCs, animation Blueprints and clips, portraits |
ContextEffects |
Footstep sounds and effects by surface |
Effects |
Niagara effects: loot orbs, footsteps |
Environment |
Gaur Plain's terrain materials, grass and procedural placement, and the grass physical material |
Experiences |
The gameplay and front-end Experiences, and the HUD layout |
Game |
Game mode, the player pawn, ability sets, save point, progression, tag relationships |
GameplayCues |
Hit, swing and heal-number cues |
Input |
Input actions, the mapping context, and the input abilities they trigger |
Inventory |
Item definitions, equipment definitions, loot and drop tables |
Maps |
The front end (title screen), the sample map (Gaur Plain), the test gym, and Maps/Areas: each area's minimap image and weather table |
Movies |
The boot movie |
Quests |
Quest definitions |
Shop, Trade |
Shop stock and trade offers |
System |
Playlists |
ThirdParty |
Content from other packs that the sample maps use, cut down to what is placed: Electric Dreams cliffs and rocks, StyleHex grass, effect samples |
UserInterface |
Every menu screen, HUD element, popup, style and font |
Weapons |
Sword bases, weapon types, and sample weapons, each with its item, equipment and material assets |
World |
Time of day and weather: sky profile, weather table, icons, sky and moon materials |
If you see a Dev folder, it holds development-only test content: it is never cooked into a
packaged build, nothing outside it depends on it, and you can ignore it. XenoCore ships no music: the title screen, Gaur Plain's field and
battle slots and the fallback tracks in Project Settings › XenoCore Content are empty, so the
game is silent until you add your own. See Area music.
The maps¶
| Map | What it's for |
|---|---|
L_XenoCore_FrontEnd |
Boot screens and the title screen. The project opens here. |
L_XenoCore_GaurPlain |
The sample world. New Game starts here. |
L_XenoCore_Gym |
A small test arena with enemies placed. Best for trying changes quickly. |
How it starts¶
- The project opens
L_XenoCore_FrontEnd, which runs the front-end Experience: boot screens, then the title screen. - New Game loads the sample map. Continue loads your newest save.
- The sample map and the gym run
B_XenoCore_Experience. It sets the player pawn data, the HUD, the interaction abilities and the teams, and it switches the XenoCore plugin's features on.
An Experience is Lyra's way of saying "in this map, the game is this". XenoCore ships its own, which is why none of Lyra's shooter rules apply in XenoCore's maps.
Source code¶
XenoCore's C++ is in Plugins/GameFeatures/XenoCore/Source: XenoCoreRuntime for the game and
XenoCoreEditor for editor-only tools. You don't need to open it to use the template: every
setting this manual names is in the editor's Details panel, a Data Table or Project Settings.
When a programmer wants to extend a system, the Concepts page for that
system says which class to subclass.
You now have¶
A map of the project, and the one rule that keeps your work safe through updates.
Next: Your first change