Lyra Sample Game

Explore how to develop projects in UE5 using techniques from the Lyra Sample Game.

Choose your operating system:

Windows

macOS

Linux

Lyra is a learning resource designed as a sample game project to help you understand the frameworks of Unreal Engine 5(UE5). Its architecture is designed to be modular, including a core system and plugins that are updated regularly along with the development of UE5.

  • Cross-Platform compatibility and scalability.

  • Online Multiplayer and cross-play support for Epic Online Services and Console Online Subsystems.

  • Features a choice between three different Game modes: Elimination(Team Deathmatch), Control(Capture the Control point) and Exploder(a top down party game).

  • A customized Gameplay Ability System.

  • Niagara FX.

  • Unreal Motion Graphics(UMG) widget classes and UI Icons for the project's gameplay concepts including menu settings, controller key sticks, and displays for health, mana, and ammo. These UI features are designed with modularity so you could use their systems in your own game independent of Lyra.

  • Optimized, hand-crafted content including locomotion animation assets, sounds, and a weapon system that is compatible with any Pawn.

  • New UE5 Mannequins, Manny, and Quinn. These Mannequins are playable characters that share the same core skeleton hierarchy as MetaHumans, with a compatible animation system.

Downloading the Lyra Starter Game

You can download the Lyra Game Sample from the Epic Games Launcher, by clicking on the Samples tab and navigating to Lyra Game Sample, or by clicking on the Marketplace tab and typing "Lyra" into the Search field.

From the Lyra sample page, You can select Create Project to make a new copy of the sample on your hard drive. If you are using a launcher version of Unreal Engine then you can place it anywhere on your hard drive.

choosing-a-directory

Downloading Lyra for Engine Source Builds

You can download your own source build of Unreal Engine, refer to Downloading Unreal Engine SourceCode.

When you have finished downloading Unreal Engine source, you will want to download and install Lyra inside the top level directory of your custom-built engine. After selecting a top level directory, it will create a LyraStarterGame subdirectory, then create a LyraStarterGame.uproject file including the source code and content.

lyra-uproject-directory

To launch your installed copy of the sample, you can either double click the .uproject file or launch the sample directly from the Library tab of the launcher. If you are using a custom-built version of the engine, you can recreate project files and launch Lyra as a project from inside your source code editor such as Visual Studio. If you right click the LyraStarterGame.uproject file you can associate it with a different installed version of the engine if you have multiple copies installed, or generate project files for compiling with a source code editor.

If you are using a custom-built version of the engine, you can recreate project files and launch Lyra as a project from inside your source code editor such as Visual Studio.

If you right click the LyraStarterGame.uproject file you can associate it with a different installed version of the engine if you have multiple copies installed, or generate project files for compiling with a source code editor.

uproject-options-list

Playing the Game Sample

When you launch Lyra, the DefaultEditorOverview level will be loaded as the Default Map. From the Editor, you can click on Play In Editor(PIE) to launch the default level.

When in PIE, Your Player Controller will take possession of the Lyra Pawn. In the level there are several portals that load into an Experienece.

main-game-select

The table below provides a brief description into each map:

Game Mode Map

Description

Content File Path

Control

Secure the control points along with your teammates to increase your score and win.

/ShooterMaps/Maps/L_Convolution_Blockout

Elimination

Find and eliminate enough enemies to win in this classic head-to-head team match.

/ShooterMaps/Maps/L_Expanse

Front End

Contains the Main Menu of the Lyra sample game.

/Game/System/FrontEnd/Maps/L_LyraFrontEnd

Default Map

The base example of the user facing map.

/Game/System/DefaultEditorMap/L_DefaultEditorOverview

Shooter Gym

A small test level to test the ShooterCore plugin functionality.

/ShooterCore/Maps/L_ShooterGym

Exploder

Destroy blocks, collect power-ups, and avoid getting exploded in this top-down party game.

/TopDownArena/Maps/L_TopDownArenaGym

The maps for each game mode can be loaded directly in the editor by using File > Open Level and navigating to the content file paths listed above.

Most of the maps are located inside game feature plugins. After loading a map like Expanse for the first time, the editor viewport will be empty because it is a World Partition map.

To see the level Actors, select the world partition grid cells by clicking and dragging in the bottom right World Partion details panel, then right click and select Load Selected Cells to load that part of the map.

WorldPartition.GIF

Using PIE while one of the Game Mode levels is open will load the appropriate game mode as if you had walked into the appropriate portal on the default map.

For more information on Lyra's Game maps and menus, refer to the A Tour of Lyra reference page.

Lyra Framework Systems

Lyra makes use of the Gameplay Feature Plugins, this means that the Content folder only contains generic assets and the main lobby, however, the plugins folder contains the different core elements that create the Lyra Starter Game.

When a game experience is chosen inside the lobby, the game will load the plugins that are required. For example, choosing the Expanse Team Deathmatch_ map will load **ShooterCore** for the pawn and mechanics, and **ShooterMaps** for the level.

Plugin Folder Name

Description

Lyra Example Content

Contains shared materials, such as grids.

Shooter Core Content

The core elements of the LyraShooterGame experience. This includes gameplay logic for game modes, specific Gameplay Abilities like Dash, and Blueprints for Actors such as teleporters and grenades, Bots, Weapons and User Interface elements.

ShooterMaps Content

The maps used by the LyraShooterGame (Expanse and Convolution), with associated materials and content.

TopDownArena Content

The content for the TopDownArena experience, from the map generator to power ups.

Experiences are defined using a LyraExperienceDefinition class. You can access the Default Gameplay Experience from the World Settings by navigating to the Toolbar > Window > World Settings > Game Mode.

You can think of experiences as a much more advanced version of a GameMode. Multiple Experiences can exist inside a plugin, for example the experiences Team Death Match and Control Points both use the ShooterCore plugins and are derived from the same parent class(B_LyraShooterGameVase, a child class of the LyraExperienceDefinition.)

These classes contain the information that are used in Lyra's input and gameplay mechanics. While other options contain information like the scoring system (based on Elimination for Team Deathmatch and Capture for Control Points)

Lyra Game Settings

Lyra features a GameSettings plugin that is used to simplify the process of creating a User Interface (UI) and its underlying data. The plugin is responsible for managing the data that you may want to store in a configuration file or server.

See the Lyra Game Settings for more information.

Lyra Input Settings

Lyra's Input Settings System was designed to resolve many common issues with input configuration setups experienced in games. It is based on the Enhanced Input system.

See the Lyra Input Settings for more information.

Lyra Devices and Scalability

Unreal Engine provides a wide variety of Scalability Settings that can affect your project's performance and visual quality. Usually, the engine default settings will accommodate most of your needs, however, you may want to change these settings for better performance or higher quality.

Lyra includes a custom configuration option that can be used to create distribution-specific variants of a game. The game sample serves as an example of how to combine these different features for your specific project

See Lyra Devices and Scalability for more information.

Lyra Common User Plugin

The Lyra Starter Game is designed to be a working example of the Epic Online Services (EOS) subsystem. The Common User plugin provides a common interface between C++, Blueprint Scripting, and the Online Subsystem(OSS) or other online backends. It is distributed as part of the Lyra Starter Game and as a standalone plugin that can be used in any project.

See the Lyra Common User Plugin for more information.

Lyra Interaction System

Lyra uses its own interaction Interface by its own Gameplay Ability which establishes a cause and effect relationship between how the player Interacts with objects in Lyra, and how those objects interact with the player.

See the Lyra Interaction System for more information.

Lyra Animation System

Lyra's character animations were created almost entirely in Blueprints using Unreal Engine 5's improvements to the Animation Blueprint system. The system setup is inspired by both Paragon and Fortnite, which achieve similar results through the use of custom C++ functionality.

See the Lyra Animation System for more Information

Lyra Ability System

Lyra uses the Ability System to orchestrate most of its gameplay. Abilities can be innate to hero data like jump, granted from an action such as in a Game feature, Experience, or granted from Equipment.

See the Lyra Ability System for more information.

Geometry Tools in Lyra

Lyra Tech Artists used procedural mesh generation in Blueprint Actors to build a library of parametric level design elements as Blueprint Actors.

See the Geometry Tools In Lyra for more information.