Trying to unlock the secrets of the runtime in Lumberyard...


I started using Lumberyard a month ago and have been using other engines for years. All of what I have used were open source, they used C# or Java, and they were easily customizable and controllable i.e. they have a good editor but on the other side everything you can do using the editor can be done using programming, too. Lumberyard is much better than all of them and I really loved it. The great add-ons (Gems), the very powerful Component Entity System, the editor, the unbeatable rendering, the animation system, the particle editor… etc… All of these features are great. Only one thing that still problematic for me is me not being able to understand, how Lumberyard is organized, in other words, what are the building blocks of the engine. It is pretty clear that the three blocks i.e. Components, EBuses, and Gems are the main. But what is, what is not one of the three? For example, what is a level (a component?)? What is a terrain? How can I control them from code?

Just created my first project and wanted to try to write some C++ code. But how should I start if I want to load or unload a mesh? Change a material or some properties of it at runtime? Or load or unload a level? I searched the docs for that but there was nothing related. Why are all of those very common tasks in game development not even made already scriptable from Lua?

Hey @ipsc,

Welcome to the Lumberyard Community!

These are excellent questions and I’m poking the team for some answers on these topics. Will update this thread as soon as I can.

Also, your questions provide great feedback about documentation and how it’s presented. I’ll let the teams know on your behalf :slight_smile:

Thanks for the perspectives!

Hello @Amonster_LMBR,

Got some answers?

Hey @ipsc, much apologies for the delays – I’ve pinged some people to get answers faster. Will keep you posted on what we get back ASAP! :slight_smile: