Is there a reason to NOT use UPROPERTY()?

I’m quite interested in understanding how to implement child components without using a UPROPERTY when possible because I like to take the “don’t pay for what you don’t use” approach as much as possible. I did a bit of research the past couple of days, and the part that I couldn’t find a solution for is how to make assets visible so that the project knows to package them. For example, I’m using a StaticMeshComponent, and I expect that the way the editor knows how to discover and package the mesh that it is using is by discovering it via the UPROPERTY referebce chains, but without using a UPROPERTY, I could not find a way to manually adjust what assets are packaged.

Anyone know the solution if there is one? Or know of an example in the source code I could reference?