Skip to content

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

  1. The project opens L_XenoCore_FrontEnd, which runs the front-end Experience: boot screens, then the title screen.
  2. New Game loads the sample map. Continue loads your newest save.
  3. 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