Good and best practices in UE... [Architecture]

Is it still the same 4 months later?

Of course. The code is for life. “Do it once.”

What does hexagonal architecture allow you?

1 - Decoupling: Allows you to separate the core of the business logic from the infrastructure and presentation layers. This is especially useful in video games where you can have multiple systems interacting (physics, rendering, AI, Multiplayer and others), facilitating the independent management and evolution of each one. Especially on large projects.

2 - Flexibility: By defining clear interfaces between the core and adapters, you can easily change infrastructure technologies without affecting the core logic of the game. Facilitating individually specialized work

3 - Testability: Improves the ability to test business logic in isolation, without depending on external elements such as databases or APIs. This can be crucial to ensure the quality and stability of the game.

4 - Scalability: The hexagonal architecture allows specific parts of the system to be scaled independently, which can be beneficial for games that may require performance improvements in specific areas.

To do this you need OOP knowledge, to be clear about interfaces, structures, polymorphism, generics, type conversion… the basics. Then understand the pattern of the acronym SOLID and others, finally Hexagonal.

When all the possible ways to learn Hexagonal are met, you will see that the project is structured in a business way. That is, prepared correctly for a team of 10 or more people.

In short, have a modular project lifecycle, where each module can be removed without affecting other parts of the code and each developer only works on the relevant module.

This also makes it easier when the engine is updated since the interfaces will never change only the implementation. I know, amazing.

I always say the same thing. If there are only a few of you doing something Indie you may not need it.

If you are a large team where the most important thing is to have the game updated to the latest version, I highly recommend it.
Is it more work? of course. If it were easy everyone would have the game updated to the latest version of the engine. 90% of companies take too long to update a simple version. Why? Too much non-modular code. For example, the lyra project is a clear example of what not to do. But everyone says it’s good to learn… anyway.

Is Lyra project setup WRONG? - Development / Programming & Scripting - Epic Developer Community Forums (unrealengine.com)