├── .gitignore ├── BuildingEscape ├── BuildingEscape.sln ├── BuildingEscape.uproject ├── Config │ ├── DefaultEditor.ini │ ├── DefaultEngine.ini │ ├── DefaultGame.ini │ └── DefaultInput.ini ├── Content │ ├── Audio │ │ └── door_lock.uasset │ ├── BuildingEscapeGameMode_BP.uasset │ ├── DefaultPawn_BP.uasset │ ├── My_Pulse.uasset │ ├── NewMap.umap │ ├── Openable_Door_BP.uasset │ └── StarterContent │ │ ├── Architecture │ │ ├── Floor_400x400.uasset │ │ ├── Pillar_50x500.uasset │ │ ├── SM_AssetPlatform.uasset │ │ ├── Wall_400x200.uasset │ │ ├── Wall_400x300.uasset │ │ ├── Wall_400x400.uasset │ │ ├── Wall_500x500.uasset │ │ ├── Wall_Door_400x300.uasset │ │ ├── Wall_Door_400x400.uasset │ │ ├── Wall_Window_400x300.uasset │ │ └── Wall_Window_400x400.uasset │ │ ├── Audio │ │ ├── Collapse01.uasset │ │ ├── Collapse02.uasset │ │ ├── Collapse_Cue.uasset │ │ ├── Explosion01.uasset │ │ ├── Explosion02.uasset │ │ ├── Explosion_Cue.uasset │ │ ├── Fire01.uasset │ │ ├── Fire01_Cue.uasset │ │ ├── Fire_Sparks01.uasset │ │ ├── Fire_Sparks01_Cue.uasset │ │ ├── Light01.uasset │ │ ├── Light01_Cue.uasset │ │ ├── Light02.uasset │ │ ├── Light02_Cue.uasset │ │ ├── Smoke01.uasset │ │ ├── Smoke01_Cue.uasset │ │ ├── Starter_Background_Cue.uasset │ │ ├── Starter_Birds01.uasset │ │ ├── Starter_Music01.uasset │ │ ├── Starter_Music_Cue.uasset │ │ ├── Starter_Wind05.uasset │ │ ├── Starter_Wind06.uasset │ │ ├── Steam01.uasset │ │ └── Steam01_Cue.uasset │ │ ├── Blueprints │ │ ├── Assets │ │ │ ├── FogBrightnessLUT.uasset │ │ │ ├── M_LightStage_Arrows.uasset │ │ │ ├── M_LightStage_Skybox_Black.uasset │ │ │ ├── M_LightStage_Skybox_HDRI.uasset │ │ │ ├── M_LightStage_Skybox_Master.uasset │ │ │ ├── SM_Arrows.uasset │ │ │ ├── Skybox.uasset │ │ │ └── SunlightColorLUT.uasset │ │ ├── BP_LightStudio.uasset │ │ ├── Blueprint_CeilingLight.uasset │ │ ├── Blueprint_Effect_Explosion.uasset │ │ ├── Blueprint_Effect_Fire.uasset │ │ ├── Blueprint_Effect_Smoke.uasset │ │ ├── Blueprint_Effect_Sparks.uasset │ │ ├── Blueprint_Effect_Steam.uasset │ │ └── Blueprint_WallSconce.uasset │ │ ├── Maps │ │ ├── Advanced_Lighting.umap │ │ ├── Minimal_Default.umap │ │ └── StarterMap.umap │ │ ├── Materials │ │ ├── M_AssetPlatform.uasset │ │ ├── M_Basic_Floor.uasset │ │ ├── M_Basic_Wall.uasset │ │ ├── M_Brick_Clay_Beveled.uasset │ │ ├── M_Brick_Clay_New.uasset │ │ ├── M_Brick_Clay_Old.uasset │ │ ├── M_Brick_Cut_Stone.uasset │ │ ├── M_Brick_Hewn_Stone.uasset │ │ ├── M_Ceramic_Tile_Checker.uasset │ │ ├── M_CobbleStone_Pebble.uasset │ │ ├── M_CobbleStone_Rough.uasset │ │ ├── M_CobbleStone_Smooth.uasset │ │ ├── M_ColorGrid_LowSpec.uasset │ │ ├── M_Concrete_Grime.uasset │ │ ├── M_Concrete_Panels.uasset │ │ ├── M_Concrete_Poured.uasset │ │ ├── M_Concrete_Tiles.uasset │ │ ├── M_Glass.uasset │ │ ├── M_Ground_Grass.uasset │ │ ├── M_Ground_Gravel.uasset │ │ ├── M_Ground_Moss.uasset │ │ ├── M_Metal_Brushed_Nickel.uasset │ │ ├── M_Metal_Burnished_Steel.uasset │ │ ├── M_Metal_Chrome.uasset │ │ ├── M_Metal_Copper.uasset │ │ ├── M_Metal_Gold.uasset │ │ ├── M_Metal_Rust.uasset │ │ ├── M_Metal_Steel.uasset │ │ ├── M_Rock_Basalt.uasset │ │ ├── M_Rock_Marble_Polished.uasset │ │ ├── M_Rock_Sandstone.uasset │ │ ├── M_Rock_Slate.uasset │ │ ├── M_Tech_Checker_Dot.uasset │ │ ├── M_Tech_Hex_Tile.uasset │ │ ├── M_Tech_Hex_Tile_Pulse.uasset │ │ ├── M_Tech_Panel.uasset │ │ ├── M_Water_Lake.uasset │ │ ├── M_Water_Ocean.uasset │ │ ├── M_Wood_Floor_Walnut_Polished.uasset │ │ ├── M_Wood_Floor_Walnut_Worn.uasset │ │ ├── M_Wood_Oak.uasset │ │ ├── M_Wood_Pine.uasset │ │ ├── M_Wood_Walnut.uasset │ │ └── My_Pulse.uasset │ │ ├── Particles │ │ ├── Materials │ │ │ ├── M_Burst.uasset │ │ │ ├── M_Dust_Particle.uasset │ │ │ ├── M_Fire_SubUV.uasset │ │ │ ├── M_Heat_Distortion.uasset │ │ │ ├── M_Radial_Gradient.uasset │ │ │ ├── M_Spark.uasset │ │ │ ├── M_explosion_subUV.uasset │ │ │ ├── M_radial_ramp.uasset │ │ │ ├── M_smoke_subUV.uasset │ │ │ └── m_flare_01.uasset │ │ ├── P_Ambient_Dust.uasset │ │ ├── P_Explosion.uasset │ │ ├── P_Fire.uasset │ │ ├── P_Smoke.uasset │ │ ├── P_Sparks.uasset │ │ └── P_Steam_Lit.uasset │ │ ├── Props │ │ ├── MaterialSphere.uasset │ │ ├── Materials │ │ │ ├── M_Bush.uasset │ │ │ ├── M_Chair.uasset │ │ │ ├── M_Door.uasset │ │ │ ├── M_Frame.uasset │ │ │ ├── M_Lamp.uasset │ │ │ ├── M_MaterialSphere.uasset │ │ │ ├── M_MaterialSphere_Plain.uasset │ │ │ ├── M_Rock.uasset │ │ │ ├── M_Shelf.uasset │ │ │ ├── M_Statue.uasset │ │ │ ├── M_StatueGlass.uasset │ │ │ └── M_TableRound.uasset │ │ ├── SM_Bush.uasset │ │ ├── SM_Chair.uasset │ │ ├── SM_CornerFrame.uasset │ │ ├── SM_Couch.uasset │ │ ├── SM_Door.uasset │ │ ├── SM_DoorFrame.uasset │ │ ├── SM_GlassWindow.uasset │ │ ├── SM_Lamp_Ceiling.uasset │ │ ├── SM_Lamp_Wall.uasset │ │ ├── SM_MatPreviewMesh_02.uasset │ │ ├── SM_PillarFrame.uasset │ │ ├── SM_PillarFrame300.uasset │ │ ├── SM_Rock.uasset │ │ ├── SM_Shelf.uasset │ │ ├── SM_Stairs.uasset │ │ ├── SM_Statue.uasset │ │ ├── SM_TableRound.uasset │ │ └── SM_WindowFrame.uasset │ │ └── Shapes │ │ ├── Shape_Cone.uasset │ │ ├── Shape_Cube.uasset │ │ ├── Shape_Cylinder.uasset │ │ ├── Shape_NarrowCapsule.uasset │ │ ├── Shape_Pipe.uasset │ │ ├── Shape_Pipe_180.uasset │ │ ├── Shape_Pipe_90.uasset │ │ ├── Shape_Plane.uasset │ │ ├── Shape_QuadPyramid.uasset │ │ ├── Shape_Sphere.uasset │ │ ├── Shape_Torus.uasset │ │ ├── Shape_TriPyramid.uasset │ │ ├── Shape_Trim.uasset │ │ ├── Shape_Trim_90_In.uasset │ │ ├── Shape_Trim_90_Out.uasset │ │ ├── Shape_Tube.uasset │ │ ├── Shape_Wedge_A.uasset │ │ ├── Shape_Wedge_B.uasset │ │ └── Shape_WideCapsule.uasset └── Source │ ├── BuildingEscape.Target.cs │ ├── BuildingEscape │ ├── BuildingEscape.Build.cs │ ├── BuildingEscape.cpp │ ├── BuildingEscape.h │ ├── BuildingEscapeGameMode.cpp │ ├── BuildingEscapeGameMode.h │ ├── Grabber.cpp │ ├── Grabber.h │ ├── OpenDoor.cpp │ ├── OpenDoor.h │ ├── PositionReport.cpp │ └── PositionReport.h │ └── BuildingEscapeEditor.Target.cs ├── LICENSE.md └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | ########################## 2 | # Unreal Generated Files # 3 | ########################## 4 | */Build 5 | */Binaries 6 | */DerivedDataCache 7 | */Intermediate 8 | */Saved 9 | BuildingEscape/Content/StarterContent/Textures 10 | BuildingEscape/Content/StarterContent/HDRI 11 | 12 | ###################### 13 | # VS Generated Files # 14 | ###################### 15 | *.VC.db 16 | *.suo 17 | *.VC.opendb 18 | *.sln 19 | -------------------------------------------------------------------------------- /BuildingEscape/BuildingEscape.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.22310.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Engine", "Engine", "{C79F3E12-B35E-420A-8A77-6DCE2125E277}" 7 | EndProject 8 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Games", "Games", "{D2E13459-740A-42E7-B45C-A223964C8F4A}" 9 | EndProject 10 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UE4", "Intermediate\ProjectFiles\UE4.vcxproj", "{BB4C3EEA-2CF3-4926-B86D-D658BEC6437E}" 11 | EndProject 12 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BuildingEscape", "Intermediate\ProjectFiles\BuildingEscape.vcxproj", "{8E308ACE-C93E-4BF1-B770-4542B7129E2B}" 13 | EndProject 14 | Global 15 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 16 | DebugGame Editor|HTML5 = DebugGame Editor|HTML5 17 | DebugGame Editor|Win32 = DebugGame Editor|Win32 18 | DebugGame Editor|Win64 = DebugGame Editor|Win64 19 | DebugGame|HTML5 = DebugGame|HTML5 20 | DebugGame|Win32 = DebugGame|Win32 21 | DebugGame|Win64 = DebugGame|Win64 22 | Development Editor|HTML5 = Development Editor|HTML5 23 | Development Editor|Win32 = Development Editor|Win32 24 | Development Editor|Win64 = Development Editor|Win64 25 | Development|HTML5 = Development|HTML5 26 | Development|Win32 = Development|Win32 27 | Development|Win64 = Development|Win64 28 | Shipping|HTML5 = Shipping|HTML5 29 | Shipping|Win32 = Shipping|Win32 30 | Shipping|Win64 = Shipping|Win64 31 | EndGlobalSection 32 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 33 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.DebugGame Editor|HTML5.ActiveCfg = HTML5_DebugGame_Editor|Win32 34 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.DebugGame Editor|Win32.ActiveCfg = DebugGame_Editor|Win32 35 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.DebugGame Editor|Win64.ActiveCfg = DebugGame_Editor|x64 36 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.DebugGame Editor|Win64.Build.0 = DebugGame_Editor|x64 37 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.DebugGame|HTML5.ActiveCfg = HTML5_DebugGame_Game|Win32 38 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.DebugGame|HTML5.Build.0 = HTML5_DebugGame_Game|Win32 39 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.DebugGame|Win32.ActiveCfg = DebugGame_Game|Win32 40 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.DebugGame|Win32.Build.0 = DebugGame_Game|Win32 41 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.DebugGame|Win64.ActiveCfg = DebugGame_Game|x64 42 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.DebugGame|Win64.Build.0 = DebugGame_Game|x64 43 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.Development Editor|HTML5.ActiveCfg = HTML5_Development_Editor|Win32 44 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.Development Editor|Win32.ActiveCfg = Development_Editor|Win32 45 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.Development Editor|Win64.ActiveCfg = Development_Editor|x64 46 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.Development Editor|Win64.Build.0 = Development_Editor|x64 47 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.Development|HTML5.ActiveCfg = HTML5_Development_Game|Win32 48 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.Development|HTML5.Build.0 = HTML5_Development_Game|Win32 49 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.Development|Win32.ActiveCfg = Development_Game|Win32 50 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.Development|Win32.Build.0 = Development_Game|Win32 51 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.Development|Win64.ActiveCfg = Development_Game|x64 52 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.Development|Win64.Build.0 = Development_Game|x64 53 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.Shipping|HTML5.ActiveCfg = HTML5_Shipping_Game|Win32 54 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.Shipping|HTML5.Build.0 = HTML5_Shipping_Game|Win32 55 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.Shipping|Win32.ActiveCfg = Shipping_Game|Win32 56 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.Shipping|Win32.Build.0 = Shipping_Game|Win32 57 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.Shipping|Win64.ActiveCfg = Shipping_Game|x64 58 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B}.Shipping|Win64.Build.0 = Shipping_Game|x64 59 | EndGlobalSection 60 | GlobalSection(SolutionProperties) = preSolution 61 | HideSolutionNode = FALSE 62 | EndGlobalSection 63 | GlobalSection(NestedProjects) = preSolution 64 | {BB4C3EEA-2CF3-4926-B86D-D658BEC6437E} = {C79F3E12-B35E-420A-8A77-6DCE2125E277} 65 | {8E308ACE-C93E-4BF1-B770-4542B7129E2B} = {D2E13459-740A-42E7-B45C-A223964C8F4A} 66 | EndGlobalSection 67 | EndGlobal 68 | -------------------------------------------------------------------------------- /BuildingEscape/BuildingEscape.uproject: -------------------------------------------------------------------------------- 1 | { 2 | "FileVersion": 3, 3 | "EngineAssociation": "4.18", 4 | "Category": "", 5 | "Description": "", 6 | "Modules": [ 7 | { 8 | "Name": "BuildingEscape", 9 | "Type": "Runtime", 10 | "LoadingPhase": "Default", 11 | "AdditionalDependencies": [ 12 | "Engine" 13 | ] 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /BuildingEscape/Config/DefaultEditor.ini: -------------------------------------------------------------------------------- 1 | [EditoronlyBP] 2 | bAllowClassAndBlueprintPinMatching=true 3 | bReplaceBlueprintWithClass=true 4 | bDontLoadBlueprintOutsideEditor=true 5 | bBlueprintIsNotBlueprintType=true 6 | -------------------------------------------------------------------------------- /BuildingEscape/Config/DefaultEngine.ini: -------------------------------------------------------------------------------- 1 | [URL] 2 | [/Script/EngineSettings.GameMapsSettings] 3 | EditorStartupMap=/Game/NewMap 4 | GameDefaultMap=/Game/NewMap 5 | GlobalDefaultGameMode=/Game/BuildingEscapeGameMode_BP.BuildingEscapeGameMode_BP_C 6 | 7 | [/Script/Engine.UserInterfaceSettings] 8 | RenderFocusRule=NavigationOnly 9 | DefaultCursor=None 10 | TextEditBeamCursor=None 11 | CrosshairsCursor=None 12 | GrabHandCursor=None 13 | GrabHandClosedCursor=None 14 | SlashedCircleCursor=None 15 | ApplicationScale=1.000000 16 | UIScaleRule=ShortestSide 17 | CustomScalingRuleClass=None 18 | UIScaleCurve=(EditorCurveData=(PreInfinityExtrap=RCCE_Constant,PostInfinityExtrap=RCCE_Constant,Keys=((Time=480.000000,Value=0.444000),(Time=720.000000,Value=0.666000),(Time=1080.000000,Value=1.000000),(Time=8640.000000,Value=8.000000)),DefaultValue=340282346638528859811704183484516925440.000000),ExternalCurve=None) 19 | 20 | [/Script/Engine.RendererSettings] 21 | r.MobileHDR=True 22 | r.MobileNumDynamicPointLights=4 23 | r.MobileDynamicPointLightsUseStaticBranch=True 24 | r.AllowOcclusionQueries=True 25 | r.MinScreenRadiusForLights=0.030000 26 | r.MinScreenRadiusForDepthPrepass=0.030000 27 | r.PrecomputedVisibilityWarning=False 28 | r.TextureStreaming=True 29 | Compat.UseDXT5NormalMaps=False 30 | r.AllowStaticLighting=True 31 | r.NormalMapsForStaticLighting=False 32 | r.GenerateMeshDistanceFields=False 33 | r.GenerateLandscapeGIData=True 34 | r.TessellationAdaptivePixelsPerTriangle=48.000000 35 | r.SeparateTranslucency=True 36 | r.TranslucentSortPolicy=0 37 | TranslucentSortAxis=(X=0.000000,Y=-1.000000,Z=0.000000) 38 | r.CustomDepth=1 39 | r.DefaultFeature.Bloom=True 40 | r.DefaultFeature.AmbientOcclusion=True 41 | r.DefaultFeature.AmbientOcclusionStaticFraction=True 42 | r.DefaultFeature.AutoExposure=True 43 | r.DefaultFeature.MotionBlur=True 44 | r.DefaultFeature.LensFlare=True 45 | r.DefaultFeature.AntiAliasing=2 46 | r.EarlyZPass=3 47 | r.EarlyZPassMovable=False 48 | r.DBuffer=False 49 | r.ClearSceneMethod=1 50 | r.BasePassOutputsVelocity=False 51 | r.WireframeCullThreshold=5.000000 52 | UIScaleRule=ShortestSide 53 | UIScaleCurve=(EditorCurveData=(PreInfinityExtrap=RCCE_Constant,PostInfinityExtrap=RCCE_Constant,Keys=,DefaultValue=340282346638528859811704183484516925440.000000),ExternalCurve=None) 54 | 55 | [/Script/HardwareTargeting.HardwareTargetingSettings] 56 | TargetedHardwareClass=Desktop 57 | AppliedTargetedHardwareClass=Desktop 58 | DefaultGraphicsPerformance=Maximum 59 | AppliedDefaultGraphicsPerformance=Maximum 60 | -------------------------------------------------------------------------------- /BuildingEscape/Config/DefaultGame.ini: -------------------------------------------------------------------------------- 1 | [/Script/EngineSettings.GeneralProjectSettings] 2 | ProjectID=879C7C064063F6C32B66F5A72378BADA 3 | CompanyName=EmbraceIT Ltd 4 | CompanyDistinguishedName=EmbraceIT 5 | CopyrightNotice=Copyright Ben Tristem 2016. 6 | 7 | [StartupActions] 8 | bAddPacks=True 9 | InsertPack=(PackSource="StarterContent.upack,PackName="StarterContent") 10 | -------------------------------------------------------------------------------- /BuildingEscape/Config/DefaultInput.ini: -------------------------------------------------------------------------------- 1 | 2 | [/Script/Engine.InputSettings] 3 | -AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) 4 | -AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) 5 | -AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) 6 | -AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) 7 | -AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f)) 8 | -AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f)) 9 | -AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 10 | -AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 11 | -AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 12 | -AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 13 | -AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False)) 14 | -AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False)) 15 | +AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 16 | +AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 17 | +AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 18 | +AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) 19 | +AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False)) 20 | +AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False)) 21 | bAltEnterTogglesFullscreen=True 22 | bUseMouseForTouch=False 23 | bEnableMouseSmoothing=True 24 | bEnableFOVScaling=True 25 | FOVScale=0.011110 26 | DoubleClickTime=0.200000 27 | -ActionMappings=(ActionName="Grab",Key=LeftShift,bShift=False,bCtrl=False,bAlt=False,bCmd=False) 28 | -ActionMappings=(ActionName="Grab",Key=None,bShift=False,bCtrl=False,bAlt=False,bCmd=False) 29 | +ActionMappings=(ActionName="Grab",Key=LeftShift,bShift=False,bCtrl=False,bAlt=False,bCmd=False) 30 | +ActionMappings=(ActionName="Grab",Key=RightMouseButton,bShift=False,bCtrl=False,bAlt=False,bCmd=False) 31 | bAlwaysShowTouchInterface=False 32 | bShowConsoleOnFourFingerTap=True 33 | DefaultTouchInterface=/Engine/MobileResources/HUD/DefaultVirtualJoysticks.DefaultVirtualJoysticks 34 | ConsoleKey=None 35 | -ConsoleKeys=Tilde 36 | +ConsoleKeys=Tilde 37 | 38 | 39 | -------------------------------------------------------------------------------- /BuildingEscape/Content/Audio/door_lock.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/Audio/door_lock.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/BuildingEscapeGameMode_BP.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/BuildingEscapeGameMode_BP.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/DefaultPawn_BP.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/DefaultPawn_BP.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/My_Pulse.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/My_Pulse.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/NewMap.umap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/NewMap.umap -------------------------------------------------------------------------------- /BuildingEscape/Content/Openable_Door_BP.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/Openable_Door_BP.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Architecture/Floor_400x400.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Architecture/Floor_400x400.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Architecture/Pillar_50x500.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Architecture/Pillar_50x500.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Architecture/SM_AssetPlatform.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Architecture/SM_AssetPlatform.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Architecture/Wall_400x200.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Architecture/Wall_400x200.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Architecture/Wall_400x300.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Architecture/Wall_400x300.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Architecture/Wall_400x400.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Architecture/Wall_400x400.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Architecture/Wall_500x500.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Architecture/Wall_500x500.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Architecture/Wall_Door_400x300.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Architecture/Wall_Door_400x300.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Architecture/Wall_Door_400x400.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Architecture/Wall_Door_400x400.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Architecture/Wall_Window_400x300.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Architecture/Wall_Window_400x300.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Architecture/Wall_Window_400x400.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Architecture/Wall_Window_400x400.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Collapse01.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Collapse01.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Collapse02.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Collapse02.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Collapse_Cue.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Collapse_Cue.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Explosion01.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Explosion01.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Explosion02.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Explosion02.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Explosion_Cue.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Explosion_Cue.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Fire01.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Fire01.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Fire01_Cue.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Fire01_Cue.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Fire_Sparks01.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Fire_Sparks01.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Fire_Sparks01_Cue.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Fire_Sparks01_Cue.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Light01.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Light01.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Light01_Cue.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Light01_Cue.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Light02.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Light02.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Light02_Cue.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Light02_Cue.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Smoke01.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Smoke01.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Smoke01_Cue.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Smoke01_Cue.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Starter_Background_Cue.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Starter_Background_Cue.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Starter_Birds01.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Starter_Birds01.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Starter_Music01.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Starter_Music01.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Starter_Music_Cue.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Starter_Music_Cue.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Starter_Wind05.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Starter_Wind05.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Starter_Wind06.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Starter_Wind06.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Steam01.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Steam01.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Audio/Steam01_Cue.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Audio/Steam01_Cue.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Blueprints/Assets/FogBrightnessLUT.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Blueprints/Assets/FogBrightnessLUT.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Blueprints/Assets/M_LightStage_Arrows.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Blueprints/Assets/M_LightStage_Arrows.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_Black.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_Black.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_HDRI.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_HDRI.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_Master.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_Master.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Blueprints/Assets/SM_Arrows.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Blueprints/Assets/SM_Arrows.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Blueprints/Assets/Skybox.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Blueprints/Assets/Skybox.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Blueprints/Assets/SunlightColorLUT.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Blueprints/Assets/SunlightColorLUT.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Blueprints/BP_LightStudio.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Blueprints/BP_LightStudio.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Blueprints/Blueprint_CeilingLight.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Blueprints/Blueprint_CeilingLight.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Blueprints/Blueprint_Effect_Explosion.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Blueprints/Blueprint_Effect_Explosion.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Blueprints/Blueprint_Effect_Fire.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Blueprints/Blueprint_Effect_Fire.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Blueprints/Blueprint_Effect_Smoke.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Blueprints/Blueprint_Effect_Smoke.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Blueprints/Blueprint_Effect_Sparks.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Blueprints/Blueprint_Effect_Sparks.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Blueprints/Blueprint_Effect_Steam.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Blueprints/Blueprint_Effect_Steam.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Blueprints/Blueprint_WallSconce.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Blueprints/Blueprint_WallSconce.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Maps/Advanced_Lighting.umap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Maps/Advanced_Lighting.umap -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Maps/Minimal_Default.umap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Maps/Minimal_Default.umap -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Maps/StarterMap.umap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Maps/StarterMap.umap -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_AssetPlatform.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_AssetPlatform.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Basic_Floor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Basic_Floor.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Basic_Wall.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Basic_Wall.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Brick_Clay_Beveled.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Brick_Clay_Beveled.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Brick_Clay_New.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Brick_Clay_New.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Brick_Clay_Old.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Brick_Clay_Old.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Brick_Cut_Stone.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Brick_Cut_Stone.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Brick_Hewn_Stone.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Brick_Hewn_Stone.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Ceramic_Tile_Checker.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Ceramic_Tile_Checker.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_CobbleStone_Pebble.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_CobbleStone_Pebble.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_CobbleStone_Rough.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_CobbleStone_Rough.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_CobbleStone_Smooth.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_CobbleStone_Smooth.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_ColorGrid_LowSpec.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_ColorGrid_LowSpec.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Concrete_Grime.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Concrete_Grime.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Concrete_Panels.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Concrete_Panels.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Concrete_Poured.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Concrete_Poured.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Concrete_Tiles.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Concrete_Tiles.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Glass.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Glass.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Ground_Grass.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Ground_Grass.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Ground_Gravel.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Ground_Gravel.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Ground_Moss.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Ground_Moss.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Metal_Brushed_Nickel.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Metal_Brushed_Nickel.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Metal_Burnished_Steel.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Metal_Burnished_Steel.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Metal_Chrome.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Metal_Chrome.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Metal_Copper.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Metal_Copper.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Metal_Gold.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Metal_Gold.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Metal_Rust.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Metal_Rust.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Metal_Steel.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Metal_Steel.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Rock_Basalt.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Rock_Basalt.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Rock_Marble_Polished.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Rock_Marble_Polished.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Rock_Sandstone.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Rock_Sandstone.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Rock_Slate.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Rock_Slate.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Tech_Checker_Dot.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Tech_Checker_Dot.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Tech_Hex_Tile.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Tech_Hex_Tile.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Tech_Hex_Tile_Pulse.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Tech_Hex_Tile_Pulse.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Tech_Panel.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Tech_Panel.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Water_Lake.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Water_Lake.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Water_Ocean.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Water_Ocean.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Wood_Floor_Walnut_Polished.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Wood_Floor_Walnut_Polished.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Wood_Floor_Walnut_Worn.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Wood_Floor_Walnut_Worn.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Wood_Oak.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Wood_Oak.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Wood_Pine.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Wood_Pine.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/M_Wood_Walnut.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/M_Wood_Walnut.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Materials/My_Pulse.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Materials/My_Pulse.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Particles/Materials/M_Burst.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Particles/Materials/M_Burst.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Particles/Materials/M_Dust_Particle.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Particles/Materials/M_Dust_Particle.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Particles/Materials/M_Fire_SubUV.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Particles/Materials/M_Fire_SubUV.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Particles/Materials/M_Heat_Distortion.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Particles/Materials/M_Heat_Distortion.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Particles/Materials/M_Radial_Gradient.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Particles/Materials/M_Radial_Gradient.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Particles/Materials/M_Spark.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Particles/Materials/M_Spark.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Particles/Materials/M_explosion_subUV.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Particles/Materials/M_explosion_subUV.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Particles/Materials/M_radial_ramp.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Particles/Materials/M_radial_ramp.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Particles/Materials/M_smoke_subUV.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Particles/Materials/M_smoke_subUV.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Particles/Materials/m_flare_01.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Particles/Materials/m_flare_01.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Particles/P_Ambient_Dust.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Particles/P_Ambient_Dust.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Particles/P_Explosion.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Particles/P_Explosion.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Particles/P_Fire.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Particles/P_Fire.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Particles/P_Smoke.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Particles/P_Smoke.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Particles/P_Sparks.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Particles/P_Sparks.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Particles/P_Steam_Lit.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Particles/P_Steam_Lit.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/MaterialSphere.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/MaterialSphere.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/Materials/M_Bush.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/Materials/M_Bush.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/Materials/M_Chair.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/Materials/M_Chair.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/Materials/M_Door.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/Materials/M_Door.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/Materials/M_Frame.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/Materials/M_Frame.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/Materials/M_Lamp.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/Materials/M_Lamp.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/Materials/M_MaterialSphere.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/Materials/M_MaterialSphere.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/Materials/M_MaterialSphere_Plain.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/Materials/M_MaterialSphere_Plain.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/Materials/M_Rock.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/Materials/M_Rock.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/Materials/M_Shelf.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/Materials/M_Shelf.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/Materials/M_Statue.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/Materials/M_Statue.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/Materials/M_StatueGlass.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/Materials/M_StatueGlass.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/Materials/M_TableRound.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/Materials/M_TableRound.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/SM_Bush.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/SM_Bush.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/SM_Chair.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/SM_Chair.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/SM_CornerFrame.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/SM_CornerFrame.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/SM_Couch.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/SM_Couch.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/SM_Door.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/SM_Door.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/SM_DoorFrame.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/SM_DoorFrame.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/SM_GlassWindow.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/SM_GlassWindow.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/SM_Lamp_Ceiling.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/SM_Lamp_Ceiling.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/SM_Lamp_Wall.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/SM_Lamp_Wall.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/SM_MatPreviewMesh_02.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/SM_MatPreviewMesh_02.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/SM_PillarFrame.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/SM_PillarFrame.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/SM_PillarFrame300.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/SM_PillarFrame300.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/SM_Rock.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/SM_Rock.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/SM_Shelf.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/SM_Shelf.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/SM_Stairs.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/SM_Stairs.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/SM_Statue.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/SM_Statue.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/SM_TableRound.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/SM_TableRound.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Props/SM_WindowFrame.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Props/SM_WindowFrame.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Shapes/Shape_Cone.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Shapes/Shape_Cone.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Shapes/Shape_Cube.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Shapes/Shape_Cube.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Shapes/Shape_Cylinder.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Shapes/Shape_Cylinder.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Shapes/Shape_NarrowCapsule.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Shapes/Shape_NarrowCapsule.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Shapes/Shape_Pipe.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Shapes/Shape_Pipe.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Shapes/Shape_Pipe_180.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Shapes/Shape_Pipe_180.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Shapes/Shape_Pipe_90.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Shapes/Shape_Pipe_90.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Shapes/Shape_Plane.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Shapes/Shape_Plane.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Shapes/Shape_QuadPyramid.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Shapes/Shape_QuadPyramid.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Shapes/Shape_Sphere.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Shapes/Shape_Sphere.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Shapes/Shape_Torus.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Shapes/Shape_Torus.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Shapes/Shape_TriPyramid.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Shapes/Shape_TriPyramid.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Shapes/Shape_Trim.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Shapes/Shape_Trim.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Shapes/Shape_Trim_90_In.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Shapes/Shape_Trim_90_In.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Shapes/Shape_Trim_90_Out.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Shapes/Shape_Trim_90_Out.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Shapes/Shape_Tube.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Shapes/Shape_Tube.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Shapes/Shape_Wedge_A.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Shapes/Shape_Wedge_A.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Shapes/Shape_Wedge_B.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Shapes/Shape_Wedge_B.uasset -------------------------------------------------------------------------------- /BuildingEscape/Content/StarterContent/Shapes/Shape_WideCapsule.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnrealCourse/03_BuildingEscape/c346e42ed2ef62cb46d9f6c5dc374ae93c13a50b/BuildingEscape/Content/StarterContent/Shapes/Shape_WideCapsule.uasset -------------------------------------------------------------------------------- /BuildingEscape/Source/BuildingEscape.Target.cs: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | using UnrealBuildTool; 4 | using System.Collections.Generic; 5 | 6 | public class BuildingEscapeTarget : TargetRules 7 | { 8 | public BuildingEscapeTarget(TargetInfo Target) : base(Target) 9 | { 10 | Type = TargetType.Game; 11 | ExtraModuleNames.Add("BuildingEscape"); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /BuildingEscape/Source/BuildingEscape/BuildingEscape.Build.cs: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | using UnrealBuildTool; 4 | 5 | public class BuildingEscape : ModuleRules 6 | { 7 | public BuildingEscape(ReadOnlyTargetRules Target) : base (Target) 8 | { 9 | PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" }); 10 | 11 | PrivateDependencyModuleNames.AddRange(new string[] { }); 12 | 13 | // Uncomment if you are using Slate UI 14 | // PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" }); 15 | 16 | // Uncomment if you are using online features 17 | // PrivateDependencyModuleNames.Add("OnlineSubsystem"); 18 | // if ((Target.Platform == UnrealTargetPlatform.Win32) || (Target.Platform == UnrealTargetPlatform.Win64)) 19 | // { 20 | // if (UEBuildConfiguration.bCompileSteamOSS == true) 21 | // { 22 | // DynamicallyLoadedModuleNames.Add("OnlineSubsystemSteam"); 23 | // } 24 | // } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /BuildingEscape/Source/BuildingEscape/BuildingEscape.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "BuildingEscape.h" 4 | 5 | IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, BuildingEscape, "BuildingEscape" ); 6 | -------------------------------------------------------------------------------- /BuildingEscape/Source/BuildingEscape/BuildingEscape.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "Engine.h" 6 | 7 | -------------------------------------------------------------------------------- /BuildingEscape/Source/BuildingEscape/BuildingEscapeGameMode.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "BuildingEscape.h" 4 | #include "BuildingEscapeGameMode.h" 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /BuildingEscape/Source/BuildingEscape/BuildingEscapeGameMode.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "GameFramework/GameMode.h" 6 | #include "BuildingEscapeGameMode.generated.h" 7 | 8 | /** 9 | * 10 | */ 11 | UCLASS() 12 | class BUILDINGESCAPE_API ABuildingEscapeGameMode : public AGameMode 13 | { 14 | GENERATED_BODY() 15 | 16 | 17 | 18 | 19 | }; 20 | -------------------------------------------------------------------------------- /BuildingEscape/Source/BuildingEscape/Grabber.cpp: -------------------------------------------------------------------------------- 1 | // Copyright Ben Tristem 2016. 2 | 3 | #include "BuildingEscape.h" 4 | #include "Grabber.h" 5 | 6 | #define OUT 7 | 8 | // Sets default values for this component's properties 9 | UGrabber::UGrabber() 10 | { 11 | // Set this component to be initialized when the game starts, and to be ticked every frame. You can turn these features 12 | // off to improve performance if you don't need them. 13 | bWantsBeginPlay = true; 14 | PrimaryComponentTick.bCanEverTick = true; 15 | } 16 | 17 | // Called when the game starts 18 | void UGrabber::BeginPlay() 19 | { 20 | Super::BeginPlay(); 21 | FindPhysicsHandleComponent(); 22 | SetupInputComponent(); 23 | } 24 | 25 | /// Look for attached Physics Handle 26 | void UGrabber::FindPhysicsHandleComponent() 27 | { 28 | PhysicsHandle = GetOwner()->FindComponentByClass(); 29 | if (PhysicsHandle == nullptr) 30 | { 31 | UE_LOG(LogTemp, Error, TEXT("%s missing physics handle component"), *GetOwner()->GetName()) 32 | } 33 | } 34 | 35 | /// Look for attached Input Component (only appears at run time) 36 | void UGrabber::SetupInputComponent() 37 | { 38 | InputComponent = GetOwner()->FindComponentByClass(); 39 | if (InputComponent) 40 | { 41 | InputComponent->BindAction("Grab", IE_Pressed, this, &UGrabber::Grab); 42 | InputComponent->BindAction("Grab", IE_Released, this, &UGrabber::Release); 43 | } 44 | else 45 | { 46 | UE_LOG(LogTemp, Error, TEXT("%s missing input component"), *GetOwner()->GetName()) 47 | } 48 | } 49 | 50 | // Called every frame 51 | void UGrabber::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) 52 | { 53 | Super::TickComponent(DeltaTime, TickType, ThisTickFunction); 54 | 55 | if (!PhysicsHandle) { return; } 56 | // if the physics handle is attached 57 | if (PhysicsHandle->GrabbedComponent) 58 | { 59 | // move the object that we're holding 60 | PhysicsHandle->SetTargetLocation(GetReachLineEnd()); 61 | } 62 | } 63 | 64 | void UGrabber::Grab() { 65 | /// LINE TRACE and see if we reach any actors with physics body collision channel set 66 | auto HitResult = GetFirstPhysicsBodyInReach(); 67 | auto ComponentToGrab = HitResult.GetComponent(); // gets the mesh in our case 68 | auto ActorHit = HitResult.GetActor(); 69 | 70 | /// If we hit something then attach a physics handle 71 | if (ActorHit) 72 | { 73 | if (!PhysicsHandle) { return; } 74 | PhysicsHandle->GrabComponent( 75 | ComponentToGrab, 76 | NAME_None, // no bones needed 77 | ComponentToGrab->GetOwner()->GetActorLocation(), 78 | true // allow rotation 79 | ); 80 | } 81 | } 82 | 83 | void UGrabber::Release() 84 | { 85 | if (!PhysicsHandle) { return; } 86 | PhysicsHandle->ReleaseComponent(); 87 | } 88 | 89 | const FHitResult UGrabber::GetFirstPhysicsBodyInReach() 90 | { 91 | /// Line-trace (AKA ray-cast) out to reach distance 92 | FHitResult HitResult; 93 | FCollisionQueryParams TraceParameters(FName(TEXT("")), false, GetOwner()); 94 | GetWorld()->LineTraceSingleByObjectType( 95 | OUT HitResult, 96 | GetReachLineStart(), 97 | GetReachLineEnd(), 98 | FCollisionObjectQueryParams(ECollisionChannel::ECC_PhysicsBody), 99 | TraceParameters 100 | ); 101 | return HitResult; 102 | } 103 | 104 | FVector UGrabber::GetReachLineStart() 105 | { 106 | FVector PlayerViewPointLocation; 107 | FRotator PlayerViewPointRotation; 108 | GetWorld()->GetFirstPlayerController()->GetPlayerViewPoint( 109 | OUT PlayerViewPointLocation, 110 | OUT PlayerViewPointRotation 111 | ); 112 | return PlayerViewPointLocation; 113 | } 114 | 115 | FVector UGrabber::GetReachLineEnd() 116 | { 117 | FVector PlayerViewPointLocation; 118 | FRotator PlayerViewPointRotation; 119 | GetWorld()->GetFirstPlayerController()->GetPlayerViewPoint( 120 | OUT PlayerViewPointLocation, 121 | OUT PlayerViewPointRotation 122 | ); 123 | return PlayerViewPointLocation + PlayerViewPointRotation.Vector() * Reach; 124 | } 125 | -------------------------------------------------------------------------------- /BuildingEscape/Source/BuildingEscape/Grabber.h: -------------------------------------------------------------------------------- 1 | // Copyright Ben Tristem 2016. 2 | 3 | #pragma once 4 | 5 | #include "Components/ActorComponent.h" 6 | #include "Grabber.generated.h" 7 | 8 | 9 | UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) ) 10 | class BUILDINGESCAPE_API UGrabber : public UActorComponent 11 | { 12 | GENERATED_BODY() 13 | 14 | public: 15 | // Sets default values for this component's properties 16 | UGrabber(); 17 | 18 | // Called when the game starts 19 | virtual void BeginPlay() override; 20 | 21 | // Called every frame 22 | virtual void TickComponent( float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction ) override; 23 | 24 | 25 | 26 | private: 27 | // How far ahead of the player can we reach in cm 28 | float Reach = 100.f; 29 | 30 | UPhysicsHandleComponent* PhysicsHandle = nullptr; 31 | 32 | UInputComponent* InputComponent = nullptr; 33 | 34 | // Ray-cast and grab what's in reach 35 | void Grab(); 36 | 37 | // Called when grab is released 38 | void Release(); 39 | 40 | // Find (assumed) attached phyics handle 41 | void FindPhysicsHandleComponent(); 42 | 43 | // Setup (assumed) attached input component 44 | void SetupInputComponent(); 45 | 46 | // Return hit for first physics body in reach 47 | const FHitResult GetFirstPhysicsBodyInReach(); 48 | 49 | // Returns current start of reach line 50 | FVector GetReachLineStart(); 51 | 52 | // Returns current end of reach line 53 | FVector GetReachLineEnd(); 54 | }; 55 | -------------------------------------------------------------------------------- /BuildingEscape/Source/BuildingEscape/OpenDoor.cpp: -------------------------------------------------------------------------------- 1 | // Copyright Ben Tristem 2016. 2 | 3 | #include "BuildingEscape.h" 4 | #include "OpenDoor.h" 5 | 6 | #define OUT 7 | 8 | // Sets default values for this component's properties 9 | UOpenDoor::UOpenDoor() 10 | { 11 | // Set this component to be initialized when the game starts, and to be ticked every frame. You can turn these features 12 | // off to improve performance if you don't need them. 13 | bWantsBeginPlay = true; 14 | PrimaryComponentTick.bCanEverTick = true; 15 | 16 | // ... 17 | } 18 | 19 | 20 | // Called when the game starts 21 | void UOpenDoor::BeginPlay() 22 | { 23 | Super::BeginPlay(); 24 | Owner = GetOwner(); 25 | if (!PressurePlate) 26 | { 27 | UE_LOG(LogTemp, Error, TEXT("%s missing pressure plate"), *GetOwner()->GetName()) 28 | } 29 | } 30 | 31 | // Called every frame 32 | void UOpenDoor::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) 33 | { 34 | Super::TickComponent(DeltaTime, TickType, ThisTickFunction); 35 | 36 | // Poll the Trigger Volume 37 | if (GetTotalMassOfActorsOnPlate() > TriggerMass) 38 | { 39 | OnOpen.Broadcast(); 40 | } 41 | else 42 | { 43 | OnClose.Broadcast(); 44 | } 45 | } 46 | 47 | float UOpenDoor::GetTotalMassOfActorsOnPlate() 48 | { 49 | float TotalMass = 0.f; 50 | 51 | // Find all the overlapping actors 52 | TArray OverlappingActors; 53 | if (!PressurePlate) { return TotalMass; } 54 | PressurePlate->GetOverlappingActors(OUT OverlappingActors); 55 | 56 | // Iterate through them adding their masses 57 | for (const auto& Actor : OverlappingActors) 58 | { 59 | TotalMass += Actor->FindComponentByClass()->GetMass(); 60 | UE_LOG(LogTemp, Warning, TEXT("%s on pressure plate"), *Actor->GetName()) 61 | } 62 | 63 | return TotalMass; 64 | } -------------------------------------------------------------------------------- /BuildingEscape/Source/BuildingEscape/OpenDoor.h: -------------------------------------------------------------------------------- 1 | // Copyright Ben Tristem 2016. 2 | 3 | #pragma once 4 | 5 | #include "Components/ActorComponent.h" 6 | #include "OpenDoor.generated.h" 7 | 8 | DECLARE_DYNAMIC_MULTICAST_DELEGATE(FDoorEvent); 9 | 10 | UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) ) 11 | class BUILDINGESCAPE_API UOpenDoor : public UActorComponent 12 | { 13 | GENERATED_BODY() 14 | 15 | public: 16 | // Sets default values for this component's properties 17 | UOpenDoor(); 18 | 19 | // Called when the game starts 20 | virtual void BeginPlay() override; 21 | 22 | // Called every frame 23 | virtual void TickComponent( float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction ) override; 24 | 25 | UPROPERTY(BlueprintAssignable) 26 | FDoorEvent OnOpen; 27 | 28 | UPROPERTY(BlueprintAssignable) 29 | FDoorEvent OnClose; 30 | 31 | 32 | private: 33 | UPROPERTY(EditAnywhere) 34 | ATriggerVolume* PressurePlate = nullptr; 35 | 36 | UPROPERTY(EditAnywhere) 37 | float TriggerMass = 30.f; 38 | 39 | // The owning door 40 | AActor* Owner = nullptr; 41 | 42 | // Returns total mass in kg 43 | float GetTotalMassOfActorsOnPlate(); 44 | }; 45 | -------------------------------------------------------------------------------- /BuildingEscape/Source/BuildingEscape/PositionReport.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "BuildingEscape.h" 4 | #include "PositionReport.h" 5 | 6 | 7 | // Sets default values for this component's properties 8 | UPositionReport::UPositionReport() 9 | { 10 | // Set this component to be initialized when the game starts, and to be ticked every frame. You can turn these features 11 | // off to improve performance if you don't need them. 12 | bWantsBeginPlay = true; 13 | PrimaryComponentTick.bCanEverTick = true; 14 | } 15 | 16 | 17 | // Called when the game starts 18 | void UPositionReport::BeginPlay() 19 | { 20 | Super::BeginPlay(); 21 | 22 | FString ObjectName = GetOwner()->GetName(); 23 | FString ObjectPos = GetOwner()->GetTransform().GetLocation().ToString(); 24 | UE_LOG(LogTemp, Warning, TEXT("%s is at %s"), *ObjectName, *ObjectPos); 25 | } 26 | 27 | 28 | // Called every frame 29 | void UPositionReport::TickComponent( float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction ) 30 | { 31 | Super::TickComponent( DeltaTime, TickType, ThisTickFunction ); 32 | 33 | // ... 34 | } 35 | 36 | -------------------------------------------------------------------------------- /BuildingEscape/Source/BuildingEscape/PositionReport.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "Components/ActorComponent.h" 6 | #include "PositionReport.generated.h" 7 | 8 | 9 | UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) ) 10 | class BUILDINGESCAPE_API UPositionReport : public UActorComponent 11 | { 12 | GENERATED_BODY() 13 | 14 | public: 15 | // Sets default values for this component's properties 16 | UPositionReport(); 17 | 18 | // Called when the game starts 19 | virtual void BeginPlay() override; 20 | 21 | // Called every frame 22 | virtual void TickComponent( float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction ) override; 23 | 24 | 25 | 26 | }; 27 | -------------------------------------------------------------------------------- /BuildingEscape/Source/BuildingEscapeEditor.Target.cs: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | using UnrealBuildTool; 4 | using System.Collections.Generic; 5 | 6 | public class BuildingEscapeEditorTarget : TargetRules 7 | { 8 | public BuildingEscapeEditorTarget(TargetInfo Target) : base(Target) 9 | { 10 | Type = TargetType.Editor; 11 | ExtraModuleNames.Add("BuildingEscape"); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 EmbraceIT Ltd 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Unreal Engine Developer Course - Section 3 - Building Escape 2 | 3 | This is the [Unreal Engine Developer]( http://gdev.tv/urcgithub) course – it started as a runaway success on Kickstarter and has gone on to become one of the bestselling Unreal courses on the internet! Continually updated in response to student suggestions, you will benefit from the fact we have already taught over 360,336 students game development, many shipping commercial games as a result. 4 | 5 | You're welcome to download, fork or do whatever else legal with all the files! The real value is in our huge, high-quality online tutorials that accompany this repo. You can check out the course here: [Unreal Engine Developer]( http://gdev.tv/urcgithub) 6 | 7 | ## In This Section 8 | 9 | ### 1 Intro, Notes & Section 3 Assets ### 10 | 11 | + Welcome to our first Unreal editor section. 12 | + You’ll learn simple level building. 13 | + We’ll be using meshes and materials. 14 | + C++ events accessed from Blueprint. 15 | + Calling C++ code from Blueprint. 16 | + And much more. 17 | 18 | ### 2 S03 Game Design Document (GDD) ### 19 | 20 | The Concept, Rules and Requirements of our simple game. 21 | 22 | ### 3 Version Control 101 ### 23 | 24 | + The what and why of Version Control Systems 25 | + Choosing your Version Control System (VCS) 26 | + What files to include / exclude 27 | + Commit = save a local snapshot 28 | + Reset = roll-back to a previous state 29 | + Branch, Push and Large File Support later. 30 | 31 | ### 4 Ignoring Unreal Derived Files ### 32 | 33 | + Derived files can be easily rebuilt 34 | + Other files (code, assets, level layout etc) can’t 35 | + Ignore most derived files for version control 36 | + Which folders to ignore in version control 37 | + Our starting .gitignore file for Unreal. 38 | 39 | ### 5 Your First .gitignore for Unreal ### 40 | 41 | + Understand Unreal creates VS projects for us 42 | + How to re-generate VS project files 43 | + Writing our first .gitignore file 44 | + “Committing” our project for the first time. 45 | 46 | ### 6 Getting to Know Unreal’s Editor ### 47 | 48 | + Why changes to the starter scene aren’t tracked 49 | + Arranging a simple set of windows 50 | + Moving around in the 3D Viewport 51 | + Setting our start map, and committing 52 | 53 | ### A Pointers Primer ### 54 | 55 | + You’re about to meet pointers for the first time 56 | + The clue is when you see a **\*** next to a type 57 | + Pointers are simply memory addresses 58 | + You have to “follow” the pointer to the object 59 | + Benefit: saves you from moving things in memory 60 | + Disadvantage: you can lose control of data. 61 | 62 | ### 7 Unreal’s Class System ### 63 | 64 | + Introducing the idea of inheritance 65 | + Unreal’s scarily powerful class system 66 | + Exploring using the Class Viewer 67 | + Inheritance for “is a” relationships 68 | + Components for “has a” relationships. 69 | 70 | ### 7b Cloning and Building Our Code ### 71 | 72 | + Cloning our project. 73 | + Checking out a lectures state. 74 | + How Unreal’s build system works. 75 | + Diagnosing build system issues. 76 | 77 | ### 8 Runtime Messages for Feedback ### 78 | 79 | + Using **UE_LOG** to print to the Output Console 80 | + Printing to the game screen 81 | 82 | **Useful Links** 83 | + [Epic Wiki - Logs, Printing Messages to Yourself During Runtime](https://wiki.unrealengine.com/Logs,_Printing_Messages_To_Yourself_During_Runtime#Related_Tutorial_) 84 | 85 | ### 9 Accessing Object Names ### 86 | 87 | + Use **GetOwner()** to find the component’s owner 88 | + **\*AActor** is a pointer to an actor, a new concept 89 | + Use -**>** to access methods through pointers 90 | + Use **GetName()** to find the object’s name 91 | + Use **%s** as a format operator for strings 92 | + Use **\*** to “dereference” pointers. 93 | 94 | ### 9b Include What You Use For 4.17+ ### 95 | 96 | + Converting old projects to IWYU. 97 | + Order of headers with IWYU. 98 | + Removing monolithic headers. 99 | + How to find headers. 100 | 101 | ### 10 Getting Transforms in C++ ### 102 | 103 | + Introducing **FVector** 104 | + Mixing **.** and **->** to access methods 105 | + Using multiple format operators 106 | + Finishing our **PositionReport** component. 107 | 108 | ### 11 Moving Objects With C++ ### 109 | 110 | + A little more about the editor & temporary actors 111 | + How to eject yourself from the possessed pawn 112 | + Snapping objects to the floor (END key) 113 | + Using the **FRotator** struct to represent rotation 114 | + Use **SetActorRotation()** to rotate objects. 115 | 116 | ### 12 Laying Out Geometry ### 117 | 118 | + A brief intro of BSP “vs” Static Meshes 119 | + Use **Q, W, E** keys to translate, rotate, scale 120 | + Make good use of grid snapping and quad view 121 | + Hold **ALT + drag** translate to duplicate an object 122 | + Hold **L** and double-click for temporary work Light 123 | + This is fiddly, try letting go of **L** and trying again. 124 | 125 | ### 13 Applying Materials ### 126 | 127 | + A material is comprised of texture(s) and shader(s) 128 | + Textures are image files, shaders are GPU code 129 | + Unreal ships with some impressive examples 130 | + Unreal has powerful material editing tools 131 | + Applying materials to our room interior. 132 | 133 | ### 14 Macros Starting with UPROPERTY ### 134 | 135 | + A macro is a programmed cut-and-paste 136 | + This happens before the code is compiled 137 | + Can unlock powerful functionality 138 | + We don’t get code complete as standard 139 | + Can also create really weird build errors 140 | + Expose **ATriggerVolume\*** to the Details window 141 | 142 | ### 15 Using Trigger Volumes ### 143 | 144 | + A trigger volume is a very versatile tool 145 | + A 3D volume that detects things entering / leaving 146 | + We’re going to use one as a pressure plate 147 | + How we’re going to specify what can open doors 148 | + Use **IsOverlappingActor()** on **ATriggerVolume** 149 | + Polling vs using events. 150 | 151 | ### 16 Unreal’s PlayerController ### 152 | 153 | + We’ve used **GetOwner()** to search “bottom-up” 154 | + Now let’s use **GetWorld()** to search “top-down” 155 | + Game Mode specifies the Default Pawn Class 156 | + The Default Pawn is your “body”, is transient 157 | + The Player Controller is your “mind”, persist 158 | + PlayerController class has **GetPawn()** 159 | 160 | ### 17 Using Collision Volumes ### 161 | 162 | + Collisions volumes are also known as colliders 163 | + These tell the physics engine what hits what 164 | + A trigger volume just triggers code 165 | + A collider actually has physics simulated 166 | + Exploring how to add collision volumes 167 | + Prevent players from passing through the door! 168 | 169 | ### 18 Using GetTimeSeconds() ### 170 | 171 | + Using **GetWord()->GetTimeSeconds()** 172 | + Making our game highly “play tunable” 173 | + Re-factoring our code for simplicity 174 | + Using a spotlight to provide “affordance” 175 | + Play-testing to ensure the game is annoying! 176 | 177 | ### 19 Grabbing System Overview ### 178 | 179 | + We want to be able to lift the chair next 180 | + We’ll add a **Grabber.cpp** component to the player 181 | + The player is a temporary actor, appears on play 182 | + The Game Mode sets which Default Pawn to use 183 | + Create Default Pawn & Game Mode Blueprints 184 | + Specify our modified Default Pawn. 185 | 186 | ### 20 Modifying the Default Pawn Actor ### 187 | 188 | + Why Blueprint is helpful in this case 189 | + How to make a Blueprint from the Default Pawn 190 | + Note this Blueprint class inherits, an “is a” relation 191 | + A Blueprint is like a template 192 | + You make an “instance” in the scene 193 | + Explore “instantiating” from Blueprint & modifying. 194 | 195 | ### 21 Inherit Game Mode Blueprint ### 196 | 197 | + “Hard coding” means assets written into code 198 | + The DefaultPawn_BP is an asset 199 | + We want to be able to track changes to its name 200 | + It is convenient to use Blueprint for this purpose 201 | + Extending our C++ Game Mode with Blueprint 202 | + Selecting the new DefaultPawn_BP 203 | 204 | ### 22 Getting Player Viewpoint ### 205 | 206 | + Know where the player is looking 207 | + Out-parameters can be confusing 208 | + A way of marking-up out parameters 209 | + Continuously logging player viewpoint. 210 | 211 | ### 23 Using DrawDebugLine ### 212 | 213 | + How to add vectors 214 | + Calculating our line trace end point 215 | + Using debug functions for visualisation in Unreal 216 | + Use DrawDebugLine() to visualise the vectors. 217 | 218 | ### 24 Line Tracing AKA Ray-Casting ### 219 | 220 | + Line tracing (AKA ray casting) is a very useful tool 221 | + Imagine we shine a virtual laser into the world 222 | + We can use different view modes to visualise 223 | + Simulating physics sets the object channel. 224 | 225 | ### 25 LineTraceSingleByObjectType() ### 226 | 227 | + Meet references for the first time 228 | + LineTraceSingle may be deprecated 229 | + Build params inc. FCollisionQueryParams 230 | 231 | ### 26 REFERENCES & POINTERS ### 232 | 233 | + How references and pointers compare 234 | + How to perform common operations in both 235 | + What the & and * symbols means in context 236 | + Challenge: Repoint and Rewrite 237 | + When to use references over pointers? 238 | 239 | ### 27 Resetting Your Unreal Project ### 240 | 241 | + What to do if your Unreal solution keeps crashing 242 | + How to delete all temporary files 243 | + The order in which to reset things 244 | 245 | ### 28 Using FindComponentByClass() ### 246 | 247 | + What FindComponentByClass() does 248 | + How to use it to find attached components 249 | + Introducing angle brackets <> for generics 250 | + Use nullptr to initialise your pointers 251 | + Log a useful error if the component isn’t attached. 252 | 253 | ### 29 Introducing Input Binding ### 254 | 255 | + Settings > Project Settings > Engine > Input 256 | + Action mappings are used for on / off actions 257 | + Axis mappings are used for analog values 258 | + You can give players a way or re-mapping 259 | + Many keys can bind to one action 260 | + How to call a function on a key press or release 261 | 262 | ### 30 Accessors & Memory Layout ### 263 | 264 | + How the arrow, dot and **::** accessors work 265 | + Introducing virtual memory 266 | + Introducing permanent storage, stack & heap 267 | + Heap is also known as free store 268 | + How accessor operators relate to memory 269 | + Bind another input action 270 | 271 | ### 31 Reducing Code in “Hot Loops” ### 272 | 273 | + A “hot loop” is code that get called often 274 | + **TickComponent** is a good example, every frame 275 | + Beware of code that you know will be called a lot 276 | + Make it clear what happens every tick 277 | + Refactor our code for speed... 278 | + ...and make it ready for for the physics handle. 279 | 280 | ### 32 Using Physics Handles ### 281 | 282 | + Unreal provides a Physics Handle that’s ideal here 283 | + The Physics Handle component docs are scant\* 284 | + Find an example of its use in the engine 285 | + Get the physics handle working. 286 | 287 | **Useful Links** 288 | 289 | + [Unreal Engine API Reference - UPhysicsHandleComponent](https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/PhysicsEngine/UPhysicsHandleComponent/) 290 | 291 | ### 33 Refactoring Rules ### 292 | 293 | + Using multiple getters for multiple return values 294 | + Less lines of clear code is better (143 at start) 295 | + Naming is really important, take the time 296 | + Comment the “why”, don’t assume it’s obvious 297 | + The “what” should be obvious... 298 | + … but it can be helpful to add clarification 299 | 300 | ### 34 Introducing Unreal’s TArray ### 301 | 302 | + A **TArray** is Unreal’s go-to container class 303 | + Use to contain many elements of same type 304 | + We’ll use to contain all actors on pressure plate 305 | + Give our Default Pawn an eye-height and mass 306 | + Making our pressure-plate based on total mass. 307 | 308 | ### 35 Iterating over TArray with for ### 309 | 310 | + Using **auto&** as an auto reference type 311 | + Automatically iterating over a **TArray** 312 | + Pattern: **for (const auto\* Iterator : Array)** 313 | + How to find an actor’s mass 314 | + Tweaking and testing our mass values. 315 | 316 | ### 36 Debugging Game Issues ### 317 | 318 | + Are you using source control? If not start now 319 | + You can “binary search” commits quite fast 320 | + For example 1024 commits takes max 10 tries! 321 | + Think “what changed” and “possible side-effects” 322 | + Remember you can eject with F8 during play. 323 | 324 | ### 37 Managing Texture Tiling ### 325 | 326 | + You may want to re-size objects (e.g. panels) 327 | + Doing so will stretch the texture 328 | + You can re-scale a few ways 329 | + One way is in the material blueprint 330 | + UV mapping because we ran out of letters! 331 | + Using the TexCoord node in the material editor. 332 | 333 | ### 38 Pointer Protection Process ### 334 | 335 | + Horrible crashes when we follow a nullptr 336 | + We must always check pointers before use 337 | + When declaring always initialise to nullptr 338 | + Look for * in your .h files to help find pointers 339 | + Also check before every use and handle nullptr 340 | + Sometimes we may chose not to, e.g. Owner. 341 | 342 | ### 39 Exposing Events to Blueprint ### 343 | 344 | + Sometimes Blueprint’s the better choice 345 | + For example defining our door swing as a curve 346 | + We can create an event called **OnOpenRequest** 347 | + Using **UPROPERTY (BlueprintAssignable)** 348 | 349 | ### 40 Using Blueprint Timeline ### 350 | 351 | + The Timeline node in Blueprint has a curve editor 352 | + This is ideal for defining our door movement 353 | + How to use Timeline curves in Blueprint 354 | + Setting rotation from a Timeline. 355 | 356 | ### 41 Everything in its Place ### 357 | 358 | + Using Blueprint has superseded some code 359 | + It’s important there’s only 1 place per parameter 360 | + Creating a 2nd event: **OnClose** 361 | 362 | ### 42 Using Variables in Blueprint ### 363 | 364 | + Not all doors have the same absolute rotation 365 | + We want to store the door’s rotation at the start 366 | + … then use this value to make a relative rotation 367 | + We can use Blueprint variables for this 368 | + Making doors that face any direction work. 369 | 370 | ### 43 SFX & Audio Clips ### 371 | 372 | + We’re going to trigger a simple sound in Blueprint 373 | + Later in the course we’ll use C++ too 374 | + However we’ll always reference our assets via BP 375 | + How to trigger a 3D sound. 376 | 377 | ### XX Section 3 Wrap-Up ### 378 | 379 | + Congratulations on another complete section 380 | + You’ve learnt so much, look at the lecture titles 381 | + Please carry-on a little on your own and share 382 | + Attached are useful resources 383 | + Start the next section as soon as you’re finished. 384 | --------------------------------------------------------------------------------