I am not sure about the terminology here. Also, this whole USD things is rather new to someone who has been working the “old” way, importing stuff into one single .MAX file or .MB file and so on.
Often, things come in as one package. I have seen that in the sample projects. For example the marbles project. There is one USD file in the root, MarblesAssets.usd, and then there are subfolders.
How can I “merge” stuff into my project, instead of just “linking” (or so it appears)?
USD files often reference one another in a hierarchical file structure. You can see that something is a reference by this icon in Create:
Here I am viewing a USD file at the top of this file hierarchy - it contains nothing but a light and two references to other USD files - one is a screw and the other is a bunch of cubes with different test materials on them.
Your top level file, though, will have a very small file size. Though it is dependent on relative or absolute reference paths that you can see when you select a reference in the model hierarchy. My top level file here only contains a light source, two links to other USD files, and the parent transform of them all. There is no vertex/index/uv information actually included in this USD file, all of that information about the mesh is inside the files I’m referencing.
If you want to change this so that all of the references get included in the top level USD file, you can select File<Save flattened as…
Then navigate to and open that new file you created.
The hierarchy/model tree on the right of your UI should be different in this new file, and the file size will be larger. Notice in the picture below there are no more orange arrows
If you’re working with USDs throughout your pipeline I would recommend leaving things un-flattened where possible, but I’ve also used this for some deliverables to clean up and reorganize my sloppy asset structure.
Have a good day!