Skip to content

Install and first launch

All · 20 min · No code · Last tested: 2026-10-10 (stock Lyra 5.8, UE 5.8.1, VRM4U_5_8_20260912)

XenoCore is a Game Feature plugin for Lyra, delivered as C++ source plus content. You add it and the free VRM4U plugin to a Lyra project, open the project (Unreal compiles XenoCore the first time), and click Apply once. Nothing in Lyra is edited by hand.

Before you start, install Visual Studio 2022 with the Game development with C++ workload; see Requirements. The first open cannot finish without it.

1. Create a Lyra project

  1. In the Epic Games Launcher, open Fab Library, find Lyra Starter Game (free), and create a project from it for Unreal Engine 5.8.
  2. Put it on a short path, such as C:\Projects\MyRPG. Long paths can break the C++ build on Windows.

You can also use a Lyra project you already have. XenoCore only adds settings; see What Apply changes for the list.

2. Add the plugin

From Fab: in the Epic Games Launcher's Fab Library, click Install to Engine on XenoCore and choose 5.8. The launcher puts it in the engine's plugin folder, C:\Program Files\Epic Games\UE_5.8\Engine\Plugins\Marketplace\XenoCore. XenoCore cannot run from there, because it is built on Lyra's own game code, so move (cut, not copy) that XenoCore folder into your project as below. Leaving a second copy in the engine folder makes Unreal find the plugin twice.

From a zip download: unzip it and copy its XenoCore folder into the project.

Either way, it goes in the project's Plugins/GameFeatures folder, so you have:

MyRPG/
  Lyra.uproject
  Plugins/
    GameFeatures/
      ShooterCore/
      XenoCore/          <- here
        XenoCore.uplugin

It must be in Plugins/GameFeatures of the project, not in the engine's plugin folder: XenoCore is C++ built on Lyra's own game module, so it compiles with the project.

You do not need to edit Lyra.uproject; the plugin switches itself on.

Add VRM4U (the VRoid party needs it)

The sample party is seven VRoid characters, and their skeletons, faces, toon materials and hair physics run on VRM4U, a free plugin by ruyo (MIT licence). XenoCore lists it as a dependency, so the project will not open without it.

  1. Download the VRM4U release for Unreal Engine 5.8 from its GitHub releases page (github.com/ruyo/VRM4U): the file named VRM4U_5_8_<date>.zip. XenoCore is tested with VRM4U_5_8_20260912.zip (last full install test: 2026-10-14, stock Lyra 5.8, UE 5.8.1).
  2. Unzip it into the project folder (where Lyra.uproject is). The zip already contains a Plugins/VRM4U folder, so it lands in the right place:
MyRPG/
  Plugins/
    VRM4U/             <- here
    GameFeatures/
      XenoCore/

Let Lyra's editor build compile VRM4U

VRM4U is compiled from source with your project, and stock Lyra's editor target refuses the raw object pointers VRM4U's headers use, so the first build fails with dozens of "Native pointer usage in member declaration" errors unless you change one line first. Open Source/LyraEditor.Target.cs in your project folder (any text editor) and change

NativePointerMemberBehaviorOverride = PointerMemberBehavior.Disallow;

to

NativePointerMemberBehaviorOverride = PointerMemberBehavior.AllowAndLog;

This relaxes a code-style check for the editor build only; it changes no behaviour and no data, and packaged games are not affected. XenoCore's own C++ passes the strict setting.

3. Open the project

Double-click Lyra.uproject. If Windows asks which engine to use, pick 5.8.

Unreal then says that modules are missing or built with a different engine version (it names XenoCoreRuntime, XenoCoreEditor, and possibly VRM4U's modules) and asks whether to rebuild them. Click Yes. This compiles XenoCore's C++ inside your project and takes several minutes the first time; it is expected, because the plugin is delivered as source. If the build fails, Unreal offers to open the log; see Troubleshooting > Build and editor. If you would rather watch the build, right-click Lyra.uproject, choose Generate Visual Studio project files, open the solution and build the LyraEditor target in Development Editor.

After the build, the first open compiles shaders and builds cached data, and can take a long time once (10 minutes or more); later opens take under a minute. Several things you may see on the way are Unreal's, Lyra's or Windows', not XenoCore's, and are harmless:

  • "Wait for ZenServer?": Unreal's shared cache is doing maintenance. Click Yes.
  • "New plugins are available": Unreal noticing VRM4U and XenoCore. Click Dismiss; both are already enabled.
  • A Windows Firewall prompt for "Lyra": Windows asking about a program it has not seen before. XenoCore is single-player and needs no network; either answer is fine. While it is open, the editor behind it does not respond to clicks.
  • Red and yellow AutomationTool text over the viewport ending in Build FAILED and error CS0579: Duplicate 'System.Reflection...': Lyra's own build scripts failing a platform-SDK check. It does not affect the editor or play.
  • "Project file is out of date. Would you like to update it?": stock Lyra's Lyra.uproject lists three platform plugins (PlayFabParty, XInputDevice, GameInputWindows) slightly differently from the engine. Update or Not Now are both fine.

4. Apply the project settings

A few seconds after the editor opens, a notification appears in the bottom-right:

XenoCore needs N project setting(s) to run in this project. [Apply] [Not now]

  1. Click Apply.
  2. Click Restart Now on the notification that follows. If anything is unsaved, Unreal offers to save it first.

After the restart the editor opens on XenoCore's title screen map, L_XenoCore_FrontEnd.

If you clicked Not now, or the notification has gone, use Tools > XenoCore > Apply XenoCore Project Settings. It is safe to run any number of times.

5. Press Play

Press Play. The boot screens run, then the title screen. Choose New Game: you start on Gaur Plain with Kael and Mira. See Play the sample.

What Apply changes

Apply writes to the project's own Config/Default*.ini files, so every change is visible and yours to edit. A setting you have already changed yourself is left alone and listed in the Output Log under LogXenoSetup, with the value XenoCore expected.

File Setting Why
DefaultEngine.ini Game default map and editor startup map: L_XenoCore_FrontEnd Boot into XenoCore's title screen, not Lyra's. Changed only while they still name Lyra's maps
DefaultEngine.ini Physical surface SurfaceType4 = Grass Grass footstep sounds and effects
DefaultEngine.ini r.TSR.16BitVALU*=0 Avoids an engine warning when the editor opens
DefaultEngine.ini CommonUI.SyncCursorToFocusedWidgetOnInputMethodChange=0 Gamepad focus in menus does not jump back and forth
DefaultGame.ini Loading screen widget: W_XenoCore_LoadingScreen XenoCore's loading screen
DefaultGame.ini CommonButtonAcceptKeyHandling=TriggerClick Enter and Space press the focused menu button
DefaultGame.ini Footstep context map: SurfaceType4 -> SurfaceType.Grass Grass footsteps
DefaultGame.ini Maps and folders to cook (title screen, Gym, Gaur Plain), boot movies to stage A packaged game includes XenoCore's maps, UI and movies
DefaultGame.ini Save-screen location names and story line Save files name the place they were made
DefaultInput.ini Input mode query and default input mode (InputMode.Game) Gameplay input stops while a menu is open
DefaultInput.ini Gamepad View button removed from Back View opens the quest tracker
DefaultGameplayTags.ini Tag SurfaceType.Grass Grass footsteps

To see what is still pending without changing anything, type XenoCore.ProjectSetup in the editor's console (the Output Log's Cmd box); XenoCore.ProjectSetup apply writes the steps, the same as the menu entry.

You now have

The plugin installed, the project set up, and the sample running.

Next: Play the sample