You can, but you’l likely want different HUD, UMG, and input configurations for PC/Console. Also performance on mobile devices is absolutely terrible, so you’ll likely not have a game that is for both mobile and another platform.
In Practice though this actually does not work as you have to setup the project for almost each platform differently. To pull all under one roof requires a stable engine and consistent configuration, but we do not have that in Unreal Engine unfortunately. Example: You can package for Android and specify in Package Settings all the needs, and then you want to package for Windows and realize you have to change the Package settings (not just the platform). The only crossplatform compability I see are the blueprint nodes being translated for each platforms correctly, but thats about it. I recommend to not mix mobile with console and desktop projects!
Just asking myself the exact same question and found this old thread. I have a project on Desktop and want to run on Mobile. Running into severe performance issues, caused by Occlusion. Playing with software occlusion and preccomputed visibility - helps a lot, now getting same bad performance, now being limited by GPU somehow.
The point is, that there are many changes in a level, and I do not see how to handle quite some stuff within a single project, as you say @Playasene94. On the other hand, there are scalability settings and device profiles to handle for example max texture sizes, there are material quality switches - all things, which seem to be exactly designed to handle multiple platforms in a single project.
The main question now coming into my mind: How do you handle the blueprint/C++ code, if projects are completely separated?
Doesn’t this end up in a whole mess doing all work at least twice? Or endlessly migrating changes from one project to the other, which is error prone?