Ways to improve build times?

Hello there. I just recently got into Lumberyard, and it seems pretty neat. I like the engine, I like the license, and I like the overall idea. I can look past the necessity to use command line tools and the bugs, Lumberyard is in beta, after all (and honestly I like command line)

What I really don’t understand is why it is necessary to completely rebuild an entire project every time I want to add a Gem, or why it takes about 2 hours for me to just build a new project.

I understand that Gems are meant to make the engine modular, and I really like the idea behind them. However, it currently feels very counter-intuitive to me to use them. I feel like I could save more time by just enabling all the Gems and building the project once, then when I approach release just remove any Gems I never used and rebuild.

I really want to know why it takes so long to even just start a new project. It took me more than an hour to build a new “Default” template project.

Besides those two issues, I really like the way this engine is going, and I think in a few years it could be the next big thing, and really pay off with its integrated cloud services. I just think that an engine that seems to be heavily marketed towards indie devs should be a bit more friendly to people who don’t have things like IncrediBuild to accelerate their build-times.

Hi,

If you are using version 1.22 you may experience the same problem than others (see Compiling time tests on code tiny changes : Ly 1.20 vs 1.22).
However, long initial compilation times are frequent for big engines: Unreal Engine also has hours-long builds when you have to rebuild the whole engine on a single machine.
I can suggest you 4 things:

  • downgrade to 1.21 if you’re using 1.22, and test if that makes your compilation times shorter. When LY’s team has a fix they’ll tell us and we’ll be able to upgrade to 1.22.
  • get Incredibuild or any other distributed task program (even if lumberyard’ build system doesn’t support it; it’s not really hard to make it work, I’ve done it for Sony’s tool so I can give a hand).
  • put your project on an SSD. Really. Linkage times are really a thing with lumberyard (esp. release builds) so a good disk bandwidth is a must.
  • never clean your BinTemp/ folder if you can’t afford a full rebuild.
1 Like

Thank you for your response. I’m glad a patch is being worked on for this. I understand that rebuilding an entire game engine will take some time on a single machine, but I am wondering why a rebuild of the entire engine is necessary in the first place when simply adding a Gem or making a new project.

Is it just that I am misunderstanding what exactly Gems do within Lumberyard?

Other engines, such as Unreal Engine, can make new projects within seconds and have support for plugins and code assets which don’t require complete rebuilds and can be quickly installed within just a few minutes with just a couple of clicks. As far as I can tell, Gems do the same thing except they take much longer due to the requirement to rebuild.

Just to be clear, I still like this engine, I’m just curious about these aspects of it. Also, I will certainly try out an older version to test my build speeds on it. I’m looking forward to exploring more about this engine.

I am wondering why a rebuild of the entire engine is necessary in the first place when simply adding a Gem or making a new project.

In theory this shouldn’t be the case, only the gem should be building. However, I can’t guarantee that on a vanilla 1.22 as I work with modified build tools, but I didn’t see odd full-engine rebuildings since we upgraded from 1.18.
Could you attach a build log so we can see what happens ?

Same goes for new projects, as a project is basically just a specific gem.

Is it just that I am misunderstanding what exactly Gems do within Lumberyard?

Gem is just a fancy name for “plug-in” as far as I understand the concept.

It seems I was speaking a bit too soon on those build times. It does seem after making a new project the build time for the second new project was much shorter. And I will assume that the same is true for Gems.

Looks like I was over-reacting and it really isn’t as bad as I initially thought.

yeah, first build it’s very long(~8-12min) for default project template (around ~2800 files for compiller’s job translation), all next iterations are very short in compare with first build.
all engine rebuild, take around 40-50 min (on my PC: 8700k + 512 SSD)

Ha, for me it took about 4-5 hours for a complete rebuild of everything (~8000 files). I have an i7 3770 and a hard drive (I really need to get a SSD).