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