X157 Dev Notes

One simulant attempts to share insight with others.

Build your Game on Lyra

Don’t start from scratch! Start from Lyra.

Epic suggests that you start your new game based on Lyra. They say the intent is for us to think of Lyra like engine code. That is, use it as a base and build our new games on top of it.

The cost to us is simply to learn how they configured the game and how to extend the framework they have built.

Pros and Cons discusses why you may or may not want to use Lyra yourself. There are legitimate reasons both to use and to not use Lyra depending on your circumstances.

If you already have an existing game, Lyra offers some plugins and game systems that you can copy into your game to save yourself a lot of work.

If you are starting a new game, it’s probably easier to start with Lyra and delete the stuff you don’t want, rather than to copy the (likely significant) stuff you do want from Lyra into a blank game. There are multiple viable ways to base your new game on Lyra. Some options are discussed here:

Extending Lyra: Development Considerations

Unofficial Lyra Dev Network Community Discord

We have a community Discord for discussing Lyra game development.

Open to C++ devs, BP devs and enthusiasts.

Please be respectful of others.

Dev talk only. No politics, religion or hate.

Getting Started

Ready to create your own LyraStarterGame project?

I made this How-To before an official one was available, I leave it here for posterity: Set Up a New LyraStarterGame Project

Lyra Concepts

Project Organization

IMO you should try to not modify the base Lyra game unless you really must. The entire namespace of the base game should be considered to be reserved by Lyra.

At the very least you need to create one GFP for your Content.

Upgrading Lyra Core

Epic will sometimes upgrade the Engine and/or Lyra Core.

Upgrading Lyra Core discusses how I try to make this process as easy on myself as possible.

Re-save Assets on Engine Update discusses the need to explicitly re-save many binary project assets any time you update the Engine version. This is a UE requirement that significantly affects Editor startup time.

Player Input

Common UI “owns” player input

Lyra Game Mode

Lyra Gameplay Systems

Other Lyra Systems

Lyra Character

Gameplay Ability System (GAS)

Lyra-Specific GAS Resources

General GAS Resources

Misc Lyra Stuff

In an effort to understand the material Epic has provided us to start with, I am dissecting the GameFeature plugins they shipped to understand what they do, how they’re similar and how they differ from one another.

Module Description
ShooterCore Base framework for a shooter game
ShooterMaps Implementation of ShooterCore
TopDownArena (will probably skip this)

Bug fixes:

Works in progress:

References

As I learn more about LyraStarterGame I’m keeping a list of references.