Multi-team match

Suppose I want to make a multi-team match. Suppose there are 4 teams with 3 people in each team. The current method is to set a match with 12 people, and then judge whether it can be divided into 4 teams for filtering in the callback of RegisterMatchmakerOverride. Is there any other better way?

From top of my mind, you can go:
Groups way - like require 3 people in group first, and then make group leader queue for match and then filter or search criteria could be groups.
Custom like lobby room, where players would “join” first, setup team and then fight.
Maybe something like that.