Compatibility¶
Evaluator · reference · No code
What XenoCore runs on, what it depends on, and what it does not support.
Engine¶
| Unreal Engine | 5.8 (developed against the Epic Games Launcher build 5.8.1) |
| Plugin engine version | 5.8.0 in XenoCore.uplugin |
| Host project | Your own Lyra Starter Game project for 5.8 (free on Fab). XenoCore is a Lyra Game Feature plugin built against Lyra's C++ (LyraGame); it is tested against unmodified Lyra 5.8. See Install. |
| Binaries | None. XenoCore is delivered as C++ source and compiles inside your project the first time it opens, which needs Visual Studio 2022. Both modules are limited to Win64 (PlatformAllowList). |
| Earlier engines | Not supported. The content is saved with 5.8, and an older engine cannot load assets saved by a newer one. |
See Requirements for the toolchain and hardware.
Platforms¶
| Platform | Status |
|---|---|
| Windows 64-bit | Developed and tested here, editor and packaged game. The only platform XenoCore's modules are built for (PlatformAllowList: Win64). |
| macOS, Linux | Not supported. Both modules are Win64-only, and the VRoid sample characters rely on the VRM4U plugin, whose assimp library is provided for Windows x64 only. |
| Consoles, mobile | Not supported. |
Game type¶
| Players | Single-player only. Party members are AI-controlled characters on one machine. Nothing is replicated or predicted for multiplayer, and some systems depend on that (for example XenoCore sends its own inventory messages because Lyra's only fire through replication). |
| Input | Gamepad and keyboard with mouse. See Controls. |
| Saving | Local save slots through the engine's save-game system. See Save and front end. |
Multiplayer is not a setting you can turn on
Adding multiplayer would mean replicating the party, targeting, arts, inventory messages and save state. Treat it as a new project built on XenoCore's ideas, not an option.
Plugin dependencies¶
XenoCore.uplugin enables these engine and Lyra plugins. They must stay enabled.
| Plugin | Why XenoCore needs it |
|---|---|
GameplayAbilities |
Arts, auto-attack, reactions, statuses and stats |
DataValidation |
The save-time checks on XenoCore's data assets |
ModularGameplay, ModularGameplayActors |
Components added to Lyra's actors |
GameplayMessageRouter |
Gameplay messages |
AsyncMixin |
Lyra's asynchronous loading helpers |
CommonUI, CommonGame, CommonLoadingScreen, UIExtension |
Menus, HUD layers, loading screen |
EnhancedInput |
All input |
AnimationWarping |
Stride warping in the locomotion layers |
GameplayCameras |
The exploration and art cameras |
StateTree, GameplayStateTree |
Enemy and party AI |
PCG |
Procedural placement in the sample world |
Niagara |
Effects: hit sparks, damage numbers, chest beams, footsteps |
NiagaraUIRenderer |
Effects drawn in the UI: the Party Gauge burst, quest-complete, level-up and party-join bursts |
Water |
Water in the sample maps |
DataRegistry |
Not used directly. Every number a Gameplay Effect or art scales by (FScalableFloat) carries a Data Registry field, so XenoCore's effects and arts reference the plugin; GameplayAbilities depends on it too |
Metasound |
Sound assets |
VRM4U |
The VRoid sample party: import, toon materials, spring bones and facial expressions, at runtime as well as import. A free third-party plugin (MIT licence) you download and add to Plugins/VRM4U; see Install |
Your project's plugin list¶
You do not edit Lyra.uproject: XenoCore switches itself on (EnabledByDefault) and enables the
plugins above through its own XenoCore.uplugin. Lyra's own sample game features (ShooterCore and
the rest) can stay; nothing in XenoCore references them, and XenoCore's maps run their own
Experience.
VRM4U¶
XenoCore is tested with the public VRM4U_5_8_20260912 release. Use a release built for UE 5.8;
its assimp library is included, and a packaged game links it.
Versioning¶
| Current version | 1.1.0 (VersionName in XenoCore.uplugin, shown on the XenoCore entry in Edit › Plugins) |
| Scheme | Semantic Versioning: MAJOR.MINOR.PATCH. A major release may break your content, your saves or the C++ and Blueprint API, and its changelog says what to re-check. A minor release adds features without breaking them. A patch release only fixes bugs. |
| Changelog | Changelog lists every release. |
Upgrading¶
Your own content. Keep everything you make in your own folder (for example Content/MyGame/)
and your own C++ module, never inside Plugins/GameFeatures/XenoCore. An update replaces the
plugin folder as a whole, so anything you changed inside it is lost. To change a shipped asset,
duplicate it into your folder (or make a child of it) and point your content at the copy;
subclass XenoCore's C++ bases instead of editing them. Keep the project in source control, so an
update is a diff you can review.
Taking an update. Close the editor, replace the XenoCore folder with the new one, open the
project and let it compile, then run Tools › XenoCore › Apply XenoCore Project Settings again
(it adds any setting the new release needs and leaves yours alone). Read the changelog first.
Saves. Every save file records a save-data version. A save written by an older XenoCore loads in a newer one: each new version says how older files are brought forward, and so far every step has needed no conversion (the new fields simply start empty). A save written by a newer XenoCore cannot be loaded by an older one: on the Load screen that slot cannot be selected (it can still be deleted), rather than being read with fields the older code does not understand. Versions 1.0.0 and 1.1.0 write save-data version 5.
Engine versions. XenoCore 1.1.0 supports Unreal Engine 5.8 only. When a new engine version comes out, XenoCore is re-tested against it and a new upload is published for that version; until then, moving your project to the new engine is at your own risk, because Lyra itself changes between engine versions and XenoCore depends on Lyra's C++.