And then i’m informing AnwserHub people what inside the engine since they kind of lost by ignoring In fact first versions of API Reference contained code snippits on virtual functions, so you know what do you exactly overriding. I don’t know why Epic removed that. Again read my last post in page 2, i explain why you extending engine not even knowing about it, i don’t want to double post.
I disagree to that, there game devlopers that don’t use engine at all and they not always call there fundamentals “engine”
Again engine is not just about graphics as it is current common misconception, engine is all about providing fundamental code for your gameplay and render it state on screen (it can even be text output on command console). Keep in mind this engine bears name of “Unreal” only because initially it was made for single game called “Unreal” and it was primarly made for that game, Epic at that point didn’t even knew (at least i assume) they gonna share it with others (they never shered Jazz Jackrabbit 2 engine, even thru it also had fancy editor but without any scripting). The if you use any external engine, “engine code” becomes part of you “game code”, and if you don’t understand “engine code”, atleast how it is structured and how it behaves you gonna be lost… in your own game. Not to mention from your “Game code” you can extend engine same as plugin does + extend editor, and it not engine feature that allows you to do that, it because in C++ you write your own engine module and you can do everything that any other engine module can do, engine don’t classify modules by game or engine… for it it’s just code module, so it’s not “completely separate things” and they both share common ground entirely as you module is eqile to any other engine module. I think thats fundamental thing to understand when you start developing in C++ on UE4. And even by blueprint and potentially C# you technicly extending engine (not to mention people talking like they want to extend engine with potential C# support), you adding classes to ready pile of classes that engine has and they technically no different (other then way they are coded)
Also i’m not saying you need to know everything about engine it’s too big to grasp it alone, but if you want change something, you study it and modify it or do that in less invasive way by overriding things if thats possible (thats only way you can extend engine from plugin). For example you need to know how what CalcCamera() does in order to properly override it.