[Answered] What's the purpose of building the engine from source code?

Hi, I’m an individual developer and I’m completely new to C++.
My question is:

Why would I want to build the engine from source code when I can just download and run it, aside from being able to modify the engine itself.

I mean I could just use the pre-built version and compile a C++ sample project and it runs fine. On the programming getting started page, I was told to build the engine from the source but I was never told why.
I do want to access the C++ part, but I do not intend to modify the engine for the time being.
More over, it takes an outrageous amount of time (over 10 minutes) to build the solution each time, even if I chose build only the game project. Can someone explain what I may be doing wrong?

So my main concerns are:

  1. For someone who only needs to access C++ programming but not to modify the engine, what exactly should he do?
  2. If I were to modify the engine in the future, can I do it after making a project in the regular editor?
  3. What settings should be made to compile the project correctly? (I am using VS2013 Express)

Thank you in advance!

1 Like

I see. Thanks for the response. I was still building in Development Editor mode.
I went back to the video and checked, he was using DebugEditor mode. So I guess if I want to use the editor I should use this mode.
By the way I was using the express version of VS2013, which couldn’t have the UnrealVS.vsix installed. Does this mess up my build or is it that as long as I choose the right project to build, I should be fine?

Thank you for your advice! I would do the same now.

Are you building in DebugGame mode? First time it will build the engine, which takes a while, but after that it only builds your project, which takes very little time.

Development means that the code is optimized - it’ll run faster, but you’ll have a hard time debugging.

DebugGame only optimizes the Engine code. Your game code can be debugged.

Debug means that nothing is optimized and you can debug the Engine code. This will run the slowest, but let you step into the Engine code.

I am still a newbie myself, so I’m afraid my ability to help you is very limited. Personally, I build in DebugGame Editor and it only builds my game project in a few seconds. Perhaps someone who knows what he’s doing can give you a better answer?

I would still like the answer to question 1 and 2.

  1. Why compile the engine if we only need to code the game?
  2. If, at some point, we were to modify the engine, is it easy to migrate a game project to the full source code?

Thanks.

  1. It’s your best in-depth documentation when working on a specific part of the engine. You extend a base class “APawn” and you want to do something similar that your base class already does than have a glance on the base class implementation and think about the adaptions you have to do. This will help you to remember all the methods of the API and in the long run you get yourself familiar with the inner engine workings. Another advantage is that you can step inside the engine methods if you need to debug. Unreal surely has good quality but realizing that you feed an engine-method with wrong input parameters is easier using the debugger (especially when you working on parts that are not so well documented yet)

  2. I switched from full-source code to precompiled and back again and had no problems. I think the migration on developer machines is easy. But you also have to distribute the adapted engine binaries to your Artist somehow. This may be more complicated but I’m no expert on this topic.

Thank you for the answer! I tried to run some marketplace projects on my custom-built version of engine, it says some things are not compiled. I guess I’ll use the precompiled version for these things.