You can also use the built-in source dependencies functionality.
But it is experimental and not actively worked on.
You can also use any other means to check out the projects together.
No matter which of the three approaches you use, the combination of the projects is always done using composite build, either explicitly or implicitly underneath.