There are a variety of things to try ...
... including voting with your feet.
System76' Pop!_OS is an Ubuntu Variant that I recommend you use instead of Ubuntu. I installed it on my Acer nitro AN515-15 two weeks ago; it installed on that laptop with less problems than any Linux distro I have ever installed on any machine, including a desktop purpose-built for Linux. The gpu switcher, which they - tellingly - wrote themselves, - works. Pop_OS is the only Linux distro I'm aware of that has two variants where one is built assuming that you run a modern and supported NVidia card, and one that does not. Ubuntu has made it increasingly difficult to use NVidia deb installers over the past 18-24 months, to where it's currently impossible to do so successfully in 18.04 in a plug-and-play manner.
You should carefully research the terms nvidia-prime, optimus, and bumblebee. The first two of those items are nvidia software / driver technologies for dealing with switching between GPU and low-power / on-chip graphics, the last one is the open source version for same. None of them have a stellar history. Be sure to check the release date on bumblebee.
If you want to use ubuntu for anything having to do with graphics, then familiarize yourself with the ppa system on launchpad.com. Many of them are very good, but they are volunteers and overtaxed as it is. If you came here to learn something and make it so your laptop plays games better, you should consider contacting the "proprietary GPU drivers" ppa team and find out how the sausage is made by grinding some yourself at [https://launchpad.net].
An important thing to try is asking your question at the nvidia.com forums in parallel with asking it here. And if you get a good answer, report it back here to the community. For sure, the NVidia driver packages are better at detecting and installing appropriate open-source drivers (libGLU, mesa, etc) than are open-source packages at detecting and installing the more exotic NVidia software (e.g. Cuda).
To make the best choice you must determine your primary use case. Is it graphics (and if so, paint-y stuff or hardcore rendering?), scientific computing, ML and AI or their frameworks, developing indie games, mainly playing games, want to contribute in the meritocracy / do-ocracy of free-and-open software, or are you just "Linux Curious"?
If you are new to Linux and eager to use your NVidia GPU for cool stuff (especially CUDA, Deep Learning, and the like), don't change your config based on advice unless you are sure it's been tested on a platform like yours by someone who is doing the things you want to do the way you want to do them, and getting the results you want to get.
Full disclosure: I am a former Ubuntu user, and the only reason I'm on this board is because I'm trying Pop!OS. Being a heavy CUDA user, on the advice of colleagues I switched from Ubuntu to RHEL, the latter of which accommodates NVidia's driver packages. My experience was that starting out in 16.04 (Xenial) I had the choice to use NVidia's packaging of their own drivers, but with various kernel updates that became increasingly difficult. This trend has continued through 18.04 Ubuntu, where it's virtually impossible to install Nvidia-supplied deb files. The ubuntu debs are OK for graphics but a total non-starter for CUDA.