UWP most certainly did not exist when WinRT came into existence. WinRT, itself, is also more or less the third version of this attempt: Managed C++ came first, then C++/CLI, then the WinRT era and C++/CX.

C++/CLI and C++/CX are semi-managed, you only need to use the extensions when interacting with WinRT, although you're free to write your entire app in that dialect.