Announcing Section #2 for Survival Game - Weapons & Interaction

We’re announcing the second section of the survival sample game today! The documentation will be up by the end of next week, in the meanwhile you can grab the latest source at GitHub ( Which will continuously be worked on for the 12 week period! Use the tagged release for stable builds each section, once available.

UPDATE: Get started with this project RIGHT HERE or get right into SECTION 2

To give you an idea of what’s coming I have setup a short premise for the game:

(Please note that features are subject to change, and feedback from you is taken into account when moving forward with the game’s direction)

As mentioned in the original announcement thread of this project, there will be 6 sections total, each focusing on different gameplay concepts to help you understand how C++ works with Unreal Engine 4!

Features that are planned for this section:

  • Weapons support, featuring an automatic rifle
  • Flashlight (as “weapon”)
  • UT Style Inventory
  • Damage Handling, Death and respawn
  • Extended AnimBlueprint
  • On-player visual inventory (eg. see what you or your buddy is carrying)

Concepts that are covered this section:

  • Working with arrays
  • Dealing & handling damage in ue4
  • Attaching/detaching actors
  • Using sockets in C++
  • Structs
  • Manipulating materials & parameters in C++
  • Driving FX with Physical Materials

Every two weeks a new section will be announced with a new thread alongside it!

Please use this thread for questions and feedback you might have!




Get started with this project RIGHT HERE or get right into SECTION 2

You sir, are the hero this community needed :slight_smile:

Hahah! Thank you :stuck_out_tongue:

This x100

How complicated would it be to be able to choose a specific player model when you log in and start the game? The networking part of pawn possession / changing is confusing to me. (Would really love an example for that) Also any plans for naming your character? This project is so educating I cant wait to study it all day every day

Multi character skins probably won’t make it in. I’ll likely do something with assigning names to clients to ID who you’re playing with in coop. No details on that yet though.

Great, love this series of yours. I really do like this concept more than a straight up tutorial as now I’m forced to research what you have done and understand it. That way I think people learn more than just following step by step tutorials all the time.

Quick WIP on Section 2.


Love it, can’t wait. Great job so far. Been a treat.

This Tom Looman project and your Beginning C++ tutorials are really helping me understand how the engine work, thank guys :slight_smile:

More features!


Hey Tom, source code isn’t up yet or i’m doing something wrong with GitHub?

You are correct! I held off the submit for a bit since there were a lot of moving parts & content that had to be cleared etc. There should be something up either today or tomorrow.

Thanks for sharing the project on Reddit btw!

Waiting in anticipation :D/

Code is up!

A lot of stuff to learn :eek:

Yep it is! A little warning that it’s still WIP though for Section 2.

Turn off the lens flares.

Excellent news Tom. The true is that now I’m studing the UE4’s API, and your GameSurvival Project series are perfect about, how we have to work correctly the C++ programming with UE4 for build a game, being that right now I don’t understand very well, how I have to use macros UCLASS(), UFUNCTION(), UPROPERTY(), etc… And also I have already some scene assets and I would like to use it with your excelent GameSurvival Project, We can make it?. Thank you so much Tom.:slight_smile:

You can right-click on your assets in the content browser and select “Migrate…” to move them to this project.

The UFUNCTION(), UPROPERTY() markers etc. are Macros and help Unreal know how to treat your functions and variables. You can assign custom “behavior” to it this way. Currently we have used it to expose variables to Blueprint and to mark certain functions are server-side functions in networking (etc. when called on a client, the request is send to the server to execute the function instead of running it locally on the client)

Tom is possible to view how manage a smooth transition between crouch <-> stand (with the camera pos) and with the run the same ? (in the C++ code)

Because the templates and the shooter demo don’t have examples of this.

Ok, I think I understand it more about API’s macros, with they we can include into the Editor all propierties that we defined with UPROPERTY(), for example, with this sample code of API’s Documentation:

Class AMyActor : public AActor

UPROPERTY (EditAnywhere, BlueprintReadWrite, Category="Damage")
int32 TotalDamage;

UPROPERTY (EditAnywhere, BlueprintReadWrite, Category="Damage")
float DamageTimeInSeconds;

UPROPERTY (BlueprintReadOnly, VisibleAnywhere, Transient, Category="Damage")
float DamagePerSecond;



I have defined my class “AMyActor” that inherits of “AActor”, like I defined into the UCLASS(), my class will stay into the source code Editor “to my project”. And then, with UPROPERTY(), I can create my “TotalDamage”, “DamageTimeInSeconds” and “DamagePerSecond” variables, and then can use the same with Blueprint.

Only one question, this variables included into the Editor, Will form part of the source code of the engine or just the code for my project?.

Thank you so much for your attention Tom. :slight_smile: