Ok so during my practice with lumberyard I made a pipeline to code game objects during test time.
1-Prototype behavior in script canvas or
2-Prototype behavior in Lua
3-Translate Lua or SC code into C++ for Max performance.
But I got a question I never used this pipeline yet. I am prototyping now using script canvas and Lua I just want to understand.
How to program game entities using C++ instead of Lua or SC? I have read through documents and found that I should build gems so should I build a gem for each entity or one gem that contains all behavior and link them according to the entity frankly I need help in this subject.
actually you do not needed gems at all for your custom code
all your code can exist in project of solution
you need your own gems only if you wants share your custom components between few pet projects.
Every time when you create your own new project in ProjectConfigurator it’s generates for you - solution (engine + gems + your_project)
so just open dev\Solutions- and find your project
there only can be few situations when you may do not see your project in this folder.
fail to generate project for some reason
you doing project migration from old ver of engine to newer
in this case you can generate solution for already existed project like so:
lmbr projects create_vs_solution TypeYourGameProjectNameHere 1
if occurs errors see logs : dev\BinTemp\lmbr_create.log
open your solution
the first of all you should select profile (build) it mostly like releace but with some debug info.
each component it’s pair of cpp+h files, so then you wrote some basic code and want to test it, you should add this two new files names into “projectname.waf_files” it’s just list of files what need to compile
sometime to using additional gems or 3rd-party libs you need configure wscript file.
so mainly all project work it’s just adding new sources(componenents), adding theys into compilation list (projectname.waf_files), and if needed tweak wscript file, that’s mostly all that you need then you working with code in Ly.
oh I forgot to mention one onother major thing
before doing all this manitulation what I’m discribeted in upper post
you should to sure that you enable all this options in SetupAssistant.exe (dev\Tools\LmbrSetup\Win\SetupAssistant.exe)