Converting a Blueprint project to a C++ project is very easy to do. A lot of people don’t realise how simple it is. However, this should be treated as a one-way thing due to dependencies and stuff. So make sure this is what you want to do before going ahead.
This is the most simple step.
Go to File -> New C++ Class.
This will open a window where you can select the parent C++ class for your new class. Select what you want or just go with None. None will give you an empty class.
After choosing the parent class, continue through the menus until Unreal asks if you want to recompile now. You can select either yes or no. Don’t be worried if it fails to compile for the first time though, it’s a common thing that even I encounter nearly all the time. Just restart the editor and you’ll be all good.
You may get an error when opening a freshly converted project, this error will tell you it couldn’t be compiled. This isn’t too much of a problem, just open the .sln file in either Visual Studio or Rider and compile from within there. This shouldn’t happen on relatively empty projects but may happen if you already rely on some external plugins.
So what can you now do with your C++ project? A lot of things, If you’ve built Unreal from source, you can create dedicated servers, modify how Actors work, and much, much more.
If you want somewhere to get started with modifying Actors, why not have a look at one of my other tutorials: Controlling what happens on Fell Out Of World in UE4.
If you want to read more on building UE from source, go here: Compiling Unreal Engine 4 from source on Windows and Linux.
I do heavily suggest against it but you can go back to a Blueprint only project if you want. I have a short guide on doing that here: Convert a C++ Unreal Engine Project to Blueprint