https://github.com/neoclide/coc.nvim
Or
https://github.com/neovim/nvim-lspconfig
https://github.com/hrsh7th/nvim-cmp
No different than installing plugins in VSCode for completions, they all work via calling out to a LSP server using https://microsoft.github.io/language-server-protocol/
When you don't understand something it's only natural to be unaware of its capabilities, yes.
I am using stock Neovim on the console. For completion I switched to nvim-cmp https://github.com/hrsh7th/nvim-cmp. Onivim also provides (based on the screencasts) completion. Do they leverage their own coded completion engine or are they using nvim-plugins and only render the UI over this completion?
My point is there will always be an impedance mismatch between functionality provided by plugins compared to what a UI provider thinks has to be coded in their respective implementation.