With Unreal going free, I decided to move a Cryengine project over. I did everything in that project through cpp and had a good understanding of the code’s flow. With Unreal, I wanted to use blueprints to get things pieced together as quickly as possible and then worry about an optimized cpp implementation later. Unreal is pretty game-agnostic, which is great compared to Cryengine, but the portal documentation isn’t. Templates and the associated tutorials are great at telling you how to go about doing something, but there’s not much there in terms of explaining why things are done in a certain and specific way. This has lead to a frustrating couple of days as I try and implement similar, but different enough, mechanics using templates as learning resources.
If I could summarize my experience through examples I would probably have to point towards the EditorTutorial classes used with template projects. The first/third person and twin stick editor tutorials pretty much overview the same thing in regards to how the player controls movement in the game, but the implementations end up using different types of nodes. I suggest that in future “getting started” types of updates to the documentation and tutorials, an effort is made to address game-specific decisions in a game-agnostic manner.
For example, explain why “Add controller ___ Input” nodes are used in the Third Person character template as apposed to flat out adjusting the world translation/rotation as seen in the Twin Stick pawn template. If people new to the engine understand the reasoning and know-how behind those decisions/requirements they are more able to continue to create or learn new things. I feel that the Gameplay Guide covers the higher level concepts used in these templates but when it comes down to it that bit of documentation doesn’t help you decide which nodes to create and connect.