Announcing Section #1 for Survival Game - Third-person Player Setup

We’re announcing the first section of the new Survival Sample Game today! The documentation will be up by the end of next week, in the meanwhile you can already grab the latest source at GitHub (GitHub - tomlooman/EpicSurvivalGameSeries: Third-person Survival Game for Unreal Engine 4 (Sample Project)). Which will continously 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 1


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!

Concepts that are covered this section:

  • Setting up Input in C++.**
  • Exposing functions and properties to Blueprint.**
  • Replication (Networking) of Characters and Actors.
  • Raycasting.
  • Type-casting.
  • 3rd-person camera handling through components.
  • Using Timers.

Furthermore you can use the code to learn more about: (But not explicitly covered in the upcoming docs)

  • Handling Sound & Particle FX in C++.
  • Overriding existing functionality.
  • Setup of components.
  • Using C++ character movement and behavior in AnimBlueprint.
  • Extending movement. (with Sprinting)
  • Extending CameraManager. (with FOV zoom)
  • Interacting with objects in the world.

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!


sounds great so far. But is this a tutorial or will this be a Sample Game like the ShooterGame with comments PLUS Documentation?

Because as soon as my Internet will be upgraded next week (at the moment i can’t upload anything with 80kb/s x)), i am planing on creating a video “series” that covers most auf the GENERAL Unreal and C++ things.
I want to show them what the Editor is about, what Classes they can use for which part of their game (like GameInstance, GameState, etc).

I want to have a subsection with tutorials on learning C++! So they learn what are variables, constructors, functions etc.
This will be in form of small 10-15 Min tutorial videos. I want to explain alot instead of showing them how i code a specific system.

BUT if you already cover most of this in some form, i can step back and leave this to you guys.

This. I am adding more code comments than ShooterGame where I deem something requires a bit more explanation. It’s not going to be a video tutorial series about variables, functions etc. a series for that is very welcome!

Ok cool. As soon as my VDSL100 is up and ready, i will start planing this.

Looking forward to your example game since a Survival Game was my first “project” i did in UE4 (:

Good! I Fork this project !
Go Tom Go! :slight_smile:

Hi Tom Looman ,

I’m really excited about how you will manage reappearance(spawn ?) of the loots , very interesting !

Tom Looman-thanks! :slight_smile: eXi -very waiting for Yur tuts!

Awesome work Tom, very proud of you and keep up the epic work :slight_smile:
Exi, cool to make some vids for it!

Nice! Look forward to reading through it :slight_smile:

Nice initial commit. Exploding cupcake time!

First question here, i notice you use GENERATED_UCLASS_BODY() instead of GENERATED_BODY() in class header, can you explain me the difference, why and when you use the first and the second?

I’m still using GENERATED_UCLASS_BODY() because that gives me easy access to the FObjectInitializer class to create components, but you may have noticed I use it for some constructors that don’t need this object at all. GENERATED_BODY() is newer and I believe intended as the way forward, but it has been giving me some issues with constructors, so to keep moving forward I rolled back to the old way - I’ll have to look into that later in the project.

Yes and now i understand why you have used the constructor in this way, thank :slight_smile:


    YourClassName(const FObjectInitializer& ObjectInitializer)

In header ;).

Or you can just scrap it all togather and:


ObjectInitializer is no longer needed for initializing componenets.

AFAIR things provided by GENERATED_UCLASS_BODY will be deprecated as of 4.8

Here there are more info about updated constructors and GENERATED_BODY:

Hey, nice tutorial/example for C++ and i see a good grid texture example, but is possible to see a grid texture projected to local space ? because i like something tileable material in local space, i tested using the “Absolute World Position” - “Actor Position” this work but at turn the model, the texture move because is projected. I tested with other methods but no one works.

Is possible to view a example about this ?

Thanks for the tutorial!

Thanks guys! I am so used to the old ways.

This question is better asked in the Rendering subforum. I can help you out if you make a new thread there.

Cheers guys!


Quick Q, why does your current method of ray tracing not work when using Skeletal Meshes instead of Static Meshes?

There could be a couple of things going on here.

Your skeletal mesh might not have a proper Physics Assets to collide with (I believe raycast will use this for skel meshes) and/or it may ignore the collision channel we use to perform the ray-cast.

Could you check if your Physics Assets has set up the shapes for collision?

I am using the ModernWeapons from the market. I have checked the Physics Asset its defiantly set. I am able to move the weapon. It just seems like the Ray cast is not working properly, it doesn’t render the outlines when you target over the weapon etc.