First Person Shooter C++ tutorial: https://wiki.unrealengine.com/First_Person_Shooter_C%2B%2B_Tutorial Updates needed for engine version 4.6.1. STARTING A NEW PROJECT 3. "New Project" tab somewhat different + Screen different (still a "Blank" option, however) 4. "With Starter Content" now a drop down + Change to "No Starter Content" 8. "Content" folder is now "Game" folder. 9. "Project Settings" tab somewhat different. + "Maps & Modes" now under "Project" heading. CREATING A GAME MODE 2. "Choose Parent Class" screen a bit different. 3. The "Create" button is now labeled "Create Class". Add log message: 5. Adding the constructor line produces an error message: error C2653: 'AFPSGameMode' : is not a class or namespace name 7. Adding this code is not needed. Doing so produces an error/warning. Compile: Unreal Editor does not need to be closed to compile. Instead, compiling will do a "hot load" of the new code. 3. Link is broken. Use "Build" -> "Build Solution" (F7). MAKING A CHARACTER Compile: Again, Unreal Editor does not need to be closed to compile. Instead, compiling will do a "hot load" of the new code. WASD MOVEMENT Note: Before compiling and running here, you DO have to close UE Editor. JUMPING Note: Before compiling and running here, you do NOT have to close UE Editor. ADDING A MESH TO YOUR CHARACTER 5. This step is not needed (there is no "Advanced" dropdown). Just click on "Import All". 6. "Save" should be "Save All". Blueprints: 3. There is no "New" dropdown. Instead, right click in Content Browser to get option. CHANGING THE CAMERA VIEW 2. The line: FirstPersonCameraComponent->AttachParent = CapsuleComponent; should be: FirstPersonCameraComponent->AttachParent = GetCapsuleComponent(); to avoid a warning. ADDING A FIRST PERSON MESH 3. The line: Mesh->SetOwnerNoSee(true); should be GetMesh()->SetOwnerNoSee(true); to avoid a warning. 8. This step is not needed (there is no "Advanced" dropdown). Just click on "Import All". ADDING CROSSHAIRS When adding code, 1. Need to add signature to FPSHUD.h: private: AFPSHUD(const FObjectInitializer& ObjectInitializer); and then to FPSHUD.cpp, constructor is: AFPSHUD::AFPSHUD(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) { // Set the crosshair texture static ConstructorHelpers::FObjectFinder CrosshairTexObj(TEXT("Texture2D'/Game/crosshair.crosshair'")); CrosshairTex = CrosshairTexObj.Object; } 1. Adding DrawHUD(), the keyword "OVERRIDE" is deprecated. Replace with "override".