Game Development Patterns with Unreal Engine 5 : Build maintainable and scalable systems with C++ and Blueprint