De-Occluding Camera In Unreal
Cameras and how they function are a frequently under-examined aspect of many video games, as the rules and behaviors they operate with will literally determine how anyone sees the game and its contents.
One big decision is how to handle any objects that obstruct or occlude the camera viewing the player, typically resolved with either:
1 - Zooming the camera towards the player to the point that the object is now behind the camera. This is the approach that is used in the default Unreal 3rd person camera.
2 - Making the player visible through the object somehow, by making the object transparent in some way.
As I'd already made my own custom implementation of 1 in other projects, I decided that a good method of coming to terms with Unreal would be to implement the 2nd type of camera.
A Github link for the project is available here.
Macros, General Code Cleanliness and Other reflections on Blueprints
While I can definitely understand the appeal and benefits of using EventGraph for programming, I used to be slightly biased against it for how unwieldy even medium-sized blueprints became whenever I saw work done in it. I quickly saw the same happening to my code and realized that it wasn't a matter of not understanding Unreal but rather a case of recognizing the importance of clean code and design even in graphs.
This really hit home the message to me of how important it is to maintain code cleanliness and readability even if (or maybe especially in) graphing based environments, as they are best suited for simple tasks and care should be put into maintaining that simplicity.