How to Compile the Shooter Game Sample Manually?

Try right clicking it, and from the context menu select generate Visual Studio Files.

And on OSX?

Hi Guys,

I have built my GitHub-cloned source in C:\UnrealEngine, editor runs fine, I can compile and work on new projects without any issues. I have installed the Content Examples from the market place (In the default dir: Documents/UnrealProjects) without installing the “official” UE4 build and it also runs fine. Now I would like to get my hands dirty with the FPS Shooter Sample game, so I have downloaded it in the same way. When I try to open the project with the editor, it says

“The game module ‘ShooterGameLoadingScreen’ could not be found. Please ensure that this module exists and that it is compiled.”

Unfortunately, I don’t know exactly how to generate the Visual Studio solution file from ShooterGame.uproject. Can somebody point me in the right direction?

I have tried this already. It starts the UE Launcher, then it crashes. I think that this is due to the fact that it tries to install the official build automatically, but it can not do so because I have run out of space on that partition. Still, this is not exactly “manual”, but maybe there is a way to remap the command to my custom build?

Sorry, I don’t know how it’s done for xcode.

That’s a bug then. On mine it does not generate the files either, but doesn’t crash. I know how it is supposed to work from Beta, but that didn’t have the Launcher which seems to cause some serious problems.

For Windows: The project must be built from source. Right clicking on the .uproject is only the first step in achieving a correct build.

The way the Launcher currently functions is that it always looks for where it installed the non source version of the engine. At this point in time I really do not see a point in fighting the Launcher even if you have already built UE4 from source.

Yes, it stinks for people with limited space, but until we can set hard paths to our own builds of the engine in the Launcher it’s not worth the hassle of trying to stop it from installing a second non source copy of the engine.

Here is how to get the Shooter project to run in your own compiled version of the engine:

  1. Right Click on the .uproject file and select, “Generate Visual Studio Files.”
  2. Open the Visual Studio Solution
  3. Make sure your project is set to build for, “Development Editor” in the Solution Configurations drop-down.
  4. Select the project container (Not the Solution Container) in the Solution Explorer, right click on it and select, “Properties.”
  5. Under Configuration Properties select, “NMake.”
  6. Find and replace everywhere that the project is looking for the Launcher installed version of the engine and replace those path with the correct paths to your source built version of UE4.
  7. Clean the Solution.
  8. Build the Solution.

The project should now open without errors in your source built version of the Editor.


Just wanted to update this as Adric from Epic has posted in a similar thread how to fix the paths problem in a much simpler way than point 6 above:

"If you run the RegisterShellCommands.bat from the GitHub source version before generating the project files, you should be able to skip the manual build path fixups entirely. "

That bat file is located in Engine\Build\BatchFiles\

For me, I am stuck at step 1. Generating the source files doesn’t work.

Make sure you are attempting to do this from Explorer and not within the Editor itself.

When you installed the Launcher a context menu option should have been added to the registry.

If it is not present I would try reinstalling the Launcher.

If all else fails this is the command line version and arguments issued when you invoke “Generate Visual Studio Files”:

UnrealEngineLauncher.exe -LaunchProject -GameProj=“%1” -generateprojects

I would assume you should be able to substitute your own project (in this case the Shooter) manually - just make sure your paths are correct.

Thanks for your answer, it was helpful to know what is possible at the moment. I guess I will use the official build until I get to know the engine source and build system better.

I was having similar issues not being able to generate the project files. I looked at the registry entry for the context menu and saw it was relying on an Environment variable UE_ROOT_DIR which as I had built from source and not installed didn’t exist for me. Maybe check if this exists and if not set it to C:\UnrealEngine for your installation and try again. Once I set this variable it worked. Hope this helps.

Creating the registry entries with RegisterShellCommands.bat is exactly what I was orignally looking for, since it also adds source generation option in the context menu.

Greetings everyone and thank you for this awesome Engine. My friend got UE4 and we are both discovering it. His english is not good enough, that is why I am speaking of his behalf. Well, it seems we are encountering the same problem as here: ShooterGame / StrategyGame won't open in an editor built from source - Community & Industry Discussion - Epic Developer Community Forums we can not open ShooterGame and StrategyGame and we got the same message: ‘ShooterGameLoadingScreen’ could not be found. Please ensure that this module exists and that it is compiled." After running the RegisterShellCommands.bat as an admin, we got the “Generate Visual Studio Files.” by right clicking on ShooterGame.uproject and StrategyGame.uproject and according to this: A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums , we should get the sln file of the game and then start the steps that you mentionned. Unfortunately, the VS project wasn’t created "Just above your Strategy Game project, you should see a new file for Visual Studio. Open it up to take a peek at all of the C++ code behind your game! " like how the tutorial indicates. So If we didn’t get the sln file, then we can not continue the following steps to make the project run. Can you please help us? Thanks.

You have to make sure that you have compiled the engine correctly for everything else to work. The process of doing this is fairly well documented and there is also a video tutorial about it. Also, this might be of interest to you. I don’t know what you have done so far, but here are my suggestions:

  1. Clone from github (I keep mine in C:\UnrealEngine). Unpack the 2 zip requirements to the correct locations (they are 3 in the video).
  2. Run the GenerateProjectFiles.bat to create the solution.
  3. Build with the Development Editor configuration (shouldn’t matter).
  4. Start a cmd shell as an admin, go to /Engine/Build/BatchFiles and run RegisterShellCommands.bat. There are about 7-8 commands that say it went successfully.

Troubleshooting:

1-3. This should work fairly well, I had a strange compilation problem when my root dir was not C:\UnrealEngine, but it was probably something else.

Before I noticed his remark about register shell commands, I did install the Launcher manually (just click on Market in the editor). However, I do not think that it interferes with the other commands. When I uninstalled it, it removed its registry entries too, so the process I have outlined above should work. BTW I am on Windows 7 SP1 x64. If you are on some other architecture, all bets are off. Unfortunately, I am a Linux guy with little VS experience (waiting for the Linux port actually), so if you are stuck, better ask badsensation or somebody else from Epic for help. Hope this works for you.

One more thing: Make sure that the shooter sample is in Documents\UnrealProjects (the editor creates new projects there by default). I have built mine in a non-standard location and the build configurations are missing, only the Development Editor was available by default.

DarkInfiktrator:
I was having a similar problem, after I had built my own version of the editor I wanted to try working with ShooterGame and StrategyGame. Using ‘Generate Solution’ worked once, but it generated paths to the installed version, and subsequent uses weren’t working.

The solution: Call the GenerateProjectFiles.bat manually. You could also try the method listed by badsensation, however this is what I used (call from cmd):

"*build location*\UnrealEngine\Engine\Build\BatchFiles\GenerateProjectFiles.bat" -project="%UserProfile%\Documents\Unreal Projects\ShooterGame\ShooterGame" -game -engine

You will need to change build location to the location where your source built engine is. Also, this is assuming the location for your ShooterGame project is in the documents folder as listed. If not, change the project variable so that the format is:
-project=“path_to_project\ProjectName”
If you do it right, there won’t be an error. If you do it wrong, you might get an exception complaining about no source directory found.

Once you have your solution, you will need to change the build to “Development Editor”, as the advice above suggests. This will allow you to build the appropriate missing files, which will appear in ShooterGame/Binaries/Win64 (if you are working with a Win64 build) as several UE4Editor-* files.

Hi hd_, we tried your command method, we got in the prompt command:
Setting up Unreal Engine 4 project files…
Discovering modules, targets and source code for game…
UnrealBuildTool Exception: ERROR: Directory ‘nameofthepc\Documents\Unreal Projects\ShooterGame’ is missing ‘Source’ folder.

GenerateProjectFiles ERROR: UnrealBuildTool was unable to generate project files

That doesnt seem to work:
GenerateGlobalizationFiles.bat -project="%UserProfile%\Documents\Unreal Projects\ShooterGame\ShooterGame" -game -engine
Generating globalization files…
The system cannot find the path specified.
GenerateGlobalizationFiles ERROR: Failed to find config file in the following location: “-project”

GenerateGlobalizationFiles.bat? What is that? It should be using GenerateProjectFiles.bat . Also, the command is for Windows, you will probably have to make a tweak on another OS.