Have you seen Olympic gymnasts? Of course you can build muscle with bodyweight training.
Resistance is resistance. Whether it comes in the form of weights, bands or bodyweight your muscles can’t tell the difference. What matters is the amount of mechanical tension (load) and metabolic stress (time-under-load) an exercise generates.
For building muscle you want an optimal blend of the two. Too heavy and it’s hard to generate enough metabolic stress. Too light and it’s hard to generate enough mechanical tension.
Bodyweight training is great for generating metabolic stress. Perform push ups, pull ups and squats slowly, minimise rest-points and you will know about it. Where bodyweight training becomes trickier for building muscle is generating sufficient mechanical tension.
If you are a beginner or carrying lots of extra weight this won’t be a problem. A basic diet of bodyweight exercises such as push ups, squats, lunges, rows and pull ups will absolutely help you build muscle and improve your body composition.
As you get stronger and fitter it becomes more of a challenge. With traditional weight training you simply add weight to the bar, dumbbell or machine. Easy.
With bodyweight training progressing the levels of mechanical tension requires altering the movement to reduce biomechanical leverage and/or overload a single limb.
Push Up ---> Decline Push Up ---> Archer Push Up ---> One Arm Push Up
Each progression places more mechanical tension on the working muscles. However, each progression also requires learning a new and progressively harder skill. By the time you reach one arm push ups you are expending a lot of effort just performing the exercise correctly. This detracts from the basic muscle building task of creating mechanical tension and generating metabolic stress. Depending on the progression you are also forced to start placing your joints in more and more compromised positions which opens the door to injury.
If your goal is to master the challenging bodyweight skills and exercises then great. However, if your goal is simply to build muscle, get fit and stay healthy I think you are better off adding resistance to the basic bodyweight moves. Weighted vests and resistance bands for push ups. Weighted vests and belts for pull ups. Dumbbells, vests and belts for lower body exercises.
Does this still count as bodyweight training? I'm not sure.