That is functionality similar. You have just made it each feat at a given level must be equal. Which is more rigid IMO. What I would like to see is:
- Class features being roughly equal (probably with level restrictions/ prerequisite). Allows for swapping of class features.
- SubClass features being roughly equal (possibly with level restrictions/ prerequisite). Allows for swapping of subclass features.
- Feats being roughly equal with no prerequisites (just like 5e now)
This provides a lot more design variety and flexibility, but it is more difficult to pull off well.
This requires design to be very rigid.
Suppose you want to make sure that a level 7 character has a certain amount of stuff to do in combat, in social situations, and when exploring.
So at level 1 3 5 7 you gain a combat feature, at level 1 4 you gain an exploration feature, and at level 2 6 you gain a social feature.
Now we permit swapping. Someone goes and builds a character where all 8 features are combat features.
They are utterly incompetent at exploration and social situations, but dominate during combat.
The resulting gameplay experience
of everyone at that table suffers, because that one player has every reason to push everything towards combat, and has not much to do when it isn't combat. Meanwhile, everyone else's combat fun is drained, because that one PC dominates.
---
If you permitted level-by-level swapping of features, then suddenly you have to follow a rigid plan between classes, where everyone at level X gets a feature that impact gameplay to amount Y in sphere Z.
A class couldn't have a "charm" ability that was mainly useful out of combat, but also could do something in combat, because it wouldn't fit this rigid pattern. And if you broke the rigid pattern, the combat-optimized character would grab the social abilities with the maximum combat impact, going back to square 1.
---
When only a bounded part of your character's power budget is available for such swapping, or the swapping is controlled, you can mitigate this.
You aren't swapping "I can get an audience with the king" for "1/day fireball". You are swapping "I can get an audience with the king" for "Once per day when I fail a knowledge check, I know where I can find the answer".