diff --git a/.gitattributes b/.gitattributes index dfe0770..0a8cfd3 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,3 @@ # Auto detect text files and perform LF normalization * text=auto +Content/Static/** filter=lfs diff=lfs merge=lfs -text \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..345959c --- /dev/null +++ b/.gitignore @@ -0,0 +1,75 @@ +# Visual Studio 2015 user specific files +.vs/ +.vscode/ + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app +*.ipa + +# These project files can be generated by the engine +*.xcodeproj +*.xcworkspace +*.sln +*.suo +*.opensdf +*.sdf +*.VC.db +*.VC.opendb + +# Precompiled Assets +SourceArt/**/*.png +SourceArt/**/*.tga + +# Binary Files +Binaries/* +Plugins/*/Binaries/* + +# Builds +Build/* + +# Whitelist PakBlacklist-.txt files +!Build/*/ +Build/*/** +!Build/*/PakBlacklist*.txt + +# Don't ignore icon files in Build +!Build/**/*.ico + +# Built data for maps +*_BuiltData.uasset + +# Configuration files generated by the Editor +Saved/* + +# Compiled source files for the engine to use +Intermediate/* +Plugins/*/Intermediate/* + +# Cache files for the editor to use +DerivedDataCache/* diff --git a/.ignore b/.ignore new file mode 100644 index 0000000..edeba21 --- /dev/null +++ b/.ignore @@ -0,0 +1,4 @@ +/.vscode +/Content +/Intermediate +/Saved diff --git a/Config/DefaultEditor.ini b/Config/DefaultEditor.ini new file mode 100644 index 0000000..58552fa --- /dev/null +++ b/Config/DefaultEditor.ini @@ -0,0 +1,8 @@ +[UnrealEd.SimpleMap] +SimpleMapName=/Game/FirstPerson/Maps/FirstPersonExampleMap + +[EditoronlyBP] +bAllowClassAndBlueprintPinMatching=true +bReplaceBlueprintWithClass= true +bDontLoadBlueprintOutsideEditor= true +bBlueprintIsNotBlueprintType= true \ No newline at end of file diff --git a/Config/DefaultEditorPerProjectUserSettings.ini b/Config/DefaultEditorPerProjectUserSettings.ini new file mode 100644 index 0000000..220a551 --- /dev/null +++ b/Config/DefaultEditorPerProjectUserSettings.ini @@ -0,0 +1,2 @@ +[ContentBrowser] +ContentBrowserTab1.SelectedPaths=/Game/FirstPerson \ No newline at end of file diff --git a/Config/DefaultEngine.ini b/Config/DefaultEngine.ini new file mode 100644 index 0000000..491bc39 --- /dev/null +++ b/Config/DefaultEngine.ini @@ -0,0 +1,78 @@ +[/Script/Engine.CollisionProfile] ++Profiles=(Name="Projectile",CollisionEnabled=QueryOnly,ObjectTypeName="Projectile",CustomResponses=,HelpMessage="Preset for projectiles",bCanModify=True) ++DefaultChannelResponses=(Channel=ECC_GameTraceChannel1,Name="Projectile",DefaultResponse=ECR_Block,bTraceType=False,bStaticObject=False) ++EditProfiles=(Name="Trigger",CustomResponses=((Channel=Projectile, Response=ECR_Ignore))) + +[/Script/EngineSettings.GameMapsSettings] +EditorStartupMap=/Game/FirstPerson/Maps/FirstPersonMap.FirstPersonMap +LocalMapOptions= +TransitionMap= +bUseSplitscreen=True +TwoPlayerSplitscreenLayout=Horizontal +ThreePlayerSplitscreenLayout=FavorTop +GameInstanceClass=/Script/Engine.GameInstance +GameDefaultMap=/Game/FirstPerson/Maps/FirstPersonMap.FirstPersonMap +ServerDefaultMap=/Engine/Maps/Entry +GlobalDefaultGameMode=/Game/FirstPerson/Blueprints/BP_FirstPersonGameMode.BP_FirstPersonGameMode_C +GlobalDefaultServerGameMode=None + +[/Script/Engine.RendererSettings] +r.ReflectionMethod=1 +r.GenerateMeshDistanceFields=True +r.DynamicGlobalIlluminationMethod=1 +r.Mobile.EnableNoPrecomputedLightingCSMShader=1 +r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=True +r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=true + + +r.Shadow.Virtual.Enable=1 + +r.DefaultFeature.LocalExposure.HighlightContrastScale=0.8 + +r.DefaultFeature.LocalExposure.ShadowContrastScale=0.8 + +[/Script/WindowsTargetPlatform.WindowsTargetSettings] +DefaultGraphicsRHI=DefaultGraphicsRHI_DX12 +-D3D12TargetedShaderFormats=PCD3D_SM5 ++D3D12TargetedShaderFormats=PCD3D_SM6 +-D3D11TargetedShaderFormats=PCD3D_SM5 ++D3D11TargetedShaderFormats=PCD3D_SM5 +Compiler=Default +AudioSampleRate=48000 +AudioCallbackBufferFrameSize=1024 +AudioNumBuffersToEnqueue=1 +AudioMaxChannels=0 +AudioNumSourceWorkers=4 +SpatializationPlugin= +SourceDataOverridePlugin= +ReverbPlugin= +OcclusionPlugin= +CompressionOverrides=(bOverrideCompressionTimes=False,DurationThreshold=5.000000,MaxNumRandomBranches=0,SoundCueQualityIndex=0) +CacheSizeKB=65536 +MaxChunkSizeOverrideKB=0 +bResampleForDevice=False +MaxSampleRate=48000.000000 +HighSampleRate=32000.000000 +MedSampleRate=24000.000000 +LowSampleRate=12000.000000 +MinSampleRate=8000.000000 +CompressionQualityModifier=1.000000 +AutoStreamingThreshold=0.000000 +SoundCueCookQualityIndex=-1 + +[/Script/LinuxTargetPlatform.LinuxTargetSettings] +-TargetedRHIs=SF_VULKAN_SM5 ++TargetedRHIs=SF_VULKAN_SM6 + + +[/Script/HardwareTargeting.HardwareTargetingSettings] +TargetedHardwareClass=EHardwareClass::Desktop +DefaultGraphicsPerformance=EGraphicsPreset::Maximum + +[/Script/Engine.Engine] ++ActiveGameNameRedirects=(OldGameName="TP_FirstPerson",NewGameName="/Script/ProjectLighthouse") ++ActiveGameNameRedirects=(OldGameName="/Script/TP_FirstPerson",NewGameName="/Script/ProjectLighthouse") ++ActiveClassRedirects=(OldClassName="TP_FirstPersonProjectile",NewClassName="ProjectLighthouseProjectile") ++ActiveClassRedirects=(OldClassName="TP_FirstPersonPlayerController",NewClassName="ProjectLighthousePlayerController") ++ActiveClassRedirects=(OldClassName="TP_FirstPersonGameMode",NewClassName="ProjectLighthouseGameMode") ++ActiveClassRedirects=(OldClassName="TP_FirstPersonCharacter",NewClassName="ProjectLighthouseCharacter") diff --git a/Config/DefaultGame.ini b/Config/DefaultGame.ini new file mode 100644 index 0000000..5ff1837 --- /dev/null +++ b/Config/DefaultGame.ini @@ -0,0 +1,13 @@ +[ProjectSettings] +ProjectID=(A=1823396784,B=1298598689,C=1743498150,D=-2048051708) +ProjectName=First Person Template + +[/Script/EngineSettings.GeneralProjectSettings] +ProjectID=961D34544D52DDFD371AEB83433ECF95 + +[StartupActions] +bAddPacks=True +InsertPack=(PackSource="StarterContent.upack",PackName="StarterContent") + +[SectionsToSave] ++Section=StartupActions diff --git a/Config/DefaultInput.ini b/Config/DefaultInput.ini new file mode 100644 index 0000000..0d0b0e5 --- /dev/null +++ b/Config/DefaultInput.ini @@ -0,0 +1,109 @@ +[/Script/Engine.InputSettings] +-AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) +-AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) +-AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) +-AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) +-AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f)) +-AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f)) +-AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f)) ++AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MouseWheelAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_LeftTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_RightTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_Special_Left_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_Special_Left_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Touch",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_FaceButton1",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_Trigger",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_FaceButton2",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_IndexPointing",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_ThumbUp",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_ThumbRest",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_FaceButton1",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_Trigger",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_FaceButton2",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_IndexPointing",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_ThumbUp",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_ThumbRest",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Left_ThumbPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Left_IndexPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Left_MiddlePinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Left_RingPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Left_PinkPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Right_ThumbPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Right_IndexPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Right_MiddlePinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Right_RingPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Right_PinkPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) +bAltEnterTogglesFullscreen=True +bF11TogglesFullscreen=True +bUseMouseForTouch=False +bEnableMouseSmoothing=True +bEnableFOVScaling=True +bCaptureMouseOnLaunch=True +bEnableLegacyInputScales=True +bEnableMotionControls=True +bFilterInputByPlatformUser=False +bShouldFlushPressedKeysOnViewportFocusLost=True +bAlwaysShowTouchInterface=False +bShowConsoleOnFourFingerTap=True +bEnableGestureRecognizer=False +bUseAutocorrect=False +DefaultViewportMouseCaptureMode=CapturePermanently_IncludingInitialMouseDown +DefaultViewportMouseLockMode=LockOnCapture +FOVScale=0.011110 +DoubleClickTime=0.200000 +DefaultPlayerInputClass=/Script/EnhancedInput.EnhancedPlayerInput +DefaultInputComponentClass=/Script/EnhancedInput.EnhancedInputComponent +DefaultTouchInterface=/Game/FirstPerson/Input/MobileControls.MobileControls +-ConsoleKeys=Tilde ++ConsoleKeys=Tilde + diff --git a/Content/FPWeapon/Audio/FirstPersonTemplateWeaponFire02.uasset b/Content/FPWeapon/Audio/FirstPersonTemplateWeaponFire02.uasset new file mode 100644 index 0000000..fc187ea Binary files /dev/null and b/Content/FPWeapon/Audio/FirstPersonTemplateWeaponFire02.uasset differ diff --git a/Content/FPWeapon/Materials/BaseMaterial.uasset b/Content/FPWeapon/Materials/BaseMaterial.uasset new file mode 100644 index 0000000..a6f834c Binary files /dev/null and b/Content/FPWeapon/Materials/BaseMaterial.uasset differ diff --git a/Content/FPWeapon/Materials/FirstPersonProjectileMaterial.uasset b/Content/FPWeapon/Materials/FirstPersonProjectileMaterial.uasset new file mode 100644 index 0000000..8efce7e Binary files /dev/null and b/Content/FPWeapon/Materials/FirstPersonProjectileMaterial.uasset differ diff --git a/Content/FPWeapon/Materials/M_FPGun.uasset b/Content/FPWeapon/Materials/M_FPGun.uasset new file mode 100644 index 0000000..5595aa7 Binary files /dev/null and b/Content/FPWeapon/Materials/M_FPGun.uasset differ diff --git a/Content/FPWeapon/Materials/MaterialLayers/ML_GlossyBlack_Latex_UE4.uasset b/Content/FPWeapon/Materials/MaterialLayers/ML_GlossyBlack_Latex_UE4.uasset new file mode 100644 index 0000000..c6436a2 Binary files /dev/null and b/Content/FPWeapon/Materials/MaterialLayers/ML_GlossyBlack_Latex_UE4.uasset differ diff --git a/Content/FPWeapon/Materials/MaterialLayers/ML_Plastic_Shiny_Beige.uasset b/Content/FPWeapon/Materials/MaterialLayers/ML_Plastic_Shiny_Beige.uasset new file mode 100644 index 0000000..c3124ee Binary files /dev/null and b/Content/FPWeapon/Materials/MaterialLayers/ML_Plastic_Shiny_Beige.uasset differ diff --git a/Content/FPWeapon/Materials/MaterialLayers/ML_Screen.uasset b/Content/FPWeapon/Materials/MaterialLayers/ML_Screen.uasset new file mode 100644 index 0000000..a93197f Binary files /dev/null and b/Content/FPWeapon/Materials/MaterialLayers/ML_Screen.uasset differ diff --git a/Content/FPWeapon/Materials/MaterialLayers/ML_SoftMetal_UE4.uasset b/Content/FPWeapon/Materials/MaterialLayers/ML_SoftMetal_UE4.uasset new file mode 100644 index 0000000..1fbfe3e Binary files /dev/null and b/Content/FPWeapon/Materials/MaterialLayers/ML_SoftMetal_UE4.uasset differ diff --git a/Content/FPWeapon/Materials/MaterialLayers/T_ML_Aluminum01.uasset b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Aluminum01.uasset new file mode 100644 index 0000000..abb5c8f Binary files /dev/null and b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Aluminum01.uasset differ diff --git a/Content/FPWeapon/Materials/MaterialLayers/T_ML_Aluminum01_N.uasset b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Aluminum01_N.uasset new file mode 100644 index 0000000..91bfa7b Binary files /dev/null and b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Aluminum01_N.uasset differ diff --git a/Content/FPWeapon/Materials/MaterialLayers/T_ML_FineRubber.uasset b/Content/FPWeapon/Materials/MaterialLayers/T_ML_FineRubber.uasset new file mode 100644 index 0000000..809ab90 Binary files /dev/null and b/Content/FPWeapon/Materials/MaterialLayers/T_ML_FineRubber.uasset differ diff --git a/Content/FPWeapon/Materials/MaterialLayers/T_ML_Rubber_Blue_01_D.uasset b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Rubber_Blue_01_D.uasset new file mode 100644 index 0000000..9003b8a Binary files /dev/null and b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Rubber_Blue_01_D.uasset differ diff --git a/Content/FPWeapon/Materials/MaterialLayers/T_ML_Rubber_Blue_01_N.uasset b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Rubber_Blue_01_N.uasset new file mode 100644 index 0000000..7b8f783 Binary files /dev/null and b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Rubber_Blue_01_N.uasset differ diff --git a/Content/FPWeapon/Mesh/FirstPersonProjectileMesh.uasset b/Content/FPWeapon/Mesh/FirstPersonProjectileMesh.uasset new file mode 100644 index 0000000..2fd90d6 Binary files /dev/null and b/Content/FPWeapon/Mesh/FirstPersonProjectileMesh.uasset differ diff --git a/Content/FPWeapon/Mesh/SK_FPGun.uasset b/Content/FPWeapon/Mesh/SK_FPGun.uasset new file mode 100644 index 0000000..5355b9b Binary files /dev/null and b/Content/FPWeapon/Mesh/SK_FPGun.uasset differ diff --git a/Content/FPWeapon/Mesh/SK_FPGun_Physics.uasset b/Content/FPWeapon/Mesh/SK_FPGun_Physics.uasset new file mode 100644 index 0000000..a5c2ad8 Binary files /dev/null and b/Content/FPWeapon/Mesh/SK_FPGun_Physics.uasset differ diff --git a/Content/FPWeapon/Mesh/SK_FPGun_PhysicsAsset.uasset b/Content/FPWeapon/Mesh/SK_FPGun_PhysicsAsset.uasset new file mode 100644 index 0000000..45fe584 Binary files /dev/null and b/Content/FPWeapon/Mesh/SK_FPGun_PhysicsAsset.uasset differ diff --git a/Content/FPWeapon/Mesh/SK_FPGun_Skeleton.uasset b/Content/FPWeapon/Mesh/SK_FPGun_Skeleton.uasset new file mode 100644 index 0000000..74c94d5 Binary files /dev/null and b/Content/FPWeapon/Mesh/SK_FPGun_Skeleton.uasset differ diff --git a/Content/FPWeapon/Textures/T_FPGun_M.uasset b/Content/FPWeapon/Textures/T_FPGun_M.uasset new file mode 100644 index 0000000..62349ed Binary files /dev/null and b/Content/FPWeapon/Textures/T_FPGun_M.uasset differ diff --git a/Content/FPWeapon/Textures/T_FPGun_N.uasset b/Content/FPWeapon/Textures/T_FPGun_N.uasset new file mode 100644 index 0000000..82db14c Binary files /dev/null and b/Content/FPWeapon/Textures/T_FPGun_N.uasset differ diff --git a/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset b/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset new file mode 100644 index 0000000..4f264a3 Binary files /dev/null and b/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset differ diff --git a/Content/FirstPerson/Blueprints/BP_FirstPersonGameMode.uasset b/Content/FirstPerson/Blueprints/BP_FirstPersonGameMode.uasset new file mode 100644 index 0000000..62d169f Binary files /dev/null and b/Content/FirstPerson/Blueprints/BP_FirstPersonGameMode.uasset differ diff --git a/Content/FirstPerson/Blueprints/BP_FirstPersonPlayerController.uasset b/Content/FirstPerson/Blueprints/BP_FirstPersonPlayerController.uasset new file mode 100644 index 0000000..0c84158 Binary files /dev/null and b/Content/FirstPerson/Blueprints/BP_FirstPersonPlayerController.uasset differ diff --git a/Content/FirstPerson/Blueprints/BP_FirstPersonProjectile.uasset b/Content/FirstPerson/Blueprints/BP_FirstPersonProjectile.uasset new file mode 100644 index 0000000..c77fff9 Binary files /dev/null and b/Content/FirstPerson/Blueprints/BP_FirstPersonProjectile.uasset differ diff --git a/Content/FirstPerson/Blueprints/BP_PickUp_Rifle.uasset b/Content/FirstPerson/Blueprints/BP_PickUp_Rifle.uasset new file mode 100644 index 0000000..051ee3e Binary files /dev/null and b/Content/FirstPerson/Blueprints/BP_PickUp_Rifle.uasset differ diff --git a/Content/FirstPerson/Input/Actions/IA_Jump.uasset b/Content/FirstPerson/Input/Actions/IA_Jump.uasset new file mode 100644 index 0000000..9201295 Binary files /dev/null and b/Content/FirstPerson/Input/Actions/IA_Jump.uasset differ diff --git a/Content/FirstPerson/Input/Actions/IA_Look.uasset b/Content/FirstPerson/Input/Actions/IA_Look.uasset new file mode 100644 index 0000000..b6b818a Binary files /dev/null and b/Content/FirstPerson/Input/Actions/IA_Look.uasset differ diff --git a/Content/FirstPerson/Input/Actions/IA_Move.uasset b/Content/FirstPerson/Input/Actions/IA_Move.uasset new file mode 100644 index 0000000..51bd8d3 Binary files /dev/null and b/Content/FirstPerson/Input/Actions/IA_Move.uasset differ diff --git a/Content/FirstPerson/Input/Actions/IA_Shoot.uasset b/Content/FirstPerson/Input/Actions/IA_Shoot.uasset new file mode 100644 index 0000000..842a1ba Binary files /dev/null and b/Content/FirstPerson/Input/Actions/IA_Shoot.uasset differ diff --git a/Content/FirstPerson/Input/IMC_Default.uasset b/Content/FirstPerson/Input/IMC_Default.uasset new file mode 100644 index 0000000..373bde3 Binary files /dev/null and b/Content/FirstPerson/Input/IMC_Default.uasset differ diff --git a/Content/FirstPerson/Input/IMC_Weapons.uasset b/Content/FirstPerson/Input/IMC_Weapons.uasset new file mode 100644 index 0000000..bf34dab Binary files /dev/null and b/Content/FirstPerson/Input/IMC_Weapons.uasset differ diff --git a/Content/FirstPerson/Input/MobileControls.uasset b/Content/FirstPerson/Input/MobileControls.uasset new file mode 100644 index 0000000..1ec494b Binary files /dev/null and b/Content/FirstPerson/Input/MobileControls.uasset differ diff --git a/Content/FirstPerson/Maps/FirstPersonMap.umap b/Content/FirstPerson/Maps/FirstPersonMap.umap new file mode 100644 index 0000000..f9c99e9 Binary files /dev/null and b/Content/FirstPerson/Maps/FirstPersonMap.umap differ diff --git a/Content/FirstPersonArms/Animations/FP_Falling.uasset b/Content/FirstPersonArms/Animations/FP_Falling.uasset new file mode 100644 index 0000000..e794510 Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Falling.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Idle.uasset b/Content/FirstPersonArms/Animations/FP_Idle.uasset new file mode 100644 index 0000000..019b8e7 Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Idle.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Jump.uasset b/Content/FirstPersonArms/Animations/FP_Jump.uasset new file mode 100644 index 0000000..11e7634 Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Jump.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Land.uasset b/Content/FirstPersonArms/Animations/FP_Land.uasset new file mode 100644 index 0000000..562be0a Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Land.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Rifle_Falling.uasset b/Content/FirstPersonArms/Animations/FP_Rifle_Falling.uasset new file mode 100644 index 0000000..0c33c78 Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Rifle_Falling.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Rifle_Fire.uasset b/Content/FirstPersonArms/Animations/FP_Rifle_Fire.uasset new file mode 100644 index 0000000..286d2c7 Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Rifle_Fire.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Rifle_Idle.uasset b/Content/FirstPersonArms/Animations/FP_Rifle_Idle.uasset new file mode 100644 index 0000000..46d80cf Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Rifle_Idle.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Rifle_Jump.uasset b/Content/FirstPersonArms/Animations/FP_Rifle_Jump.uasset new file mode 100644 index 0000000..6393742 Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Rifle_Jump.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Rifle_Land.uasset b/Content/FirstPersonArms/Animations/FP_Rifle_Land.uasset new file mode 100644 index 0000000..05ccc7d Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Rifle_Land.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Rifle_Run.uasset b/Content/FirstPersonArms/Animations/FP_Rifle_Run.uasset new file mode 100644 index 0000000..3bf7baf Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Rifle_Run.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Rifle_Shoot_Montage.uasset b/Content/FirstPersonArms/Animations/FP_Rifle_Shoot_Montage.uasset new file mode 100644 index 0000000..db54723 Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Rifle_Shoot_Montage.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Run_Fwd.uasset b/Content/FirstPersonArms/Animations/FP_Run_Fwd.uasset new file mode 100644 index 0000000..ac4400c Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Run_Fwd.uasset differ diff --git a/Content/FirstPersonArms/Animations/FirstPerson_AnimBP.uasset b/Content/FirstPersonArms/Animations/FirstPerson_AnimBP.uasset new file mode 100644 index 0000000..764bf6f Binary files /dev/null and b/Content/FirstPersonArms/Animations/FirstPerson_AnimBP.uasset differ diff --git a/Content/FirstPersonArms/Character/Materials/Functions/CA_Mannequin.uasset b/Content/FirstPersonArms/Character/Materials/Functions/CA_Mannequin.uasset new file mode 100644 index 0000000..d1c8f07 Binary files /dev/null and b/Content/FirstPersonArms/Character/Materials/Functions/CA_Mannequin.uasset differ diff --git a/Content/FirstPersonArms/Character/Materials/Functions/ChromaticCurve.uasset b/Content/FirstPersonArms/Character/Materials/Functions/ChromaticCurve.uasset new file mode 100644 index 0000000..4e4aa79 Binary files /dev/null and b/Content/FirstPersonArms/Character/Materials/Functions/ChromaticCurve.uasset differ diff --git a/Content/FirstPersonArms/Character/Materials/Functions/MF_Diffraction.uasset b/Content/FirstPersonArms/Character/Materials/Functions/MF_Diffraction.uasset new file mode 100644 index 0000000..7f5e7c6 Binary files /dev/null and b/Content/FirstPersonArms/Character/Materials/Functions/MF_Diffraction.uasset differ diff --git a/Content/FirstPersonArms/Character/Materials/Functions/MF_logo3layers.uasset b/Content/FirstPersonArms/Character/Materials/Functions/MF_logo3layers.uasset new file mode 100644 index 0000000..13b36fb Binary files /dev/null and b/Content/FirstPersonArms/Character/Materials/Functions/MF_logo3layers.uasset differ diff --git a/Content/FirstPersonArms/Character/Materials/Functions/ML_BaseColorFallOff.uasset b/Content/FirstPersonArms/Character/Materials/Functions/ML_BaseColorFallOff.uasset new file mode 100644 index 0000000..d061fc2 Binary files /dev/null and b/Content/FirstPersonArms/Character/Materials/Functions/ML_BaseColorFallOff.uasset differ diff --git a/Content/FirstPersonArms/Character/Materials/Instances/Manny/MI_Manny_01.uasset b/Content/FirstPersonArms/Character/Materials/Instances/Manny/MI_Manny_01.uasset new file mode 100644 index 0000000..168b822 Binary files /dev/null and b/Content/FirstPersonArms/Character/Materials/Instances/Manny/MI_Manny_01.uasset differ diff --git a/Content/FirstPersonArms/Character/Materials/Instances/Manny/MI_Manny_02.uasset b/Content/FirstPersonArms/Character/Materials/Instances/Manny/MI_Manny_02.uasset new file mode 100644 index 0000000..56dcb9e Binary files /dev/null and b/Content/FirstPersonArms/Character/Materials/Instances/Manny/MI_Manny_02.uasset differ diff --git a/Content/FirstPersonArms/Character/Materials/M_Mannequin.uasset b/Content/FirstPersonArms/Character/Materials/M_Mannequin.uasset new file mode 100644 index 0000000..ded1ffe Binary files /dev/null and b/Content/FirstPersonArms/Character/Materials/M_Mannequin.uasset differ diff --git a/Content/FirstPersonArms/Character/Mesh/SK_Mannequin_Arms.uasset b/Content/FirstPersonArms/Character/Mesh/SK_Mannequin_Arms.uasset new file mode 100644 index 0000000..a06ab61 Binary files /dev/null and b/Content/FirstPersonArms/Character/Mesh/SK_Mannequin_Arms.uasset differ diff --git a/Content/FirstPersonArms/Character/Mesh/SK_Mannequin_Arms_PhysicsAsset.uasset b/Content/FirstPersonArms/Character/Mesh/SK_Mannequin_Arms_PhysicsAsset.uasset new file mode 100644 index 0000000..204f1f0 Binary files /dev/null and b/Content/FirstPersonArms/Character/Mesh/SK_Mannequin_Arms_PhysicsAsset.uasset differ diff --git a/Content/FirstPersonArms/Character/Mesh/SK_Mannequin_Arms_Skeleton.uasset b/Content/FirstPersonArms/Character/Mesh/SK_Mannequin_Arms_Skeleton.uasset new file mode 100644 index 0000000..0e893ec Binary files /dev/null and b/Content/FirstPersonArms/Character/Mesh/SK_Mannequin_Arms_Skeleton.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_ASAOPMASK_MSK.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_ASAOPMASK_MSK.uasset new file mode 100644 index 0000000..d0a8410 Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_ASAOPMASK_MSK.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_BN.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_BN.uasset new file mode 100644 index 0000000..0c29012 Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_BN.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_CCRCCPlastic_MSK.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_CCRCCPlastic_MSK.uasset new file mode 100644 index 0000000..9998bef Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_CCRCCPlastic_MSK.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_D.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_D.uasset new file mode 100644 index 0000000..28cff0c Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_D.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_MSR_MSK.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_MSR_MSK.uasset new file mode 100644 index 0000000..1a6eb0c Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_MSR_MSK.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_N.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_N.uasset new file mode 100644 index 0000000..d8451ac Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_N.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_Tan.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_Tan.uasset new file mode 100644 index 0000000..67202b5 Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_Tan.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_ASAOPMASK_MSK.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_ASAOPMASK_MSK.uasset new file mode 100644 index 0000000..0367acc Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_ASAOPMASK_MSK.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_BN.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_BN.uasset new file mode 100644 index 0000000..6b9a723 Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_BN.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_CCRCCPlastic_MSK.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_CCRCCPlastic_MSK.uasset new file mode 100644 index 0000000..c30481b Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_CCRCCPlastic_MSK.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_D.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_D.uasset new file mode 100644 index 0000000..e0b3c82 Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_D.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_MSR_MSK.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_MSR_MSK.uasset new file mode 100644 index 0000000..b6b921a Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_MSR_MSK.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_N.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_N.uasset new file mode 100644 index 0000000..3ba7dec Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_N.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_Tan.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_Tan.uasset new file mode 100644 index 0000000..2ab4d61 Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_Tan.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Shared/T_UE_Logo_M.uasset b/Content/FirstPersonArms/Character/Textures/Shared/T_UE_Logo_M.uasset new file mode 100644 index 0000000..30213c8 Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Shared/T_UE_Logo_M.uasset differ diff --git a/Content/LevelPrototyping/Materials/MF_ProcGrid.uasset b/Content/LevelPrototyping/Materials/MF_ProcGrid.uasset new file mode 100644 index 0000000..84dde04 Binary files /dev/null and b/Content/LevelPrototyping/Materials/MF_ProcGrid.uasset differ diff --git a/Content/LevelPrototyping/Materials/MI_PrototypeGrid_Gray.uasset b/Content/LevelPrototyping/Materials/MI_PrototypeGrid_Gray.uasset new file mode 100644 index 0000000..4605682 Binary files /dev/null and b/Content/LevelPrototyping/Materials/MI_PrototypeGrid_Gray.uasset differ diff --git a/Content/LevelPrototyping/Materials/MI_PrototypeGrid_Gray_02.uasset b/Content/LevelPrototyping/Materials/MI_PrototypeGrid_Gray_02.uasset new file mode 100644 index 0000000..2accd35 Binary files /dev/null and b/Content/LevelPrototyping/Materials/MI_PrototypeGrid_Gray_02.uasset differ diff --git a/Content/LevelPrototyping/Materials/MI_PrototypeGrid_TopDark.uasset b/Content/LevelPrototyping/Materials/MI_PrototypeGrid_TopDark.uasset new file mode 100644 index 0000000..bc39915 Binary files /dev/null and b/Content/LevelPrototyping/Materials/MI_PrototypeGrid_TopDark.uasset differ diff --git a/Content/LevelPrototyping/Materials/MI_Solid_Blue.uasset b/Content/LevelPrototyping/Materials/MI_Solid_Blue.uasset new file mode 100644 index 0000000..7b7ad88 Binary files /dev/null and b/Content/LevelPrototyping/Materials/MI_Solid_Blue.uasset differ diff --git a/Content/LevelPrototyping/Materials/M_PrototypeGrid.uasset b/Content/LevelPrototyping/Materials/M_PrototypeGrid.uasset new file mode 100644 index 0000000..f61487d Binary files /dev/null and b/Content/LevelPrototyping/Materials/M_PrototypeGrid.uasset differ diff --git a/Content/LevelPrototyping/Materials/M_Solid.uasset b/Content/LevelPrototyping/Materials/M_Solid.uasset new file mode 100644 index 0000000..37a29b9 Binary files /dev/null and b/Content/LevelPrototyping/Materials/M_Solid.uasset differ diff --git a/Content/LevelPrototyping/Meshes/SM_ChamferCube.uasset b/Content/LevelPrototyping/Meshes/SM_ChamferCube.uasset new file mode 100644 index 0000000..fe6da62 Binary files /dev/null and b/Content/LevelPrototyping/Meshes/SM_ChamferCube.uasset differ diff --git a/Content/LevelPrototyping/Meshes/SM_Cube.uasset b/Content/LevelPrototyping/Meshes/SM_Cube.uasset new file mode 100644 index 0000000..0e7d2a3 Binary files /dev/null and b/Content/LevelPrototyping/Meshes/SM_Cube.uasset differ diff --git a/Content/LevelPrototyping/Meshes/SM_Cylinder.uasset b/Content/LevelPrototyping/Meshes/SM_Cylinder.uasset new file mode 100644 index 0000000..2dc5fab Binary files /dev/null and b/Content/LevelPrototyping/Meshes/SM_Cylinder.uasset differ diff --git a/Content/LevelPrototyping/Meshes/SM_QuarterCylinder.uasset b/Content/LevelPrototyping/Meshes/SM_QuarterCylinder.uasset new file mode 100644 index 0000000..cbd952c Binary files /dev/null and b/Content/LevelPrototyping/Meshes/SM_QuarterCylinder.uasset differ diff --git a/Content/LevelPrototyping/Meshes/SM_Ramp.uasset b/Content/LevelPrototyping/Meshes/SM_Ramp.uasset new file mode 100644 index 0000000..f1f05c6 Binary files /dev/null and b/Content/LevelPrototyping/Meshes/SM_Ramp.uasset differ diff --git a/Content/LevelPrototyping/Textures/T_GridChecker_A.uasset b/Content/LevelPrototyping/Textures/T_GridChecker_A.uasset new file mode 100644 index 0000000..e901d24 Binary files /dev/null and b/Content/LevelPrototyping/Textures/T_GridChecker_A.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/0M/LYKU8MRWM4BO3O1FDZBG2U.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/0M/LYKU8MRWM4BO3O1FDZBG2U.uasset new file mode 100644 index 0000000..86517ef Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/0M/LYKU8MRWM4BO3O1FDZBG2U.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/7P/QZX5AESKLO855EVPT5JU20.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/7P/QZX5AESKLO855EVPT5JU20.uasset new file mode 100644 index 0000000..0f995a1 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/7P/QZX5AESKLO855EVPT5JU20.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/CL/381LM03PFI8AF9NED1SEV2.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/CL/381LM03PFI8AF9NED1SEV2.uasset new file mode 100644 index 0000000..6215a03 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/CL/381LM03PFI8AF9NED1SEV2.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/GO/I8WEFD3RY9V3NVQLSU6QM4.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/GO/I8WEFD3RY9V3NVQLSU6QM4.uasset new file mode 100644 index 0000000..f192f74 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/GO/I8WEFD3RY9V3NVQLSU6QM4.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/NB/NWWEVRQSGT6ARVZ8HQLCM9.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/NB/NWWEVRQSGT6ARVZ8HQLCM9.uasset new file mode 100644 index 0000000..4d239cf Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/NB/NWWEVRQSGT6ARVZ8HQLCM9.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/XV/VTAF5COFGLO9YT51MQCVTR.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/XV/VTAF5COFGLO9YT51MQCVTR.uasset new file mode 100644 index 0000000..5a32b9a Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/XV/VTAF5COFGLO9YT51MQCVTR.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/2J/R4MRTH8FEAO7ML1BCJFIZ2.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/2J/R4MRTH8FEAO7ML1BCJFIZ2.uasset new file mode 100644 index 0000000..13d0da5 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/2J/R4MRTH8FEAO7ML1BCJFIZ2.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/63/MG6FOV6QQX2CAZCGF7O9MM.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/63/MG6FOV6QQX2CAZCGF7O9MM.uasset new file mode 100644 index 0000000..1b2c120 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/63/MG6FOV6QQX2CAZCGF7O9MM.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/JT/XIHYQ8ZTVL6F9GCUZX1AQ2.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/JT/XIHYQ8ZTVL6F9GCUZX1AQ2.uasset new file mode 100644 index 0000000..31614c1 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/JT/XIHYQ8ZTVL6F9GCUZX1AQ2.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/OD/YPSPM063O6XAJVKSDHY2JX.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/OD/YPSPM063O6XAJVKSDHY2JX.uasset new file mode 100644 index 0000000..40b594c Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/OD/YPSPM063O6XAJVKSDHY2JX.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/0O/4IRR0TBO7VGKMMYSZRQTB1.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/0O/4IRR0TBO7VGKMMYSZRQTB1.uasset new file mode 100644 index 0000000..57b2455 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/0O/4IRR0TBO7VGKMMYSZRQTB1.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/AI/0XWE3RNM2XQC0ST1KXG02O.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/AI/0XWE3RNM2XQC0ST1KXG02O.uasset new file mode 100644 index 0000000..1d7f784 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/AI/0XWE3RNM2XQC0ST1KXG02O.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/C8/Z38FT77DKZLKDXTQ7PZNM4.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/C8/Z38FT77DKZLKDXTQ7PZNM4.uasset new file mode 100644 index 0000000..c69ee84 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/C8/Z38FT77DKZLKDXTQ7PZNM4.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/CP/XRLOR3HVYVHJA3N9PKGXZH.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/CP/XRLOR3HVYVHJA3N9PKGXZH.uasset new file mode 100644 index 0000000..bae9596 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/CP/XRLOR3HVYVHJA3N9PKGXZH.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/CR/SRVPLA8UNZ8XIIP0E036DI.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/CR/SRVPLA8UNZ8XIIP0E036DI.uasset new file mode 100644 index 0000000..be81427 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/CR/SRVPLA8UNZ8XIIP0E036DI.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/E5/6XON0XLIRNWJCBCE62P2VV.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/E5/6XON0XLIRNWJCBCE62P2VV.uasset new file mode 100644 index 0000000..6109348 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/E5/6XON0XLIRNWJCBCE62P2VV.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/G2/DXY1ROMU8NVTUPH999VNGV.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/G2/DXY1ROMU8NVTUPH999VNGV.uasset new file mode 100644 index 0000000..d1f6a66 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/G2/DXY1ROMU8NVTUPH999VNGV.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/PT/ZXUQMNLL9GZ2UNQ5D0R4A4.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/PT/ZXUQMNLL9GZ2UNQ5D0R4A4.uasset new file mode 100644 index 0000000..f95ac7c Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/PT/ZXUQMNLL9GZ2UNQ5D0R4A4.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/5/80/QQN0UFFAA797E1UT4IMD29.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/5/80/QQN0UFFAA797E1UT4IMD29.uasset new file mode 100644 index 0000000..8aa651d Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/5/80/QQN0UFFAA797E1UT4IMD29.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/5/DI/1JZHHCOBVQ2F5XRUWSES1X.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/5/DI/1JZHHCOBVQ2F5XRUWSES1X.uasset new file mode 100644 index 0000000..3dc8672 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/5/DI/1JZHHCOBVQ2F5XRUWSES1X.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/5/W4/MXSOOLN47B2MJB5ZNQINHQ.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/5/W4/MXSOOLN47B2MJB5ZNQINHQ.uasset new file mode 100644 index 0000000..0103c32 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/5/W4/MXSOOLN47B2MJB5ZNQINHQ.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/0Z/5RQIHCZ9W3UXRGL4LTLQAK.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/0Z/5RQIHCZ9W3UXRGL4LTLQAK.uasset new file mode 100644 index 0000000..3203a3f Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/0Z/5RQIHCZ9W3UXRGL4LTLQAK.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/7T/GM0EQ2Z7BN3RV91M3TA1BD.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/7T/GM0EQ2Z7BN3RV91M3TA1BD.uasset new file mode 100644 index 0000000..973a7e3 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/7T/GM0EQ2Z7BN3RV91M3TA1BD.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/7Z/7EHFAZ5HVWXAWQ04QO5TH0.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/7Z/7EHFAZ5HVWXAWQ04QO5TH0.uasset new file mode 100644 index 0000000..a6f4ed7 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/7Z/7EHFAZ5HVWXAWQ04QO5TH0.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/AJ/2XZ3RUK0LFB63FVNQE7P5R.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/AJ/2XZ3RUK0LFB63FVNQE7P5R.uasset new file mode 100644 index 0000000..4f681c5 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/AJ/2XZ3RUK0LFB63FVNQE7P5R.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/HC/FI3CQDKJY4J00D2B21FYQZ.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/HC/FI3CQDKJY4J00D2B21FYQZ.uasset new file mode 100644 index 0000000..5b5a222 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/HC/FI3CQDKJY4J00D2B21FYQZ.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/5X/6EW8RE9VA2GGHRWK614FCI.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/5X/6EW8RE9VA2GGHRWK614FCI.uasset new file mode 100644 index 0000000..1c9f1ed Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/5X/6EW8RE9VA2GGHRWK614FCI.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/8K/0OLPBOSZCPU1X7E3PCLCGF.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/8K/0OLPBOSZCPU1X7E3PCLCGF.uasset new file mode 100644 index 0000000..758cbc9 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/8K/0OLPBOSZCPU1X7E3PCLCGF.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/DF/1GID8P6B00XRWKYCXU7HT1.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/DF/1GID8P6B00XRWKYCXU7HT1.uasset new file mode 100644 index 0000000..d4f0cea Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/DF/1GID8P6B00XRWKYCXU7HT1.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/GI/GZM47KS5FPIQH5TLSYC1ME.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/GI/GZM47KS5FPIQH5TLSYC1ME.uasset new file mode 100644 index 0000000..73d527c Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/GI/GZM47KS5FPIQH5TLSYC1ME.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/I8/LH9T10MU22N3EEPTZ4GAFC.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/I8/LH9T10MU22N3EEPTZ4GAFC.uasset new file mode 100644 index 0000000..a2255f4 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/I8/LH9T10MU22N3EEPTZ4GAFC.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/L5/1ZJ54FMA0DAL3I2Q8RFAIB.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/L5/1ZJ54FMA0DAL3I2Q8RFAIB.uasset new file mode 100644 index 0000000..1980135 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/L5/1ZJ54FMA0DAL3I2Q8RFAIB.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/3M/4ATOKH0ZGPCVBS85MPKAXK.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/3M/4ATOKH0ZGPCVBS85MPKAXK.uasset new file mode 100644 index 0000000..4789f3e Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/3M/4ATOKH0ZGPCVBS85MPKAXK.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/80/RCXALNT3NG94XMV0V6D4XE.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/80/RCXALNT3NG94XMV0V6D4XE.uasset new file mode 100644 index 0000000..a685c46 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/80/RCXALNT3NG94XMV0V6D4XE.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/CF/ZNIOCRD90Z70MMV9NMW778.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/CF/ZNIOCRD90Z70MMV9NMW778.uasset new file mode 100644 index 0000000..cf6c6e7 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/CF/ZNIOCRD90Z70MMV9NMW778.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/CW/6HT16P8P5RAXNJG3EVYWE9.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/CW/6HT16P8P5RAXNJG3EVYWE9.uasset new file mode 100644 index 0000000..960fbf4 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/CW/6HT16P8P5RAXNJG3EVYWE9.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/N6/7HWHBG6K5ONLNTKPMLXMYR.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/N6/7HWHBG6K5ONLNTKPMLXMYR.uasset new file mode 100644 index 0000000..9e4facd Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/N6/7HWHBG6K5ONLNTKPMLXMYR.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/SZ/D1AHM62WL9TXSNPYQDXQMZ.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/SZ/D1AHM62WL9TXSNPYQDXQMZ.uasset new file mode 100644 index 0000000..b4447a9 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/SZ/D1AHM62WL9TXSNPYQDXQMZ.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/Y4/KY9ZXT77SAVGWBRTNCFCSC.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/Y4/KY9ZXT77SAVGWBRTNCFCSC.uasset new file mode 100644 index 0000000..72f5ec6 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/Y4/KY9ZXT77SAVGWBRTNCFCSC.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/Z7/W1SXRCM1KAKBJOIZDLHZ47.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/Z7/W1SXRCM1KAKBJOIZDLHZ47.uasset new file mode 100644 index 0000000..f539c37 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/Z7/W1SXRCM1KAKBJOIZDLHZ47.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/6K/53TOYTOLDEUBMS5SLUFP3V.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/6K/53TOYTOLDEUBMS5SLUFP3V.uasset new file mode 100644 index 0000000..13dce10 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/6K/53TOYTOLDEUBMS5SLUFP3V.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/JW/IY5R6I5N0YWU9LYWKXFXH9.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/JW/IY5R6I5N0YWU9LYWKXFXH9.uasset new file mode 100644 index 0000000..7d782b0 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/JW/IY5R6I5N0YWU9LYWKXFXH9.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/OJ/9MHHMH0XHVZ04YDZ7NPC32.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/OJ/9MHHMH0XHVZ04YDZ7NPC32.uasset new file mode 100644 index 0000000..ade9e76 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/OJ/9MHHMH0XHVZ04YDZ7NPC32.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/Q2/TOKV0KMMZ7RIQ78R0UEDQL.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/Q2/TOKV0KMMZ7RIQ78R0UEDQL.uasset new file mode 100644 index 0000000..2b927b5 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/Q2/TOKV0KMMZ7RIQ78R0UEDQL.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/VP/FVTPO8KZ0WPMCSQLVJE6O9.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/VP/FVTPO8KZ0WPMCSQLVJE6O9.uasset new file mode 100644 index 0000000..77c8830 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/VP/FVTPO8KZ0WPMCSQLVJE6O9.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/2W/U0XT0R08XQA6C15NK8ILFA.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/2W/U0XT0R08XQA6C15NK8ILFA.uasset new file mode 100644 index 0000000..12a66f9 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/2W/U0XT0R08XQA6C15NK8ILFA.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/KU/12YG9I1QW2GU72MG8QQX1K.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/KU/12YG9I1QW2GU72MG8QQX1K.uasset new file mode 100644 index 0000000..554da4f Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/KU/12YG9I1QW2GU72MG8QQX1K.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/RJ/Z7CLKO8GGJ7RXH5PUAF4T4.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/RJ/Z7CLKO8GGJ7RXH5PUAF4T4.uasset new file mode 100644 index 0000000..7525600 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/RJ/Z7CLKO8GGJ7RXH5PUAF4T4.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/XJ/HL558UUAGCS9HVVOI0S7PX.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/XJ/HL558UUAGCS9HVVOI0S7PX.uasset new file mode 100644 index 0000000..a091b66 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/XJ/HL558UUAGCS9HVVOI0S7PX.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/51/6JKB4DNGJP09QUHY23FHRV.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/51/6JKB4DNGJP09QUHY23FHRV.uasset new file mode 100644 index 0000000..7a199e0 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/51/6JKB4DNGJP09QUHY23FHRV.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/DD/654T6CAPVSXAN1LXEX71EI.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/DD/654T6CAPVSXAN1LXEX71EI.uasset new file mode 100644 index 0000000..c176833 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/DD/654T6CAPVSXAN1LXEX71EI.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/EF/G3O7YJR3QU51OHQGRYB635.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/EF/G3O7YJR3QU51OHQGRYB635.uasset new file mode 100644 index 0000000..619568f Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/EF/G3O7YJR3QU51OHQGRYB635.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/YQ/KT6JL4FVCNJJ9VFOCSF32J.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/YQ/KT6JL4FVCNJJ9VFOCSF32J.uasset new file mode 100644 index 0000000..4bd3f1c Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/YQ/KT6JL4FVCNJJ9VFOCSF32J.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/C/P8/0GJ9TLQE2YKOIFZ6YHG33H.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/C/P8/0GJ9TLQE2YKOIFZ6YHG33H.uasset new file mode 100644 index 0000000..f45ff69 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/C/P8/0GJ9TLQE2YKOIFZ6YHG33H.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/C/VO/VMN4G7K3NKKV6F8HTPHHDB.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/C/VO/VMN4G7K3NKKV6F8HTPHHDB.uasset new file mode 100644 index 0000000..eb741c8 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/C/VO/VMN4G7K3NKKV6F8HTPHHDB.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/D/0W/E1FKEGVKGOLM7HGLQPCIPO.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/D/0W/E1FKEGVKGOLM7HGLQPCIPO.uasset new file mode 100644 index 0000000..8a7f150 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/D/0W/E1FKEGVKGOLM7HGLQPCIPO.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/E/MX/R1GV431P5FDO08OFULRA01.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/E/MX/R1GV431P5FDO08OFULRA01.uasset new file mode 100644 index 0000000..9f9f3bb Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/E/MX/R1GV431P5FDO08OFULRA01.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/E/UE/YUZ9741T50O1SYRX90OB0S.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/E/UE/YUZ9741T50O1SYRX90OB0S.uasset new file mode 100644 index 0000000..4681368 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/E/UE/YUZ9741T50O1SYRX90OB0S.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/E/V3/ICWLYCF62EJ63XTK5ZSZWV.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/E/V3/ICWLYCF62EJ63XTK5ZSZWV.uasset new file mode 100644 index 0000000..3f9a52a Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/E/V3/ICWLYCF62EJ63XTK5ZSZWV.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/F/2F/0SPQG8P507LI9VUAFG20OA.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/F/2F/0SPQG8P507LI9VUAFG20OA.uasset new file mode 100644 index 0000000..f3d9198 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/F/2F/0SPQG8P507LI9VUAFG20OA.uasset differ diff --git a/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/1/KG/WXBHR5YF7EMN5ENSKZGERE.uasset b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/1/KG/WXBHR5YF7EMN5ENSKZGERE.uasset new file mode 100644 index 0000000..4f8efdd Binary files /dev/null and b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/1/KG/WXBHR5YF7EMN5ENSKZGERE.uasset differ diff --git a/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/3/BY/K2NKB37FY83282ZJ5Q84B9.uasset b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/3/BY/K2NKB37FY83282ZJ5Q84B9.uasset new file mode 100644 index 0000000..c060d56 Binary files /dev/null and b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/3/BY/K2NKB37FY83282ZJ5Q84B9.uasset differ diff --git a/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/5/68/DK3EWP7A4H1CU1MWJ4M3SR.uasset b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/5/68/DK3EWP7A4H1CU1MWJ4M3SR.uasset new file mode 100644 index 0000000..492668b Binary files /dev/null and b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/5/68/DK3EWP7A4H1CU1MWJ4M3SR.uasset differ diff --git a/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/6/B8/RE8N15L5TGXIQNKLJO5ONQ.uasset b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/6/B8/RE8N15L5TGXIQNKLJO5ONQ.uasset new file mode 100644 index 0000000..58faa97 Binary files /dev/null and b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/6/B8/RE8N15L5TGXIQNKLJO5ONQ.uasset differ diff --git a/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/6/VE/TF378B0L0V6R2E9RYZ61WK.uasset b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/6/VE/TF378B0L0V6R2E9RYZ61WK.uasset new file mode 100644 index 0000000..df555a6 Binary files /dev/null and b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/6/VE/TF378B0L0V6R2E9RYZ61WK.uasset differ diff --git a/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/7/XG/B4XEEQD3M51IAE3XXUCIGI.uasset b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/7/XG/B4XEEQD3M51IAE3XXUCIGI.uasset new file mode 100644 index 0000000..bcff0f3 Binary files /dev/null and b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/7/XG/B4XEEQD3M51IAE3XXUCIGI.uasset differ diff --git a/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/9/NP/OGSW48O49NB75KV3Y5NAUU.uasset b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/9/NP/OGSW48O49NB75KV3Y5NAUU.uasset new file mode 100644 index 0000000..f8cd35f Binary files /dev/null and b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/9/NP/OGSW48O49NB75KV3Y5NAUU.uasset differ diff --git a/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/E/D1/9XTHNJ7RYMHRDCEYQKNIYP.uasset b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/E/D1/9XTHNJ7RYMHRDCEYQKNIYP.uasset new file mode 100644 index 0000000..24caa46 Binary files /dev/null and b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/E/D1/9XTHNJ7RYMHRDCEYQKNIYP.uasset differ diff --git a/ProjectLighthouse.code-workspace b/ProjectLighthouse.code-workspace new file mode 100644 index 0000000..825ae76 --- /dev/null +++ b/ProjectLighthouse.code-workspace @@ -0,0 +1,613 @@ +{ + "folders": [ + { + "name": "ProjectLighthouse", + "path": "." + }, + { + "name": "UE5", + "path": "E:\\Epic Games\\UE_5.4" + } + ], + "settings": { + "typescript.tsc.autoDetect": "off", + "npm.autoDetect": "off" + }, + "extensions": { + "recommendations": [ + "ms-vscode.cpptools", + "ms-dotnettools.csharp" + ] + }, + "tasks": { + "version": "2.0.0", + "tasks": [ + { + "label": "ProjectLighthouse Win64 Debug Build", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Build.bat", + "args": [ + "ProjectLighthouse", + "Win64", + "Debug", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouse Win64 Debug Rebuild", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Build.bat", + "args": [ + "ProjectLighthouse", + "Win64", + "Debug", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "dependsOn": [ + "ProjectLighthouse Win64 Debug Clean" + ], + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouse Win64 Debug Clean", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Clean.bat", + "args": [ + "ProjectLighthouse", + "Win64", + "Debug", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouse Win64 DebugGame Build", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Build.bat", + "args": [ + "ProjectLighthouse", + "Win64", + "DebugGame", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouse Win64 DebugGame Rebuild", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Build.bat", + "args": [ + "ProjectLighthouse", + "Win64", + "DebugGame", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "dependsOn": [ + "ProjectLighthouse Win64 DebugGame Clean" + ], + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouse Win64 DebugGame Clean", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Clean.bat", + "args": [ + "ProjectLighthouse", + "Win64", + "DebugGame", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouse Win64 Development Build", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Build.bat", + "args": [ + "ProjectLighthouse", + "Win64", + "Development", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouse Win64 Development Rebuild", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Build.bat", + "args": [ + "ProjectLighthouse", + "Win64", + "Development", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "dependsOn": [ + "ProjectLighthouse Win64 Development Clean" + ], + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouse Win64 Development Clean", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Clean.bat", + "args": [ + "ProjectLighthouse", + "Win64", + "Development", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouse Win64 Test Build", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Build.bat", + "args": [ + "ProjectLighthouse", + "Win64", + "Test", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouse Win64 Test Rebuild", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Build.bat", + "args": [ + "ProjectLighthouse", + "Win64", + "Test", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "dependsOn": [ + "ProjectLighthouse Win64 Test Clean" + ], + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouse Win64 Test Clean", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Clean.bat", + "args": [ + "ProjectLighthouse", + "Win64", + "Test", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouse Win64 Shipping Build", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Build.bat", + "args": [ + "ProjectLighthouse", + "Win64", + "Shipping", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouse Win64 Shipping Rebuild", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Build.bat", + "args": [ + "ProjectLighthouse", + "Win64", + "Shipping", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "dependsOn": [ + "ProjectLighthouse Win64 Shipping Clean" + ], + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouse Win64 Shipping Clean", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Clean.bat", + "args": [ + "ProjectLighthouse", + "Win64", + "Shipping", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouseEditor Win64 Debug Build", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Build.bat", + "args": [ + "ProjectLighthouseEditor", + "Win64", + "Debug", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouseEditor Win64 Debug Rebuild", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Build.bat", + "args": [ + "ProjectLighthouseEditor", + "Win64", + "Debug", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "dependsOn": [ + "ProjectLighthouseEditor Win64 Debug Clean" + ], + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouseEditor Win64 Debug Clean", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Clean.bat", + "args": [ + "ProjectLighthouseEditor", + "Win64", + "Debug", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouseEditor Win64 DebugGame Build", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Build.bat", + "args": [ + "ProjectLighthouseEditor", + "Win64", + "DebugGame", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouseEditor Win64 DebugGame Rebuild", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Build.bat", + "args": [ + "ProjectLighthouseEditor", + "Win64", + "DebugGame", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "dependsOn": [ + "ProjectLighthouseEditor Win64 DebugGame Clean" + ], + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouseEditor Win64 DebugGame Clean", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Clean.bat", + "args": [ + "ProjectLighthouseEditor", + "Win64", + "DebugGame", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouseEditor Win64 Development Build", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Build.bat", + "args": [ + "ProjectLighthouseEditor", + "Win64", + "Development", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouseEditor Win64 Development Rebuild", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Build.bat", + "args": [ + "ProjectLighthouseEditor", + "Win64", + "Development", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "dependsOn": [ + "ProjectLighthouseEditor Win64 Development Clean" + ], + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + }, + { + "label": "ProjectLighthouseEditor Win64 Development Clean", + "group": "build", + "command": "Engine\\Build\\BatchFiles\\Clean.bat", + "args": [ + "ProjectLighthouseEditor", + "Win64", + "Development", + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-waitmutex" + ], + "problemMatcher": "$msCompile", + "type": "shell", + "options": { + "cwd": "E:\\Epic Games\\UE_5.4" + } + } + ] + }, + "launch": { + "version": "0.2.0", + "configurations": [ + { + "name": "Launch ProjectLighthouse (Debug)", + "request": "launch", + "program": "E:\\Unreal Projects\\ProjectLighthouse\\Binaries\\Win64\\UnrealGame-Win64-Debug.exe", + "preLaunchTask": "ProjectLighthouse Win64 Debug Build", + "args": [ + ], + "cwd": "E:\\Epic Games\\UE_5.4", + "stopAtEntry": false, + "console": "integratedTerminal", + "type": "cppvsdbg", + "visualizerFile": "E:\\Epic Games\\UE_5.4\\Engine\\Extras\\VisualStudioDebugging\\Unreal.natvis", + "sourceFileMap": { + "D:\\build\\++UE5\\Sync": "E:\\Epic Games\\UE_5.4" + } + }, + { + "name": "Launch ProjectLighthouse (DebugGame)", + "request": "launch", + "program": "E:\\Unreal Projects\\ProjectLighthouse\\Binaries\\Win64\\UnrealGame-Win64-DebugGame.exe", + "preLaunchTask": "ProjectLighthouse Win64 DebugGame Build", + "args": [ + ], + "cwd": "E:\\Epic Games\\UE_5.4", + "stopAtEntry": false, + "console": "integratedTerminal", + "type": "cppvsdbg", + "visualizerFile": "E:\\Epic Games\\UE_5.4\\Engine\\Extras\\VisualStudioDebugging\\Unreal.natvis", + "sourceFileMap": { + "D:\\build\\++UE5\\Sync": "E:\\Epic Games\\UE_5.4" + } + }, + { + "name": "Launch ProjectLighthouse (Development)", + "request": "launch", + "program": "E:\\Unreal Projects\\ProjectLighthouse\\Binaries\\Win64\\UnrealGame.exe", + "preLaunchTask": "ProjectLighthouse Win64 Development Build", + "args": [ + ], + "cwd": "E:\\Epic Games\\UE_5.4", + "stopAtEntry": false, + "console": "integratedTerminal", + "type": "cppvsdbg", + "visualizerFile": "E:\\Epic Games\\UE_5.4\\Engine\\Extras\\VisualStudioDebugging\\Unreal.natvis", + "sourceFileMap": { + "D:\\build\\++UE5\\Sync": "E:\\Epic Games\\UE_5.4" + } + }, + { + "name": "Launch ProjectLighthouse (Test)", + "request": "launch", + "program": "E:\\Unreal Projects\\ProjectLighthouse\\Binaries\\Win64\\UnrealGame-Win64-Test.exe", + "preLaunchTask": "ProjectLighthouse Win64 Test Build", + "args": [ + ], + "cwd": "E:\\Epic Games\\UE_5.4", + "stopAtEntry": false, + "console": "integratedTerminal", + "type": "cppvsdbg", + "visualizerFile": "E:\\Epic Games\\UE_5.4\\Engine\\Extras\\VisualStudioDebugging\\Unreal.natvis", + "sourceFileMap": { + "D:\\build\\++UE5\\Sync": "E:\\Epic Games\\UE_5.4" + } + }, + { + "name": "Launch ProjectLighthouse (Shipping)", + "request": "launch", + "program": "E:\\Unreal Projects\\ProjectLighthouse\\Binaries\\Win64\\UnrealGame-Win64-Shipping.exe", + "preLaunchTask": "ProjectLighthouse Win64 Shipping Build", + "args": [ + ], + "cwd": "E:\\Epic Games\\UE_5.4", + "stopAtEntry": false, + "console": "integratedTerminal", + "type": "cppvsdbg", + "visualizerFile": "E:\\Epic Games\\UE_5.4\\Engine\\Extras\\VisualStudioDebugging\\Unreal.natvis", + "sourceFileMap": { + "D:\\build\\++UE5\\Sync": "E:\\Epic Games\\UE_5.4" + } + }, + { + "name": "Launch ProjectLighthouseEditor (Debug)", + "request": "launch", + "program": "E:\\Epic Games\\UE_5.4\\Engine\\Binaries\\Win64\\UnrealEditor-Win64-Debug.exe", + "preLaunchTask": "ProjectLighthouseEditor Win64 Debug Build", + "args": [ + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject" + ], + "cwd": "E:\\Epic Games\\UE_5.4", + "stopAtEntry": false, + "console": "integratedTerminal", + "type": "cppvsdbg", + "visualizerFile": "E:\\Epic Games\\UE_5.4\\Engine\\Extras\\VisualStudioDebugging\\Unreal.natvis", + "sourceFileMap": { + "D:\\build\\++UE5\\Sync": "E:\\Epic Games\\UE_5.4" + } + }, + { + "name": "Launch ProjectLighthouseEditor (DebugGame)", + "request": "launch", + "program": "E:\\Epic Games\\UE_5.4\\Engine\\Binaries\\Win64\\UnrealEditor-Win64-DebugGame.exe", + "preLaunchTask": "ProjectLighthouseEditor Win64 DebugGame Build", + "args": [ + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject" + ], + "cwd": "E:\\Epic Games\\UE_5.4", + "stopAtEntry": false, + "console": "integratedTerminal", + "type": "cppvsdbg", + "visualizerFile": "E:\\Epic Games\\UE_5.4\\Engine\\Extras\\VisualStudioDebugging\\Unreal.natvis", + "sourceFileMap": { + "D:\\build\\++UE5\\Sync": "E:\\Epic Games\\UE_5.4" + } + }, + { + "name": "Launch ProjectLighthouseEditor (Development)", + "request": "launch", + "program": "E:\\Epic Games\\UE_5.4\\Engine\\Binaries\\Win64\\UnrealEditor.exe", + "preLaunchTask": "ProjectLighthouseEditor Win64 Development Build", + "args": [ + "E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject" + ], + "cwd": "E:\\Epic Games\\UE_5.4", + "stopAtEntry": false, + "console": "integratedTerminal", + "type": "cppvsdbg", + "visualizerFile": "E:\\Epic Games\\UE_5.4\\Engine\\Extras\\VisualStudioDebugging\\Unreal.natvis", + "sourceFileMap": { + "D:\\build\\++UE5\\Sync": "E:\\Epic Games\\UE_5.4" + } + }, + { + "name": "Generate Project Files", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "UnrealBuildTool Win64 Development Build", + "program": "E:\\Epic Games\\UE_5.4\\Engine\\Build\\BatchFiles\\RunUBT.bat", + "args": [ + "-projectfiles", + "-vscode", + "-project=E:\\Unreal Projects\\ProjectLighthouse\\ProjectLighthouse.uproject", + "-game", + "-engine", + "-dotnet" + ], + "console": "integratedTerminal", + "stopAtEntry": false, + "cwd": "E:\\Epic Games\\UE_5.4" + } + ] + } +} diff --git a/ProjectLighthouse.uproject b/ProjectLighthouse.uproject new file mode 100644 index 0000000..221e2dc --- /dev/null +++ b/ProjectLighthouse.uproject @@ -0,0 +1,22 @@ +{ + "FileVersion": 3, + "EngineAssociation": "5.4", + "Category": "", + "Description": "", + "Modules": [ + { + "Name": "ProjectLighthouse", + "Type": "Runtime", + "LoadingPhase": "Default" + } + ], + "Plugins": [ + { + "Name": "ModelingToolsEditorMode", + "Enabled": true, + "TargetAllowList": [ + "Editor" + ] + } + ] +} \ No newline at end of file diff --git a/Source/ProjectLighthouse.Target.cs b/Source/ProjectLighthouse.Target.cs new file mode 100644 index 0000000..9020958 --- /dev/null +++ b/Source/ProjectLighthouse.Target.cs @@ -0,0 +1,15 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using UnrealBuildTool; +using System.Collections.Generic; + +public class ProjectLighthouseTarget : TargetRules +{ + public ProjectLighthouseTarget(TargetInfo Target) : base(Target) + { + Type = TargetType.Game; + DefaultBuildSettings = BuildSettingsVersion.V5; + IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_4; + ExtraModuleNames.Add("ProjectLighthouse"); + } +} diff --git a/Source/ProjectLighthouse/ProjectLighthouse.Build.cs b/Source/ProjectLighthouse/ProjectLighthouse.Build.cs new file mode 100644 index 0000000..b38f9e8 --- /dev/null +++ b/Source/ProjectLighthouse/ProjectLighthouse.Build.cs @@ -0,0 +1,13 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using UnrealBuildTool; + +public class ProjectLighthouse : ModuleRules +{ + public ProjectLighthouse(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "EnhancedInput" }); + } +} diff --git a/Source/ProjectLighthouse/ProjectLighthouse.cpp b/Source/ProjectLighthouse/ProjectLighthouse.cpp new file mode 100644 index 0000000..7c0bfd5 --- /dev/null +++ b/Source/ProjectLighthouse/ProjectLighthouse.cpp @@ -0,0 +1,7 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "ProjectLighthouse.h" +#include "Modules/ModuleManager.h" + +IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, ProjectLighthouse, "ProjectLighthouse" ); + \ No newline at end of file diff --git a/Source/ProjectLighthouse/ProjectLighthouse.h b/Source/ProjectLighthouse/ProjectLighthouse.h new file mode 100644 index 0000000..ddbf2e2 --- /dev/null +++ b/Source/ProjectLighthouse/ProjectLighthouse.h @@ -0,0 +1,5 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" diff --git a/Source/ProjectLighthouse/ProjectLighthouseCharacter.cpp b/Source/ProjectLighthouse/ProjectLighthouseCharacter.cpp new file mode 100644 index 0000000..03fced5 --- /dev/null +++ b/Source/ProjectLighthouse/ProjectLighthouseCharacter.cpp @@ -0,0 +1,95 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "ProjectLighthouseCharacter.h" +#include "ProjectLighthouseProjectile.h" +#include "Animation/AnimInstance.h" +#include "Camera/CameraComponent.h" +#include "Components/CapsuleComponent.h" +#include "Components/SkeletalMeshComponent.h" +#include "EnhancedInputComponent.h" +#include "EnhancedInputSubsystems.h" +#include "InputActionValue.h" +#include "Engine/LocalPlayer.h" + +DEFINE_LOG_CATEGORY(LogTemplateCharacter); + +////////////////////////////////////////////////////////////////////////// +// AProjectLighthouseCharacter + +AProjectLighthouseCharacter::AProjectLighthouseCharacter() +{ + // Set size for collision capsule + GetCapsuleComponent()->InitCapsuleSize(55.f, 96.0f); + + // Create a CameraComponent + FirstPersonCameraComponent = CreateDefaultSubobject(TEXT("FirstPersonCamera")); + FirstPersonCameraComponent->SetupAttachment(GetCapsuleComponent()); + FirstPersonCameraComponent->SetRelativeLocation(FVector(-10.f, 0.f, 60.f)); // Position the camera + FirstPersonCameraComponent->bUsePawnControlRotation = true; + + // Create a mesh component that will be used when being viewed from a '1st person' view (when controlling this pawn) + Mesh1P = CreateDefaultSubobject(TEXT("CharacterMesh1P")); + Mesh1P->SetOnlyOwnerSee(true); + Mesh1P->SetupAttachment(FirstPersonCameraComponent); + Mesh1P->bCastDynamicShadow = false; + Mesh1P->CastShadow = false; + //Mesh1P->SetRelativeRotation(FRotator(0.9f, -19.19f, 5.2f)); + Mesh1P->SetRelativeLocation(FVector(-30.f, 0.f, -150.f)); + +} + +void AProjectLighthouseCharacter::BeginPlay() +{ + // Call the base class + Super::BeginPlay(); +} + +//////////////////////////////////////////////////////////////////////////// Input + +void AProjectLighthouseCharacter::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent) +{ + // Set up action bindings + if (UEnhancedInputComponent* EnhancedInputComponent = Cast(PlayerInputComponent)) + { + // Jumping + EnhancedInputComponent->BindAction(JumpAction, ETriggerEvent::Started, this, &ACharacter::Jump); + EnhancedInputComponent->BindAction(JumpAction, ETriggerEvent::Completed, this, &ACharacter::StopJumping); + + // Moving + EnhancedInputComponent->BindAction(MoveAction, ETriggerEvent::Triggered, this, &AProjectLighthouseCharacter::Move); + + // Looking + EnhancedInputComponent->BindAction(LookAction, ETriggerEvent::Triggered, this, &AProjectLighthouseCharacter::Look); + } + else + { + UE_LOG(LogTemplateCharacter, Error, TEXT("'%s' Failed to find an Enhanced Input Component! This template is built to use the Enhanced Input system. If you intend to use the legacy system, then you will need to update this C++ file."), *GetNameSafe(this)); + } +} + + +void AProjectLighthouseCharacter::Move(const FInputActionValue& Value) +{ + // input is a Vector2D + FVector2D MovementVector = Value.Get(); + + if (Controller != nullptr) + { + // add movement + AddMovementInput(GetActorForwardVector(), MovementVector.Y); + AddMovementInput(GetActorRightVector(), MovementVector.X); + } +} + +void AProjectLighthouseCharacter::Look(const FInputActionValue& Value) +{ + // input is a Vector2D + FVector2D LookAxisVector = Value.Get(); + + if (Controller != nullptr) + { + // add yaw and pitch input to controller + AddControllerYawInput(LookAxisVector.X); + AddControllerPitchInput(LookAxisVector.Y); + } +} \ No newline at end of file diff --git a/Source/ProjectLighthouse/ProjectLighthouseCharacter.h b/Source/ProjectLighthouse/ProjectLighthouseCharacter.h new file mode 100644 index 0000000..b85f5ee --- /dev/null +++ b/Source/ProjectLighthouse/ProjectLighthouseCharacter.h @@ -0,0 +1,71 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "GameFramework/Character.h" +#include "Logging/LogMacros.h" +#include "ProjectLighthouseCharacter.generated.h" + +class UInputComponent; +class USkeletalMeshComponent; +class UCameraComponent; +class UInputAction; +class UInputMappingContext; +struct FInputActionValue; + +DECLARE_LOG_CATEGORY_EXTERN(LogTemplateCharacter, Log, All); + +UCLASS(config=Game) +class AProjectLighthouseCharacter : public ACharacter +{ + GENERATED_BODY() + + /** Pawn mesh: 1st person view (arms; seen only by self) */ + UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category=Mesh, meta = (AllowPrivateAccess = "true")) + USkeletalMeshComponent* Mesh1P; + + /** First person camera */ + UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true")) + UCameraComponent* FirstPersonCameraComponent; + + /** Jump Input Action */ + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=Input, meta=(AllowPrivateAccess = "true")) + UInputAction* JumpAction; + + /** Move Input Action */ + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=Input, meta=(AllowPrivateAccess = "true")) + UInputAction* MoveAction; + +public: + AProjectLighthouseCharacter(); + +protected: + virtual void BeginPlay(); + +public: + + /** Look Input Action */ + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Input, meta = (AllowPrivateAccess = "true")) + class UInputAction* LookAction; + +protected: + /** Called for movement input */ + void Move(const FInputActionValue& Value); + + /** Called for looking input */ + void Look(const FInputActionValue& Value); + +protected: + // APawn interface + virtual void SetupPlayerInputComponent(UInputComponent* InputComponent) override; + // End of APawn interface + +public: + /** Returns Mesh1P subobject **/ + USkeletalMeshComponent* GetMesh1P() const { return Mesh1P; } + /** Returns FirstPersonCameraComponent subobject **/ + UCameraComponent* GetFirstPersonCameraComponent() const { return FirstPersonCameraComponent; } + +}; + diff --git a/Source/ProjectLighthouse/ProjectLighthouseGameMode.cpp b/Source/ProjectLighthouse/ProjectLighthouseGameMode.cpp new file mode 100644 index 0000000..372ee56 --- /dev/null +++ b/Source/ProjectLighthouse/ProjectLighthouseGameMode.cpp @@ -0,0 +1,14 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "ProjectLighthouseGameMode.h" +#include "ProjectLighthouseCharacter.h" +#include "UObject/ConstructorHelpers.h" + +AProjectLighthouseGameMode::AProjectLighthouseGameMode() + : Super() +{ + // set default pawn class to our Blueprinted character + static ConstructorHelpers::FClassFinder PlayerPawnClassFinder(TEXT("/Game/FirstPerson/Blueprints/BP_FirstPersonCharacter")); + DefaultPawnClass = PlayerPawnClassFinder.Class; + +} diff --git a/Source/ProjectLighthouse/ProjectLighthouseGameMode.h b/Source/ProjectLighthouse/ProjectLighthouseGameMode.h new file mode 100644 index 0000000..085be4c --- /dev/null +++ b/Source/ProjectLighthouse/ProjectLighthouseGameMode.h @@ -0,0 +1,19 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "GameFramework/GameModeBase.h" +#include "ProjectLighthouseGameMode.generated.h" + +UCLASS(minimalapi) +class AProjectLighthouseGameMode : public AGameModeBase +{ + GENERATED_BODY() + +public: + AProjectLighthouseGameMode(); +}; + + + diff --git a/Source/ProjectLighthouse/ProjectLighthousePlayerController.cpp b/Source/ProjectLighthouse/ProjectLighthousePlayerController.cpp new file mode 100644 index 0000000..9b9f8bf --- /dev/null +++ b/Source/ProjectLighthouse/ProjectLighthousePlayerController.cpp @@ -0,0 +1,18 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + + +#include "ProjectLighthousePlayerController.h" +#include "EnhancedInputSubsystems.h" +#include "Engine/LocalPlayer.h" + +void AProjectLighthousePlayerController::BeginPlay() +{ + Super::BeginPlay(); + + // get the enhanced input subsystem + if (UEnhancedInputLocalPlayerSubsystem* Subsystem = ULocalPlayer::GetSubsystem(GetLocalPlayer())) + { + // add the mapping context so we get controls + Subsystem->AddMappingContext(InputMappingContext, 0); + } +} \ No newline at end of file diff --git a/Source/ProjectLighthouse/ProjectLighthousePlayerController.h b/Source/ProjectLighthouse/ProjectLighthousePlayerController.h new file mode 100644 index 0000000..80dd154 --- /dev/null +++ b/Source/ProjectLighthouse/ProjectLighthousePlayerController.h @@ -0,0 +1,31 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "GameFramework/PlayerController.h" +#include "ProjectLighthousePlayerController.generated.h" + +class UInputMappingContext; + +/** + * + */ +UCLASS() +class PROJECTLIGHTHOUSE_API AProjectLighthousePlayerController : public APlayerController +{ + GENERATED_BODY() + +protected: + + /** Input Mapping Context to be used for player input */ + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Input) + UInputMappingContext* InputMappingContext; + + // Begin Actor interface +protected: + + virtual void BeginPlay() override; + + // End Actor interface +}; diff --git a/Source/ProjectLighthouse/ProjectLighthouseProjectile.cpp b/Source/ProjectLighthouse/ProjectLighthouseProjectile.cpp new file mode 100644 index 0000000..8c19b0f --- /dev/null +++ b/Source/ProjectLighthouse/ProjectLighthouseProjectile.cpp @@ -0,0 +1,43 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "ProjectLighthouseProjectile.h" +#include "GameFramework/ProjectileMovementComponent.h" +#include "Components/SphereComponent.h" + +AProjectLighthouseProjectile::AProjectLighthouseProjectile() +{ + // Use a sphere as a simple collision representation + CollisionComp = CreateDefaultSubobject(TEXT("SphereComp")); + CollisionComp->InitSphereRadius(5.0f); + CollisionComp->BodyInstance.SetCollisionProfileName("Projectile"); + CollisionComp->OnComponentHit.AddDynamic(this, &AProjectLighthouseProjectile::OnHit); // set up a notification for when this component hits something blocking + + // Players can't walk on it + CollisionComp->SetWalkableSlopeOverride(FWalkableSlopeOverride(WalkableSlope_Unwalkable, 0.f)); + CollisionComp->CanCharacterStepUpOn = ECB_No; + + // Set as root component + RootComponent = CollisionComp; + + // Use a ProjectileMovementComponent to govern this projectile's movement + ProjectileMovement = CreateDefaultSubobject(TEXT("ProjectileComp")); + ProjectileMovement->UpdatedComponent = CollisionComp; + ProjectileMovement->InitialSpeed = 3000.f; + ProjectileMovement->MaxSpeed = 3000.f; + ProjectileMovement->bRotationFollowsVelocity = true; + ProjectileMovement->bShouldBounce = true; + + // Die after 3 seconds by default + InitialLifeSpan = 3.0f; +} + +void AProjectLighthouseProjectile::OnHit(UPrimitiveComponent* HitComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit) +{ + // Only add impulse and destroy projectile if we hit a physics + if ((OtherActor != nullptr) && (OtherActor != this) && (OtherComp != nullptr) && OtherComp->IsSimulatingPhysics()) + { + OtherComp->AddImpulseAtLocation(GetVelocity() * 100.0f, GetActorLocation()); + + Destroy(); + } +} \ No newline at end of file diff --git a/Source/ProjectLighthouse/ProjectLighthouseProjectile.h b/Source/ProjectLighthouse/ProjectLighthouseProjectile.h new file mode 100644 index 0000000..cc2ad4c --- /dev/null +++ b/Source/ProjectLighthouse/ProjectLighthouseProjectile.h @@ -0,0 +1,37 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "GameFramework/Actor.h" +#include "ProjectLighthouseProjectile.generated.h" + +class USphereComponent; +class UProjectileMovementComponent; + +UCLASS(config=Game) +class AProjectLighthouseProjectile : public AActor +{ + GENERATED_BODY() + + /** Sphere collision component */ + UPROPERTY(VisibleDefaultsOnly, Category=Projectile) + USphereComponent* CollisionComp; + + /** Projectile movement component */ + UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Movement, meta = (AllowPrivateAccess = "true")) + UProjectileMovementComponent* ProjectileMovement; + +public: + AProjectLighthouseProjectile(); + + /** called when projectile hits something */ + UFUNCTION() + void OnHit(UPrimitiveComponent* HitComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit); + + /** Returns CollisionComp subobject **/ + USphereComponent* GetCollisionComp() const { return CollisionComp; } + /** Returns ProjectileMovement subobject **/ + UProjectileMovementComponent* GetProjectileMovement() const { return ProjectileMovement; } +}; + diff --git a/Source/ProjectLighthouse/TP_PickUpComponent.cpp b/Source/ProjectLighthouse/TP_PickUpComponent.cpp new file mode 100644 index 0000000..086fb40 --- /dev/null +++ b/Source/ProjectLighthouse/TP_PickUpComponent.cpp @@ -0,0 +1,31 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "TP_PickUpComponent.h" + +UTP_PickUpComponent::UTP_PickUpComponent() +{ + // Setup the Sphere Collision + SphereRadius = 32.f; +} + +void UTP_PickUpComponent::BeginPlay() +{ + Super::BeginPlay(); + + // Register our Overlap Event + OnComponentBeginOverlap.AddDynamic(this, &UTP_PickUpComponent::OnSphereBeginOverlap); +} + +void UTP_PickUpComponent::OnSphereBeginOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult) +{ + // Checking if it is a First Person Character overlapping + AProjectLighthouseCharacter* Character = Cast(OtherActor); + if(Character != nullptr) + { + // Notify that the actor is being picked up + OnPickUp.Broadcast(Character); + + // Unregister from the Overlap Event so it is no longer triggered + OnComponentBeginOverlap.RemoveAll(this); + } +} diff --git a/Source/ProjectLighthouse/TP_PickUpComponent.h b/Source/ProjectLighthouse/TP_PickUpComponent.h new file mode 100644 index 0000000..11516d0 --- /dev/null +++ b/Source/ProjectLighthouse/TP_PickUpComponent.h @@ -0,0 +1,34 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Components/SphereComponent.h" +#include "ProjectLighthouseCharacter.h" +#include "TP_PickUpComponent.generated.h" + +// Declaration of the delegate that will be called when someone picks this up +// The character picking this up is the parameter sent with the notification +DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPickUp, AProjectLighthouseCharacter*, PickUpCharacter); + +UCLASS(Blueprintable, BlueprintType, ClassGroup = (Custom), meta = (BlueprintSpawnableComponent)) +class PROJECTLIGHTHOUSE_API UTP_PickUpComponent : public USphereComponent +{ + GENERATED_BODY() + +public: + + /** Delegate to whom anyone can subscribe to receive this event */ + UPROPERTY(BlueprintAssignable, Category = "Interaction") + FOnPickUp OnPickUp; + + UTP_PickUpComponent(); +protected: + + /** Called when the game starts */ + virtual void BeginPlay() override; + + /** Code for when something overlaps this component */ + UFUNCTION() + void OnSphereBeginOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult); +}; \ No newline at end of file diff --git a/Source/ProjectLighthouse/TP_WeaponComponent.cpp b/Source/ProjectLighthouse/TP_WeaponComponent.cpp new file mode 100644 index 0000000..de094f9 --- /dev/null +++ b/Source/ProjectLighthouse/TP_WeaponComponent.cpp @@ -0,0 +1,119 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + + +#include "TP_WeaponComponent.h" +#include "ProjectLighthouseCharacter.h" +#include "ProjectLighthouseProjectile.h" +#include "GameFramework/PlayerController.h" +#include "Camera/PlayerCameraManager.h" +#include "Kismet/GameplayStatics.h" +#include "EnhancedInputComponent.h" +#include "EnhancedInputSubsystems.h" +#include "Animation/AnimInstance.h" +#include "Engine/LocalPlayer.h" +#include "Engine/World.h" + +// Sets default values for this component's properties +UTP_WeaponComponent::UTP_WeaponComponent() +{ + // Default offset from the character location for projectiles to spawn + MuzzleOffset = FVector(100.0f, 0.0f, 10.0f); +} + + +void UTP_WeaponComponent::Fire() +{ + if (Character == nullptr || Character->GetController() == nullptr) + { + return; + } + + // Try and fire a projectile + if (ProjectileClass != nullptr) + { + UWorld* const World = GetWorld(); + if (World != nullptr) + { + APlayerController* PlayerController = Cast(Character->GetController()); + const FRotator SpawnRotation = PlayerController->PlayerCameraManager->GetCameraRotation(); + // MuzzleOffset is in camera space, so transform it to world space before offsetting from the character location to find the final muzzle position + const FVector SpawnLocation = GetOwner()->GetActorLocation() + SpawnRotation.RotateVector(MuzzleOffset); + + //Set Spawn Collision Handling Override + FActorSpawnParameters ActorSpawnParams; + ActorSpawnParams.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButDontSpawnIfColliding; + + // Spawn the projectile at the muzzle + World->SpawnActor(ProjectileClass, SpawnLocation, SpawnRotation, ActorSpawnParams); + } + } + + // Try and play the sound if specified + if (FireSound != nullptr) + { + UGameplayStatics::PlaySoundAtLocation(this, FireSound, Character->GetActorLocation()); + } + + // Try and play a firing animation if specified + if (FireAnimation != nullptr) + { + // Get the animation object for the arms mesh + UAnimInstance* AnimInstance = Character->GetMesh1P()->GetAnimInstance(); + if (AnimInstance != nullptr) + { + AnimInstance->Montage_Play(FireAnimation, 1.f); + } + } +} + +bool UTP_WeaponComponent::AttachWeapon(AProjectLighthouseCharacter* TargetCharacter) +{ + Character = TargetCharacter; + + // Check that the character is valid, and has no weapon component yet + if (Character == nullptr || Character->GetInstanceComponents().FindItemByClass()) + { + return false; + } + + // Attach the weapon to the First Person Character + FAttachmentTransformRules AttachmentRules(EAttachmentRule::SnapToTarget, true); + AttachToComponent(Character->GetMesh1P(), AttachmentRules, FName(TEXT("GripPoint"))); + + // add the weapon as an instance component to the character + Character->AddInstanceComponent(this); + + // Set up action bindings + if (APlayerController* PlayerController = Cast(Character->GetController())) + { + if (UEnhancedInputLocalPlayerSubsystem* Subsystem = ULocalPlayer::GetSubsystem(PlayerController->GetLocalPlayer())) + { + // Set the priority of the mapping to 1, so that it overrides the Jump action with the Fire action when using touch input + Subsystem->AddMappingContext(FireMappingContext, 1); + } + + if (UEnhancedInputComponent* EnhancedInputComponent = Cast(PlayerController->InputComponent)) + { + // Fire + EnhancedInputComponent->BindAction(FireAction, ETriggerEvent::Triggered, this, &UTP_WeaponComponent::Fire); + } + } + + return true; +} + +void UTP_WeaponComponent::EndPlay(const EEndPlayReason::Type EndPlayReason) +{ + if (Character == nullptr) + { + return; + } + + if (APlayerController* PlayerController = Cast(Character->GetController())) + { + if (UEnhancedInputLocalPlayerSubsystem* Subsystem = ULocalPlayer::GetSubsystem(PlayerController->GetLocalPlayer())) + { + Subsystem->RemoveMappingContext(FireMappingContext); + } + } +} \ No newline at end of file diff --git a/Source/ProjectLighthouse/TP_WeaponComponent.h b/Source/ProjectLighthouse/TP_WeaponComponent.h new file mode 100644 index 0000000..b24717c --- /dev/null +++ b/Source/ProjectLighthouse/TP_WeaponComponent.h @@ -0,0 +1,60 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Components/SkeletalMeshComponent.h" +#include "TP_WeaponComponent.generated.h" + +class AProjectLighthouseCharacter; + +UCLASS(Blueprintable, BlueprintType, ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) ) +class PROJECTLIGHTHOUSE_API UTP_WeaponComponent : public USkeletalMeshComponent +{ + GENERATED_BODY() + +public: + /** Projectile class to spawn */ + UPROPERTY(EditDefaultsOnly, Category=Projectile) + TSubclassOf ProjectileClass; + + /** Sound to play each time we fire */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=Gameplay) + USoundBase* FireSound; + + /** AnimMontage to play each time we fire */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Gameplay) + UAnimMontage* FireAnimation; + + /** Gun muzzle's offset from the characters location */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=Gameplay) + FVector MuzzleOffset; + + /** MappingContext */ + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=Input, meta=(AllowPrivateAccess = "true")) + class UInputMappingContext* FireMappingContext; + + /** Fire Input Action */ + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=Input, meta=(AllowPrivateAccess = "true")) + class UInputAction* FireAction; + + /** Sets default values for this component's properties */ + UTP_WeaponComponent(); + + /** Attaches the actor to a FirstPersonCharacter */ + UFUNCTION(BlueprintCallable, Category="Weapon") + bool AttachWeapon(AProjectLighthouseCharacter* TargetCharacter); + + /** Make the weapon Fire a Projectile */ + UFUNCTION(BlueprintCallable, Category="Weapon") + void Fire(); + +protected: + /** Ends gameplay for this component. */ + UFUNCTION() + virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override; + +private: + /** The Character holding this weapon*/ + AProjectLighthouseCharacter* Character; +}; diff --git a/Source/ProjectLighthouseEditor.Target.cs b/Source/ProjectLighthouseEditor.Target.cs new file mode 100644 index 0000000..3548114 --- /dev/null +++ b/Source/ProjectLighthouseEditor.Target.cs @@ -0,0 +1,15 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using UnrealBuildTool; +using System.Collections.Generic; + +public class ProjectLighthouseEditorTarget : TargetRules +{ + public ProjectLighthouseEditorTarget(TargetInfo Target) : base(Target) + { + Type = TargetType.Editor; + DefaultBuildSettings = BuildSettingsVersion.V5; + IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_4; + ExtraModuleNames.Add("ProjectLighthouse"); + } +}