To Lyra or not to Lyra

Background
I’ve been experimenting with UE5 for a few weeks, I came from Unity and have a broad, but not particularly deep, programming and physics background. I’m a hobbyist who wants to write a multiplayer game, there is no particular time scale to this and no commercial constraints, it’s just for fun.

Question
The Lyra framework appears to offer the perfect modular system for what I want to do, but I have several reservations about using it:

  1. I see it was released about 6 months ago, but I don’t see much updated documentation, roadmap or evidence it will be long term supported. In Unity it was common for very cool tech demo projects to be released and then rapidly die with no support for newer versions, after a couple of these I avoided them at all costs. I am now very wary of investing a lot of time in learning a framework that is forgotten in the next 12 months. What can I expect from Epic?

  2. What is the update strategy? I see I should be writing my game in a plugin that can use Lyra functionality, but how does that work in practice?
    Examples:
    a) Say I want to extend the animation system, do I duplicate all of the Lyra base animations into my game plugin and modify them there or do I somehow keep my changes separate, but build on the base Lyra animations?
    b) If significant changes are made to Lyra, will I be able to selectively incorporate them? Will changes remain predominantly backward compatible and add functionality or should I expect significant rework?

  3. I don’t see any version controlled release mechanism or a system to allow for community content (e.g. forks)

So the real question is, for a newbie like me, arriving at a time of some flux for Lyra, should I invest the time in understanding Lyra (and it seems like that is quite a time commitment for me) or should I go for a more conventional approach of solving problems and plugging them together myself? I appreciate that the biggest concerns could only really be addressed by someone within Epic and this is unlikely to happen, but I would be interested in the opinions of the more experienced UE users.

2 Likes

There is an unofficial Lyra dev discord here: UE/Lyra Dev Network

First, your questions and considerations are well founded. Rather than address them all, I’ll give you my perspective of Lyra, its past 6 month history and the limited amount I know about its future.

Docs are very light. I’ve been working on my own set of docs for the past 6 months. I outlined most of the things that seemed confusing to me coming from a background of C++ dev without knowing anything about games or UE:

There has been 1 released update (5.0.0 → 5.0.2) so far, and there is a 5.1 version that will be released (in December?). The upgrade from 5.0.0->5.0.2 was very easy if you follow my philosophy (outlined in the docs). The upgrade from 5.0.2->5.1 was also quite easy, there was only 1 real merge challenge, which I thoroughly documented so I bet you can
do it in an hour if it ends up affecting you.

In all honesty the upgrade to Lyra 5.1 wasn’t anything particularly spectacular. There hasn’t been a huge amount of effort put into it since it released. They fixed some bugs and they flushed out a prototype system into an actual functional system.

In order to make it easy for me to incorporate Epic’s future Lyra updates, I have put together some considerations for building on Lyra:

I do not believe that Epic is going to put any value into backwards compatibility when it comes to Lyra updates. Quite to the contrary, this seems to be a “let’s give Fortnite tech to the community” project.

Michael Noland presented Lyra as a “treat it like the engine” concept. That is really what I’ve been trying to do. I make AS FEW CHANGES AS POSSIBLE to Lyra. I maintain an official Epic branch, my modified branch and my game project branch as 3 separate but related Git branches in my repo.

Some parts of Lyra are really well done and very easy to extend via C++. Some parts of it are prototype ideas intended to set an example but clearly not expected to be built upon (Inventory/Equipment/Weapons, being one).

There is no way for community developers to get access to Lyra code except via the launcher. If you are a custom UE licensee with access to UDN, then you do get access to the official Epic P4 repository, which contains Lyra 5.1 which is currently under development. This is how I access it – I pull down updates periodically and merge them into my code. As a community member without UDN you’d pull updates far less frequently – only when there is a release – and you’d get that update from the Launcher.

Epic supposedly wants to make Lyra a public repository, either on Github or on some other tool where they can share with the community. There are both technical and legal issues they need to clear, and there is no definitive answer on whether that will happen or when. It is something they want to do though, FWIW.

My personal opinion is if you don’t have any existing UE4 project that you’re trying to migrate to UE5, then you should just start with Lyra. It’s not perfect. There are things you will dislike about it. There are things you will like about it.

Long story short Lyra uses lots of UE 5.1 techs that are not clearly documented and/or for which there are not many official examples. You can either choose to spend your time trying to figure out how to make it all work yourself, or you can choose to spend your time learning how Epic actually DID make it all work together.

If you decide to go the hacky route and just modify Lyra outright, then obviously you won’t be able to get any updates from them, but you will also have absolute and total control over any change to the Lyra foundation that you want.

So going the Lyra route doesn’t mean you’re locked in. It just means you have a really good starting point, as opposed to a zero starting point. My $0.02.

10 Likes

Thanks very much for taking the time to both post that and to publicly document all of your findings (faith in humanity temporarily restored!). I watched some of your YT channel on Lyra - great work.

I have to agree with you because without a modular strategy maintenance becomes a mess and figuring out Lyra will inevitably (for me anyway) be more efficient than trying to write my own. I think I was just looking for an additional perspective on it. I hope Epic continue to develop it, but I am less confident there.

3 Likes

Following up on this, there were several questions on various discords asking essentially the same thing.

I put together a Pros & Cons doc to help people decide if using Lyra might be a good or bad decision:

6 Likes

I am a few days late, but this is a pro move by xi57, official documentation and community resources will be Lyra’s strenght. UE team would also be doing us a huge favor if they expand docs for 5.1 since as the time of this post it is the most packed project for this version.

Maybe the Lyra discord server mentioned above could be pinned at some point in UE Slackers and similar communities?

1 Like

Could I get a new invite? Love your content btw.

1 Like

I updated the Discord link with one that hopefully won’t ever expire. Sorry about that! See this message:

1 Like

Thanks!

1 Like