Whats better: one massive MonoBehaviour or many simple ones ?

Is it better to write one monobehaviour, like Hero, that will manage all mechanics related to hero, or create dozens of MBs for each functionality, like Health, Damage, Movement, Targeting, Level etc?

I think that second approach may be way more clear to work with, however I have feeling that this may cause performance drop which is important to avoid when making games for mobile devices.

In software development, there’s an old saying, that “premature optimization is the root of all evil”. A good explanation of what it means (from this stackexchange post) is that:

… in the absence of measured performance issues you shouldn’t optimize because you think you will get a performance gain. There are obvious optimizations (like not doing string concatenation inside a tight loop) but anything that isn’t a trivially clear optimization should be avoided until it can be measured.

If multiple classes managing different components of your Hero is a more maintainable and clear way to structure your game, do it! Once you have that setup, you may find yourself with a well-structured game and no performance issues at all.

But if you do find yourself with performance issues, measure what they are and why they’re occurring, and focus on optimizing just that part.