Montenegrian is already proclaimed to be the official language of Montenegro. But let's leave politics and politicians aside. Official languages of ex-Yugoslavia were:
Serbo-Croat (or Croato-Serbian), which was spoken in Croatia, Bosnia&Hercegovina, Montenegro and Serbia, with small dialectal differences.
Southern Serbian Torlak dialects form a close continuum with Macedonian and Bulgarian, whose grammar is extremely different from the other South Slavic languages. Basically, the further southeast you go in Serbia, the fewer cases there are in the local dialect, until they all disappear and the definte article appears -- and then you suddenly realize that people are speaking Bulgarian or Macedonian. As for Northern Croatia and Northern Serbia, what you write holds only for the speakers of Shtokavian dialects. Kajkavian dialects from Northwestern Croatia, especially those from Medjimurje, are barely intelligible for any South Slavic speaker who hasn't been exposed to them.A small curiosity: People from northern Serbia often can't understand people from southern Serbia. People from northern Croatia often can't understand people from southern Croatia. But people from northern Serbia and northern Croatia understand each other without a problem.
Officially, Serbia and Montenegro still calls itself "Yugoslavia", doesn't it?
It was actually a bit more complicated than that.