Third-person survival game for Unreal Engine 4 made entirely in C++.

Overview

Epic Survival Game Series

Last updated for 4.26!

Third-person survival game for Unreal Engine 4 made entirely in C++. Originally built as a 6 section tutorial series, now available as open-source C++ sample project.

See the main documentation page for walkthrough of many of the features.

equipment header

animation blueprint graph example

Refreshed look for Landscape Map

For questions & feedback visit the official thread on the unreal engine forums

Looking for a step by step guide? I released my Unreal Engine 4 Mastery: Create Multiplayer Games with C++! Which includes two games teaching you C++, Networking for multiplayer and multiple AI including advanced behavior trees for ranged shooter AI.

Get the Udemy Course now and learn C++ for Unreal Engine 4: DISCOUNT LINK

Section 1

This section sets up the third person character movement with animation, object interaction, simple hunger system, all with networking support.

Section 2

Adds weapon support for the character, a flashlight, UT-style inventory with on-character visual representation of the carried items and deals with damage, death and respawns for players.

Section 3

Introduces AI "Zombie" enemy to our game using PawnSensing and Behavior Tree.

Section 4

Introduces a gameloop with enemies, items, scoring and a time of day.

Section 5

Introduces the ability to carry around objects like barriers and discusses game networking.

Section 6

The final section in the series focuses on bug fixing and a bit of polish to the existing features. This section is compatible with the 4.8 release.

NEW: Mod Support

Includes two small mod examples including a Pink Rifle extension and Flashlight replacement mod. Check out the Modding Sample Project for guidelines & cooker profile setup

Example commandline arg to load the Mod gamemode with the built-in level "CoopLandscape" in a cooked game build: SurvivalGame.exe /Game/Maps/CoopLandscape_Map?game=/ExtendedRifleMod/SurvivalGameMode_PinkRifle.SurvivalGameMode_PinkRifle_C

There is currently no supporting UI to load up specific mod content, please note that the modding pipeline is a experimental and intended for early adopters only!

Issues
  • Please add a license to this repo

    Please add a license to this repo

    Thank you for making the code for this tutorial available! Could you please add an explicit LICENSE file to the repo so that it's clear under what terms the content is provided, and under what terms user contributions are licensed?

    Per GitHub docs on licensing:

    Generally speaking, the absence of a license means that the default copyright laws apply. This means that you retain all rights to your source code and that nobody else may reproduce, distribute, or create derivative works from your work. This might not be what you intend.

    Thanks!

    opened by mbrukman 7
  • Cannot compile

    Cannot compile

    I have just downloaded this branch and I cannot compile with 4.9.2, 4.10.2 or 4.11.0

    Can someone tell me if i need a lower version and also where i would find a log of the error when trying to compile UE4Editor-SurvivalGame.dylib as when it fails the log disapears. I managed to get a little bit of the log

    [2016.01.28-16.52.42:862][ 0] [2016.01.28-16.52.42:862][ 0]Running Mono... [2016.01.28-16.52.42:862][ 0] [2016.01.28-16.52.43:168][ 0]Setting up Mono [2016.01.28-16.52.43:168][ 0]/Users/Shared/UnrealEngine/4.9/Engine /Users/Shared/UnrealEngine/4.9/Engine/Binaries/Mac [2016.01.28-16.52.44:397][ 0]Compiling with MacOSX SDK 10.11 [2016.01.28-16.52.50:425][ 0]@progress push 5% [2016.01.28-16.52.51:144][ 0]@progress pop [2016.01.28-16.52.51:556][ 0]Generating dSYM file for UE4Editor-SurvivalGame.dylib - this will add some time to your build... [2016.01.28-16.52.51:661][ 0]Performing 19 actions (8 in parallel) [2016.01.28-16.52.51:663][ 0][1/19] Compile SurvivalGame.generated.cpp [2016.01.28-16.52.51:663][ 0][4/19] Compile SZombieAIController.cpp [2016.01.28-16.52.51:663][ 0][2/19] Compile BTTask_FindBotWaypoint.cpp [2016.01.28-16.52.51:664][ 0][3/19] Compile BTTask_FindPatrolLocation.cpp [2016.01.28-16.52.51:664][ 0][6/19] Compile SCharacter.cpp [2016.01.28-16.52.51:664][ 0][5/19] Compile SZombieCharacter.cpp [2016.01.28-16.52.51:664][ 0][7/19] Compile SWeapon.cpp [2016.01.28-16.52.51:664][ 0][8/19] Compile SWeaponPickup.cpp [2016.01.28-16.52.55:264][ 0]In file included from /Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/SCharacter.cpp:4: [2016.01.28-16.52.55:264][ 0]../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SCharacter.h:93:39: error: only virtual member functions can be marked 'override' [2016.01.28-16.52.55:264][ 0] void OnLanded(const FHitResult& Hit) override; [2016.01.28-16.52.55:264][ 0] ^~~~~~~~ [2016.01.28-16.52.55:264][ 0]In file included from /Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/SWeapon.cpp:4: [2016.01.28-16.52.55:264][ 0]In file included from ../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SWeapon.h:6: [2016.01.28-16.52.55:264][ 0]../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SCharacter.h:93:39: error: only virtual member functions can be marked 'override' [2016.01.28-16.52.55:264][ 0] void OnLanded(const FHitResult& Hit) override; [2016.01.28-16.52.55:265][ 0] ^~~~~~~~ [2016.01.28-16.52.55:265][ 0]In file included from /Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/SWeaponPickup.cpp:4: [2016.01.28-16.52.55:265][ 0]../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SCharacter.h:93:39: error: only virtual member functions can be marked 'override' [2016.01.28-16.52.55:265][ 0] void OnLanded(const FHitResult& Hit) override; [2016.01.28-16.52.55:265][ 0] ^~~~~~~~ [2016.01.28-16.52.55:265][ 0]/Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/SCharacter.cpp:212:14: warning: 'LineTraceSingle' is deprecated: Use LineTraceSingleByChannel instead. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. [-Wdeprecated-declarations] [2016.01.28-16.52.55:265][ 0] GetWorld()->LineTraceSingle(Hit, TraceStart, TraceEnd, ECC_Visibility, TraceParams); [2016.01.28-16.52.55:265][ 0] ^ [2016.01.28-16.52.55:265][ 0]/Users/Shared/UnrealEngine/4.9/Engine/Source/Runtime/Engine/Classes/Engine/World.h:1153:7: note: 'LineTraceSingle' has been explicitly marked deprecated here [2016.01.28-16.52.55:265][ 0] bool LineTraceSingle(struct FHitResult& OutHit,const FVector& Start,const FVector& End,ECollisionChannel TraceChannel,const FCollisionQueryParams& Params, const FCollisionResponseParams& ResponseParam = FCollisionResponseParams::DefaultResponseParam) const [2016.01.28-16.52.55:265][ 0] ^ [2016.01.28-16.52.55:265][ 0]/Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/SWeapon.cpp:300:14: warning: 'LineTraceSingle' is deprecated: Use LineTraceSingleByChannel instead. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. [-Wdeprecated-declarations] [2016.01.28-16.52.55:265][ 0] GetWorld()->LineTraceSingle(Hit, TraceFrom, TraceTo, COLLISION_WEAPON, TraceParams); [2016.01.28-16.52.55:265][ 0] ^ [2016.01.28-16.52.55:265][ 0]/Users/Shared/UnrealEngine/4.9/Engine/Source/Runtime/Engine/Classes/Engine/World.h:1153:7: note: 'LineTraceSingle' has been explicitly marked deprecated here [2016.01.28-16.52.55:265][ 0] bool LineTraceSingle(struct FHitResult& OutHit,const FVector& Start,const FVector& End,ECollisionChannel TraceChannel,const FCollisionQueryParams& Params, const FCollisionResponseParams& ResponseParam = FCollisionResponseParams::DefaultResponseParam) const [2016.01.28-16.52.55:265][ 0] ^ [2016.01.28-16.52.55:369][ 0]/Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/SWeapon.cpp:446:26: warning: 'PlaySoundAttached' is deprecated: PlaySoundAttached has been renamed SpawnSoundAttached Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. [-Wdeprecated-declarations] [2016.01.28-16.52.55:369][ 0] AC = UGameplayStatics::PlaySoundAttached(SoundToPlay, MyPawn->GetRootComponent()); [2016.01.28-16.52.55:369][ 0] ^ [2016.01.28-16.52.55:369][ 0]/Users/Shared/UnrealEngine/4.9/Engine/Source/Runtime/Engine/Classes/Kismet/GameplayStatics.h:382:32: note: 'PlaySoundAttached' has been explicitly marked deprecated here [2016.01.28-16.52.55:369][ 0] static class UAudioComponent* PlaySoundAttached(class USoundBase* Sound, class USceneComponent* AttachToComponent, FName AttachPointName = NAME_None, FVector Location = FVector(ForceInit), EAttachLocation::Type LocationType = EAttachLocation::KeepRelativeOffset, bool bStopWhenAttachedToDestroyed = false, float VolumeMultiplier = 1.f, float PitchMultiplier = 1.f, float StartTime = 0.f, class USoundAttenuation* AttenuationSettings = NULL) [2016.01.28-16.52.55:369][ 0] ^ [2016.01.28-16.52.55:369][ 0]/Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/SCharacter.cpp:558:14: warning: 'bNoCollisionFail' is deprecated: bNoCollisionFail is deprecated. Use SpawnCollisionHandlingOverride to override the actor class's spawn collision handling setting. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. [-Wdeprecated-declarations] [2016.01.28-16.52.55:369][ 0] SpawnInfo.bNoCollisionFail = true; [2016.01.28-16.52.55:369][ 0] ^ [2016.01.28-16.52.55:369][ 0]/Users/Shared/UnrealEngine/4.9/Engine/Source/Runtime/Engine/Classes/Engine/World.h:458:9: note: 'bNoCollisionFail' has been explicitly marked deprecated here [2016.01.28-16.52.55:369][ 0] uint16 bNoCollisionFail:1; [2016.01.28-16.52.55:369][ 0] ^ [2016.01.28-16.52.55:370][ 0]/Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/SWeaponPickup.cpp:29:14: warning: 'bNoCollisionFail' is deprecated: bNoCollisionFail is deprecated. Use SpawnCollisionHandlingOverride to override the actor class's spawn collision handling setting. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. [-Wdeprecated-declarations] [2016.01.28-16.52.55:370][ 0] SpawnInfo.bNoCollisionFail = true; [2016.01.28-16.52.55:370][ 0] ^ [2016.01.28-16.52.55:370][ 0]/Users/Shared/UnrealEngine/4.9/Engine/Source/Runtime/Engine/Classes/Engine/World.h:458:9: note: 'bNoCollisionFail' has been explicitly marked deprecated here [2016.01.28-16.52.55:370][ 0] uint16 bNoCollisionFail:1; [2016.01.28-16.52.55:370][ 0] ^ [2016.01.28-16.52.55:370][ 0]/Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/SCharacter.cpp:783:13: warning: 'bNoCollisionFail' is deprecated: bNoCollisionFail is deprecated. Use SpawnCollisionHandlingOverride to override the actor class's spawn collision handling setting. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. [-Wdeprecated-declarations] [2016.01.28-16.52.55:370][ 0] SpawnInfo.bNoCollisionFail = true; [2016.01.28-16.52.55:370][ 0] ^ [2016.01.28-16.52.55:370][ 0]/Users/Shared/UnrealEngine/4.9/Engine/Source/Runtime/Engine/Classes/Engine/World.h:458:9: note: 'bNoCollisionFail' has been explicitly marked deprecated here [2016.01.28-16.52.55:370][ 0] uint16 bNoCollisionFail:1; [2016.01.28-16.52.55:370][ 0] ^ [2016.01.28-16.52.55:472][ 0]In file included from /Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/SZombieCharacter.cpp:5: [2016.01.28-16.52.55:472][ 0]In file included from ../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SZombieAIController.h:6: [2016.01.28-16.52.55:472][ 0]../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SCharacter.h:93:39: error: only virtual member functions can be marked 'override' [2016.01.28-16.52.55:472][ 0] void OnLanded(const FHitResult& Hit) override; [2016.01.28-16.52.55:472][ 0] ^~~~~~~~ [2016.01.28-16.52.55:472][ 0]In file included from /Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/SZombieAIController.cpp:4: [2016.01.28-16.52.55:472][ 0]In file included from ../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SZombieAIController.h:6: [2016.01.28-16.52.55:472][ 0]../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SCharacter.h:93:39: error: only virtual member functions can be marked 'override' [2016.01.28-16.52.55:472][ 0] void OnLanded(const FHitResult& Hit) override; [2016.01.28-16.52.55:472][ 0] ^~~~~~~~ [2016.01.28-16.52.55:674][ 0]In file included from /Users/user/Development/Project-Hatshepsut/Intermediate/Build/Mac/UE4Editor/Inc/SurvivalGame/SurvivalGame.generated.cpp:9: [2016.01.28-16.52.55:674][ 0]In file included from ../../../../../user/Development/Project-Hatshepsut/Intermediate/Build/Mac/UE4Editor/Inc/SurvivalGame/SurvivalGame.generated.dep.h:21: [2016.01.28-16.52.55:674][ 0]../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SCharacter.h:93:39: error: only virtual member functions can be marked 'override' [2016.01.28-16.52.55:674][ 0] void OnLanded(const FHitResult& Hit) override; [2016.01.28-16.52.55:674][ 0] ^~~~~~~~ [2016.01.28-16.52.55:674][ 0]In file included from /Users/user/Development/Project-Hatshepsut/Intermediate/Build/Mac/UE4Editor/Inc/SurvivalGame/SurvivalGame.generated.cpp:9: [2016.01.28-16.52.55:674][ 0]In file included from ../../../../../user/Development/Project-Hatshepsut/Intermediate/Build/Mac/UE4Editor/Inc/SurvivalGame/SurvivalGame.generated.dep.h:36: [2016.01.28-16.52.55:674][ 0]../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SGameMode.h:22:18: error: 'ASGameMode::InitNewPlayer' hides overloaded virtual function [-Werror,-Woverloaded-virtual] [2016.01.28-16.52.55:674][ 0] virtual FString InitNewPlayer(class APlayerController* NewPlayerController, const TSharedPtr<FUniqueNetId>& UniqueId, const FString& Options, const FString& Portal /* = TEXT("") */); [2016.01.28-16.52.55:674][ 0] ^ [2016.01.28-16.52.55:674][ 0]Runtime/Engine/Classes/GameFramework/GameMode.h:691:18: note: hidden overloaded virtual function 'AGameMode::InitNewPlayer' declared here: type mismatch at 2nd parameter ('const TSharedPtr<const FUniqueNetId> &' vs 'const TSharedPtr<FUniqueNetId> &') [2016.01.28-16.52.55:674][ 0] virtual FString InitNewPlayer(class APlayerController* NewPlayerController, const TSharedPtr<const FUniqueNetId>& UniqueId, const FString& Options, const FString& Portal = TEXT("")); [2016.01.28-16.52.55:674][ 0] ^ [2016.01.28-16.52.55:775][ 0]In file included from /Users/user/Development/Project-Hatshepsut/Intermediate/Build/Mac/UE4Editor/Inc/SurvivalGame/SurvivalGame.generated.cpp:9: [2016.01.28-16.52.55:775][ 0]In file included from ../../../../../user/Development/Project-Hatshepsut/Intermediate/Build/Mac/UE4Editor/Inc/SurvivalGame/SurvivalGame.generated.dep.h:48: [2016.01.28-16.52.55:775][ 0]../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/Editor/SoundNodeLocalPlayer.h:28:18: error: virtual function 'GetInputPinName' has a different return type ('FString') than the function it overrides (which has return type 'FText') [2016.01.28-16.52.55:775][ 0] virtual FString GetInputPinName(int32 PinIndex) const override; [2016.01.28-16.52.55:775][ 0] ~~~~~~~ ^ [2016.01.28-16.52.55:775][ 0]Runtime/Engine/Classes/Sound/SoundNode.h:144:16: note: overridden virtual function is here [2016.01.28-16.52.55:775][ 0] virtual FText GetInputPinName(int32 PinIndex) const { return FText::GetEmpty(); } [2016.01.28-16.52.55:775][ 0] ~~~~~ ^ [2016.01.28-16.52.55:775][ 0]In file included from /Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/BTTask_FindPatrolLocation.cpp:6: [2016.01.28-16.52.55:775][ 0]In file included from ../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SZombieAIController.h:6: [2016.01.28-16.52.55:775][ 0]../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SCharacter.h:93:39: error: only virtual member functions can be marked 'override' [2016.01.28-16.52.55:775][ 0] void OnLanded(const FHitResult& Hit) override; [2016.01.28-16.52.55:775][ 0] ^~~~~~~~ [2016.01.28-16.52.55:775][ 0]In file included from /Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/BTTask_FindBotWaypoint.cpp:6: [2016.01.28-16.52.55:776][ 0]In file included from ../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SZombieAIController.h:6: [2016.01.28-16.52.55:776][ 0]../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SCharacter.h:93:39: error: only virtual member functions can be marked 'override' [2016.01.28-16.52.55:776][ 0] void OnLanded(const FHitResult& Hit) override; [2016.01.28-16.52.55:776][ 0] ^~~~~~~~ [2016.01.28-16.52.56:080][ 0]/Users/user/Development/Project-Hatshepsut/Intermediate/Build/Mac/UE4Editor/Inc/SurvivalGame/SurvivalGame.generated.cpp:490:30: error: use of undeclared identifier 'FindExistingEnumIfHotReload' [2016.01.28-16.52.56:080][ 0] static UEnum* ReturnEnum = FindExistingEnumIfHotReload(Outer, TEXT("EBotBehaviorType"), 0, Get_Z_Construct_UEnum_SurvivalGame_EBotBehaviorType_CRC()); [2016.01.28-16.52.56:080][ 0] ^ [2016.01.28-16.52.56:081][ 0]/Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/BTTask_FindPatrolLocation.cpp:30:42: warning: 'GetRandomPointInRadius' is deprecated: GetRandomPointInRadius is deprecated. Use either GetRandomReachablePointInRadius or GetRandomPointInNavigableRadius Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. [-Wdeprecated-declarations] [2016.01.28-16.52.56:082][ 0] const FVector Loc = UNavigationSystem::GetRandomPointInRadius(MyController, SearchOrigin, SearchRadius); [2016.01.28-16.52.56:082][ 0] ^ [2016.01.28-16.52.56:082][ 0]Runtime/Engine/Classes/AI/Navigation/NavigationSystem.h:969:17: note: 'GetRandomPointInRadius' has been explicitly marked deprecated here [2016.01.28-16.52.56:083][ 0] static FVector GetRandomPointInRadius(UObject* WorldContext, const FVector& Origin, float Radius, ANavigationData* NavData = NULL, TSubclassOf<UNavigationQueryFilter> FilterClass = NULL); [2016.01.28-16.52.56:083][ 0] ^ [2016.01.28-16.52.56:292][ 0]/Users/user/Development/Project-Hatshepsut/Intermediate/Build/Mac/UE4Editor/Inc/SurvivalGame/SurvivalGame.generated.cpp:513:30: error: use of undeclared identifier 'FindExistingEnumIfHotReload' [2016.01.28-16.52.56:292][ 0] static UEnum* ReturnEnum = FindExistingEnumIfHotReload(Outer, TEXT("EInventorySlot"), 0, Get_Z_Construct_UEnum_SurvivalGame_EInventorySlot_CRC()); [2016.01.28-16.52.56:292][ 0] ^ [2016.01.28-16.52.56:395][ 0]/Users/user/Development/Project-Hatshepsut/Intermediate/Build/Mac/UE4Editor/Inc/SurvivalGame/SurvivalGame.generated.cpp:538:40: error: use of undeclared identifier 'FindExistingStructIfHotReload' [2016.01.28-16.52.56:395][ 0] static UScriptStruct* ReturnStruct = FindExistingStructIfHotReload(Outer, TEXT("TakeHitInfo"), sizeof(FTakeHitInfo), Get_Z_Construct_UScriptStruct_FTakeHitInfo_CRC()); [2016.01.28-16.52.56:396][ 0] ^ [2016.01.28-16.52.56:597][ 0]/Users/user/Development/Project-Hatshepsut/Intermediate/Build/Mac/UE4Editor/Inc/SurvivalGame/SurvivalGame.generated.cpp:2132:30: error: use of undeclared identifier 'FindExistingEnumIfHotReload' [2016.01.28-16.52.56:597][ 0] static UEnum* ReturnEnum = FindExistingEnumIfHotReload(Outer, TEXT("EWeaponState"), 0, Get_Z_Construct_UEnum_SurvivalGame_EWeaponState_CRC()); [2016.01.28-16.52.56:597][ 0] ^ [2016.01.28-16.52.56:597][ 0]/Users/user/Development/Project-Hatshepsut/Intermediate/Build/Mac/UE4Editor/Inc/SurvivalGame/SurvivalGame.generated.cpp:2624:19: error: no member named 'SetPackageFlags' in 'UPackage' [2016.01.28-16.52.56:598][ 0] ReturnPackage->SetPackageFlags(PKG_CompiledIn | 0x00000000); [2016.01.28-16.52.56:598][ 0] ~~~~~~~~~~~~~ ^ [2016.01.28-16.52.58:539][ 0]2 warnings and 1 error generated. [2016.01.28-16.52.58:539][ 0]3 warnings and 1 error generated. [2016.01.28-16.52.58:641][ 0]1 warning and 1 error generated. [2016.01.28-16.52.58:654][ 0][9/19] Compile SWeaponInstant.cpp [2016.01.28-16.52.58:654][ 0][10/19] Compile SHUD.cpp [2016.01.28-16.52.58:755][ 0]1 error generated. [2016.01.28-16.52.58:755][ 0][11/19] Compile SGameMode.cpp [2016.01.28-16.52.58:858][ 0][12/19] Compile SConsumableActor.cpp [2016.01.28-16.52.59:469][ 0]1 error generated. [2016.01.28-16.52.59:469][ 0]1 error generated. [2016.01.28-16.52.59:469][ 0]1 warning and 1 error generated. [2016.01.28-16.52.59:573][ 0][13/19] Compile SFlashlight.cpp [2016.01.28-16.52.59:677][ 0][14/19] Compile SoundNodeLocalPlayer.cpp [2016.01.28-16.52.59:678][ 0][15/19] Compile SCharacterMovementComponent.cpp [2016.01.28-16.53.00:082][ 0]8 errors generated. [2016.01.28-16.53.00:288][ 0][16/19] Compile SPlayerCameraManager.cpp [2016.01.28-16.53.02:223][ 0]In file included from /Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/SHUD.cpp:5: [2016.01.28-16.53.02:223][ 0]../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SCharacter.h:93:39: error: only virtual member functions can be marked 'override' [2016.01.28-16.53.02:223][ 0] void OnLanded(const FHitResult& Hit) override; [2016.01.28-16.53.02:223][ 0] ^~~~~~~~ [2016.01.28-16.53.02:328][ 0]In file included from /Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/SGameMode.cpp:4: [2016.01.28-16.53.02:329][ 0]../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SGameMode.h:22:18: error: 'ASGameMode::InitNewPlayer' hides overloaded virtual function [-Werror,-Woverloaded-virtual] [2016.01.28-16.53.02:329][ 0] virtual FString InitNewPlayer(class APlayerController* NewPlayerController, const TSharedPtr<FUniqueNetId>& UniqueId, const FString& Options, const FString& Portal /* = TEXT("") */); [2016.01.28-16.53.02:329][ 0] ^ [2016.01.28-16.53.02:329][ 0]Runtime/Engine/Classes/GameFramework/GameMode.h:691:18: note: hidden overloaded virtual function 'AGameMode::InitNewPlayer' declared here: type mismatch at 2nd parameter ('const TSharedPtr<const FUniqueNetId> &' vs 'const TSharedPtr<FUniqueNetId> &') [2016.01.28-16.53.02:329][ 0] virtual FString InitNewPlayer(class APlayerController* NewPlayerController, const TSharedPtr<const FUniqueNetId>& UniqueId, const FString& Options, const FString& Portal = TEXT("")); [2016.01.28-16.53.02:329][ 0] ^ [2016.01.28-16.53.02:329][ 0]In file included from /Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/SWeaponInstant.cpp:4: [2016.01.28-16.53.02:329][ 0]In file included from ../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SWeaponInstant.h:5: [2016.01.28-16.53.02:330][ 0]In file included from ../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SWeapon.h:6: [2016.01.28-16.53.02:330][ 0]../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SCharacter.h:93:39: error: only virtual member functions can be marked 'override' [2016.01.28-16.53.02:330][ 0] void OnLanded(const FHitResult& Hit) override; [2016.01.28-16.53.02:330][ 0] ^~~~~~~~ [2016.01.28-16.53.02:430][ 0]/Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/SWeaponInstant.cpp:220:45: warning: 'SpawnActorDeferred<ASImpactEffect>' is deprecated: This version of SpawnActorDeferred is deprecated. Please use the version that takes an FTransform and ESpawnActorCollisionHandlingMethod. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. [-Wdeprecated-declarations] [2016.01.28-16.53.02:430][ 0] ASImpactEffect* EffectActor = GetWorld()->SpawnActorDeferred<ASImpactEffect>(ImpactTemplate, Impact.ImpactPoint, Impact.ImpactPoint.Rotation()); [2016.01.28-16.53.02:430][ 0] ^ [2016.01.28-16.53.02:430][ 0]/Users/Shared/UnrealEngine/4.9/Engine/Source/Runtime/Engine/Classes/Engine/World.h:2883:5: note: 'SpawnActorDeferred<ASImpactEffect>' has been explicitly marked deprecated here [2016.01.28-16.53.02:430][ 0] T* SpawnActorDeferred( [2016.01.28-16.53.02:430][ 0] ^ [2016.01.28-16.53.02:532][ 0]In file included from /Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/SConsumableActor.cpp:5: [2016.01.28-16.53.02:532][ 0]../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SCharacter.h:93:39: error: only virtual member functions can be marked 'override' [2016.01.28-16.53.02:532][ 0] void OnLanded(const FHitResult& Hit) override; [2016.01.28-16.53.02:532][ 0] ^~~~~~~~ [2016.01.28-16.53.03:148][ 0]In file included from /Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/SFlashlight.cpp:4: [2016.01.28-16.53.03:148][ 0]In file included from ../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SFlashlight.h:5: [2016.01.28-16.53.03:148][ 0]In file included from ../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SWeapon.h:6: [2016.01.28-16.53.03:148][ 0]../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SCharacter.h:93:39: error: only virtual member functions can be marked 'override' [2016.01.28-16.53.03:148][ 0] void OnLanded(const FHitResult& Hit) override; [2016.01.28-16.53.03:148][ 0] ^~~~~~~~ [2016.01.28-16.53.03:357][ 0]In file included from /Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/SCharacterMovementComponent.cpp:5: [2016.01.28-16.53.03:357][ 0]../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SCharacter.h:93:39: error: only virtual member functions can be marked 'override' [2016.01.28-16.53.03:357][ 0] void OnLanded(const FHitResult& Hit) override; [2016.01.28-16.53.03:357][ 0] ^~~~~~~~ [2016.01.28-16.53.03:461][ 0]In file included from /Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/Editor/SoundNodeLocalPlayer.cpp:5: [2016.01.28-16.53.03:461][ 0]../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/Editor/SoundNodeLocalPlayer.h:28:18: error: virtual function 'GetInputPinName' has a different return type ('FString') than the function it overrides (which has return type 'FText') [2016.01.28-16.53.03:461][ 0] virtual FString GetInputPinName(int32 PinIndex) const override; [2016.01.28-16.53.03:461][ 0] ~~~~~~~ ^ [2016.01.28-16.53.03:461][ 0]Runtime/Engine/Classes/Sound/SoundNode.h:144:16: note: overridden virtual function is here [2016.01.28-16.53.03:461][ 0] virtual FText GetInputPinName(int32 PinIndex) const { return FText::GetEmpty(); } [2016.01.28-16.53.03:461][ 0] ~~~~~ ^ [2016.01.28-16.53.03:868][ 0]In file included from /Users/user/Development/Project-Hatshepsut/Source/SurvivalGame/Private/SPlayerCameraManager.cpp:5: [2016.01.28-16.53.03:868][ 0]../../../../../user/Development/Project-Hatshepsut/Source/SurvivalGame/Public/SCharacter.h:93:39: error: only virtual member functions can be marked 'override' [2016.01.28-16.53.03:868][ 0] void OnLanded(const FHitResult& Hit) override; [2016.01.28-16.53.03:868][ 0] ^~~~~~~~ [2016.01.28-16.53.05:195][ 0]1 error generated. [2016.01.28-16.53.05:401][ 0][17/19] Compile SBaseCharacter.cpp [2016.01.28-16.53.05:401][ 0]1 error generated. [2016.01.28-16.53.05:402][ 0]1 warning and 1 error generated. [2016.01.28-16.53.06:024][ 0]1 error generated. [2016.01.28-16.53.06:129][ 0]1 error generated. [2016.01.28-16.53.06:129][ 0]1 error generated. [2016.01.28-16.53.06:233][ 0]1 error generated. [2016.01.28-16.53.06:443][ 0]1 error generated.

    opened by jonny2027 5
  • how to let it work on UE4.26.2 ?

    how to let it work on UE4.26.2 ?

    Running the UE4Editor and trying to open this project gives this message: "The project could not be compiled. Would you like to open it in Null Source Code Access?" ... "Please rebuild from an IDE instead."

    Accepting the above gives this: "Engine modules are out of date, and cannot be compiled while the engine is running. Please build through your IDE."

    Well.. thru my IDE? I just went to the path (/MyDevRoot/Projects/EpicSurvivalGameSeries/SurvivalGame) where Makefile was created and ran make. But now, it is re-compiling the whole editor/engine (at /MyDevRoot/Tools/UE4/UE4.26.2-shallow) as it "depends on chaos physics?" (and may be because of other things like UMG too?).

    On the UE4 engine/editor path now, there is a lot of new files at: ./.vscode/compileCommands_SurvivalGame/ and also these ones (after filtering out a lot of other files):

    > ./Engine/Binaries/Linux/libShaderCompileWorker-ImageCore.so
    > ./Engine/Binaries/Linux/libShaderCompileWorker-TextureFormatASTC.so
    > ./Engine/Binaries/Linux/libShaderCompileWorker-TextureFormatDXT.so
    > ./Engine/Binaries/Linux/libShaderCompileWorker-TextureFormatETC2.so
    > ./Engine/Binaries/Linux/libShaderCompileWorker-TextureFormatIntelISPCTexComp.so
    > ./Engine/Binaries/Linux/libUnrealFrontend-TextureFormatETC2.so
    

    I used these commands to list and filter the files:

    find -type f |sort >UE4.26.2-shallow.FILES.txt 
    find -type f |sort >UE4.26.2-shallow.bkp.FILES.txt #ran this one at the backup path
    diff UE4.26.2-shallow.bkp.FILES.txt UE4.26.2-shallow.FILES.txt |egrep "^(>|<)"|egrep -v "compileCommands_SurvivalGame|compileCommands_Default|[.](old|ini|log|txt|o|h|rsp|bin|sh|psym|d|response|debug|sym|so_nodebug)$"
    

    So I let it fully re-compile the engine and editor. Not that EpicSurvivalGame modified them, just that I think it needed some dependencies that were not compiled on the 1st time I compiled it.

    I will keep this closed as is not an issue, just a reference in case someone needs it.

    PS.: Ubuntu20.04 here

    opened by t31k3 4
  • Unable to open project after project is now version is 4.24. (

    Unable to open project after project is now version is 4.24. ("Missing SurvivalGame Modules")

    I downloaded the new version of the project for unreal engine 4.24 and when I try to open it I get the message "Missing SurvivalGame Modules, The following modules are missing or built with a different engine version: SurvivalGame. Would you like to rebuild them now?" When I press yes it says starting build but then says "SurvivalGame could not be compiles. Try rebuilding from source manually."

    opened by Contestant0star 4
  • Master branch may not be compiled to work with 4.18.1

    Master branch may not be compiled to work with 4.18.1

    I was having difficulty getting the current master branch to work with 4.18.1.

    "Could not be compiled. Try rebuilding from source manually."

    The 4.17 branch works fine after copying it over and converting it to 4.18.1.

    opened by WorksWellWithOthers 4
  • Fix README formatting.

    Fix README formatting.

    Instead of list items, maybe subheaders would be better.

    Example:


    Section 1

    This section sets up the third person character movement with animation, object interaction, simple hunger system, all with networking support.

    Section 2

    Adds weapon support for the character, a flashlight, UT-style inventory with on-character visual representation of the carried items and deals with damage, death and respawns for players.


    Code:

    ## Section 1
    This section sets up the third person character movement with animation, object interaction, simple hunger system, all with networking support.
    
    ## Section 2
    Adds weapon support for the character, a flashlight, UT-style inventory with on-character visual representation of the carried items and deals with damage, death and respawns for players.
    
    opened by toqueteos 3
  • EpicSurvivalGameSeries requested changes on the UE4 Engine/Editor that may create a dependency on my project even if I giveup on EpicSurvivalGameSeries?

    EpicSurvivalGameSeries requested changes on the UE4 Engine/Editor that may create a dependency on my project even if I giveup on EpicSurvivalGameSeries?

    I mean: EpicSurvivalGameSeries recompiled UE4 engine and editor (https://github.com/tomlooman/EpicSurvivalGameSeries/issues/83) I saw many new files at UE engine/editor path too.

    I was creating a project based only on a compilation of vanilla UE4.26.2.

    Does EpicSurvivalGameSeries requests changes on UE engine/editor that depend on EpicSurvivalGameSeries?

    Or these requested changes are UE4 engine/editor options that were disabled?

    And If I open my project on this newly compiled UE4 engine/editor, will it always require these changes to be applied/compiled even if I dont use these new features on my project? like in case I giveup on using EpicSurvivalGameSeries before trying to use it on my project, or by removing it from my project if possible?

    These requested engine/editor changes are well supported or may be removed one day?

    Are these requested engine/editor changes present on UE5? to when I finally migrate to it.

    Obs.: My main target is android (32bits for now, until I move to UE5 one day).

    opened by t31k3 2
  • Updating README with new legacy wiki URL

    Updating README with new legacy wiki URL

    This solves the problem with the local README referencing the old community wiki. The legacy community wiki is now hosted on a different domain. Partially solves #64

    opened by caylorme 2
  • Update Wiki links to use legacy site

    Update Wiki links to use legacy site

    I've noticed the links to the wiki are all redirecting to the forum post about the community wiki being shut down. The old content is all hosted here: http://ue4community.wiki/legacy If you want, we could update the links to reference that URL instead, might want to update the links within the wiki as well (if contributions are still welcome there), and also update your web page.

    opened by caylorme 2
  • Try rebuilding from source manually.

    Try rebuilding from source manually.

    When opening the project in version 4.20.1 appears this message: SurvivalGame could not be compiled. Try rebuilding from source manually. What do I do? I'm new to this.

    opened by LucasApSantos 2
  • Unreal engine 4.20.2

    Unreal engine 4.20.2

    Hey Tom, ive bought and paid for your udemy course which I'm enjoying so far however I'm having a problem trying to open your survival series in 4.20.2.

    At first glance it says I need to rebuild UE4Editor-SurvivalGame.dll from source which I've spent a fare bit of time trying to get my head wrapped around what could be wrong, if you'd like to help me out I wouldn't mind posting the output and log file to with this post.
    Thanks in advance - Chris

    opened by chris3199 2
  • Default server map

    Default server map "/Game/Maps/CoopLandscape_Map", I cant find this map, missing?

    Start game whti map MainMenu_Entry, click solo play, ue throws error:TravelFailure: ClientTravelFailure, Reason for Failure: 'Failed to load package '/Game/Maps/CoopLandscape_Map''. Shutting down PIE.

    opened by StrayCamel247 0
  • error on 4.26.1

    error on 4.26.1 "Missing SurvivalGame Modules"

    problem show is "SurvivalGame could not be compiled. Try rebuilding from source manually" Then not work at all Because of

    	"Modules": [
    		{
    			"Name": "SurvivalGame",
    			"Type": "Runtime",
    			"LoadingPhase": "Default",
    			"AdditionalDependencies": [
    				"Engine",
    				"UMG"
    			]
    		}
    	`],`
    
    opened by aboosamah94 1
  • Can EpicSurvivalGameSeries be opened and compiled in Linux?

    Can EpicSurvivalGameSeries be opened and compiled in Linux?

    I tried to open and compile the EpicSurvivalGameSeries in ubuntu, here comes the error: error

    does this means EpicSurvivalGameSeries is not supported in linux?

    opened by hwwxj 2
  • Inconsistent player spawn behaviour

    Inconsistent player spawn behaviour

    When joining a session from the Main Menu, new players are spawned with the SpectatorPawn class. In contrast, when starting the networked session from one of the playable maps directly, this is not the case.

    I've dug almost all Classes (GameMode, GameState, SCoopGameMode, SGameState, the Level Blueprint, SPlayerStart and a bunch more...)

    I can't find the code that handles which Pawn is being spawned and possessed by newly joined players. Any pointers for me?

    opened by Zenahr 3
Multiplayer Voxel Survival in C99, includes a badly written implementation of LISP

Imagine a mix between Minecraft, Quake ]I[ and Emacs. Apart from that there is no clear plan for this game, just a bunch of ideas that hopefully will turn out to be fun. Some of these are stored here in this repo, others have been talked about on Twitch during dev streams.

Ben 72 Jun 20, 2022
Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World.

OpenXRay OpenXRay is an improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World. S

null 2k Jun 29, 2022
Design-agnostic node editor for scripting game’s flow in Unreal Engine

Flow plug-in for Unreal Engine provides a graph editor tailored for scripting flow of events in virtual worlds. It's based on a decade of experie

Moth Cocoon 424 Jun 24, 2022
Shows Unreal Engine logs in-game using ImGui

BYG Imgui Logger Displays Unreal's UE_LOG output in an ImGui window. Heavily based on the Console example from imgui_demo.cpp included with ImGui. Fea

Brace Yourself Games 37 May 31, 2022
Unreal Engine 4 vulnerability, that allows you to run shellcode directly into the target game process.

Unreal Engine 4 vulnerability, that allows you to run shellcode directly into the target game process, to load any DLL undetected from most game anti cheats, such as Easy Anti Cheat, BattleEye, Ricochet, Vanguard, ATG, and more.

Zebratic 31 Jun 15, 2022
CLUSEK-RT is a complex game engine written in C++ and the successor of the CLUSEK game engine

CLUSEK-RT is a complex game engine written in C++ and the successor of the CLUSEK game engine. This engine has been designed with a cross-platform design in mind. Thanks to Vulkan API it delivers a next-gen experience with ray tracing to both Linux and Windows platforms

Jakub Biliński 27 Jun 12, 2022
Ground Engine is an easy to use Game Engine for 3D Game Development written in C++

Ground Engine is an easy to use Game Engine Framework for 3D Game Development written in C++. It's currently under development and its creation will b

 PardCode 51 Jun 10, 2022
A third party program to change Minecraft RTX's settings externally, directly in-memory.

RenderBender A third party program to change Minecraft RTX's settings externally, directly in-memory. Get the latest release here. About RenderBender

Jesse Daems 9 May 14, 2022
Full source code for WarriOrb, a Dark-Souls like action platformer - using Unreal Engine 4

WarriOrb source code WarriOrb is a hardcore action platformer where you play as a demon who is trapped in an unlikely body. The game mixes the difficu

Not Yet 213 Jun 23, 2022
Niagara UI Renderer | Free Plugin for Unreal Engine 4

Niagara UI Renderer | Free Plugin for Unreal Engine 4 Niagara UI Plugin adds Niagara Particle System Widget that allows you to render Niagara particle

null 122 Jun 5, 2022
RenderStream plugin for Unreal Engine

This project relies on http://disguise.one software to function. For the plugin setup process - please see https://help.disguise.one/Content/Configuri

disguise 31 Jun 9, 2022
Simple CSV localization system for Unreal Engine 4

BYG Localization We wanted to support fan localization for Industries of Titan and found that Unreal's built-in localization system was not exactly wh

Brace Yourself Games 50 Jun 23, 2022
Edycja PianoFall zrobiona na Unreal Engine

PianoFall - Unreal Engine Edition Edycja PianoFall zrobiona na Unreal Engine (mój pierwszy projekt w UE) Obsługa Po uruchomieniu programu i wciśnięciu

Nadwey 4 Jun 17, 2021
Lambda support for Unreal Engine dynamic delegates

DynamicLambda Lambda support for Unreal Engine dynamic delegates This is experimental feature. Now only parametless lambdas are supported To see more

Andrew Derkach 27 Jun 28, 2022
Dialogue scripting language for Unreal Engine

Supertalk Welcome to Supertalk! This is a simple dialogue scripting language for Unreal Engine created due to frustration with visual dialogue tree wo

Sam Bloomberg 25 May 27, 2022
An Unreal Engine 4 Dungeon Generator

DungeonGenerator A (hopefully) handy Unreal Engine 4 Dungeon Generator Read the full docs here: https://github.com/orfeasel/DungeonGenerator/blob/main

Orfeas Eleftheriou 52 Jun 9, 2022
Procedural Mesh Modeling Toolkit for Unreal Engine Artists

OpenLand Mesh Procedural Mesh Modeling Toolkit for Unreal Engine Artists. Installation Get it via the marketplace ??️ For non-commercial projects, you

GDi4K 22 Apr 22, 2022
Creating Unreal Engine infinite landscapes/oceans using the editor shader graph and rendering them using Geometry ClipMap. It also allows to spawn mesh on landscape surface. UE5 required

Procedural Landscapes and Oceans in Unreal Engine 5 using Editor Shader Graph Latest version of this project is available as a plugin for UE 4.26+ on

Maxime Dupart 10 Oct 4, 2021
Unreal Engine Plugin to wrap Nuitrack SDK ( skeleton tracking solution by 3DiVi )

Nuitrack for Unreal Engine Unreal Engine plugin to bridge Nuitrack. Nuitrack is a middleware to provide 3d skeleton tracking solution using a depth se

Ayumu Nagamatsu 10 Jun 14, 2022