From ffea6a32b69e742c1309b683e9258c3c8aeae495 Mon Sep 17 00:00:00 2001 From: nutti Date: Sun, 19 Nov 2023 16:27:51 +0900 Subject: [PATCH] Add: Sample project --- .circleci/config.yml | 54 +++++++++++ .github/workflows/lint.yaml | 18 ++++ .github/workflows/release.yaml | 32 +++---- samples/SampleProject/.gitignore | 78 ++++++++++++++++ .../SampleProject/Config/DefaultEditor.ini | 0 .../SampleProject/Config/DefaultEngine.ini | 77 ++++++++++++++++ samples/SampleProject/Config/DefaultGame.ini | 3 + samples/SampleProject/Config/DefaultInput.ini | 85 ++++++++++++++++++ .../BP_TestActorForAsyncVersion.uasset | Bin 0 -> 84373 bytes .../Content/BP_TestActorForSyncVersion.uasset | Bin 0 -> 81731 bytes samples/SampleProject/Content/L_Sample.umap | Bin 0 -> 25584 bytes .../Content/Materials/M_Board.uasset | Bin 0 -> 8410 bytes .../Content/Materials/M_Mesh.uasset | Bin 0 -> 9782 bytes .../Content/Materials/M_Text.uasset | Bin 0 -> 23769 bytes samples/SampleProject/SampleProject.uproject | 22 +++++ .../Source/SampleProject.Target.cs | 22 +++++ .../SampleProject/SampleProject.Build.cs | 31 +++++++ .../Source/SampleProject/SampleProject.cpp | 14 +++ .../Source/SampleProject/SampleProject.h | 12 +++ .../Source/SampleProjectEditor.Target.cs | 22 +++++ 20 files changed, 454 insertions(+), 16 deletions(-) create mode 100644 samples/SampleProject/.gitignore create mode 100644 samples/SampleProject/Config/DefaultEditor.ini create mode 100644 samples/SampleProject/Config/DefaultEngine.ini create mode 100644 samples/SampleProject/Config/DefaultGame.ini create mode 100644 samples/SampleProject/Config/DefaultInput.ini create mode 100644 samples/SampleProject/Content/BP_TestActorForAsyncVersion.uasset create mode 100644 samples/SampleProject/Content/BP_TestActorForSyncVersion.uasset create mode 100644 samples/SampleProject/Content/L_Sample.umap create mode 100644 samples/SampleProject/Content/Materials/M_Board.uasset create mode 100644 samples/SampleProject/Content/Materials/M_Mesh.uasset create mode 100644 samples/SampleProject/Content/Materials/M_Text.uasset create mode 100644 samples/SampleProject/SampleProject.uproject create mode 100644 samples/SampleProject/Source/SampleProject.Target.cs create mode 100644 samples/SampleProject/Source/SampleProject/SampleProject.Build.cs create mode 100644 samples/SampleProject/Source/SampleProject/SampleProject.cpp create mode 100644 samples/SampleProject/Source/SampleProject/SampleProject.h create mode 100644 samples/SampleProject/Source/SampleProjectEditor.Target.cs diff --git a/.circleci/config.yml b/.circleci/config.yml index 072fb9e..5de6d15 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -13,6 +13,13 @@ workflows: "4.27.0", "5.0.0", "5.1.0", "5.2.0", "5.3.0" ] version: ["free", "full"] + - build-sample: + context: + - unreal-engine-ci + matrix: + parameters: + unreal-engine-version: ["5.3.0"] + version: ["full"] version: 2.1 jobs: @@ -45,3 +52,50 @@ jobs: -Plugin=${PWD}/Kdtree/Kdtree.uplugin \ -Package=/tmp \ -Rocket + + build-sample: + parameters: + unreal-engine-version: + type: string + version: + type: string + docker: + - image: ghcr.io/epicgames/unreal-engine:dev-slim-<< parameters.unreal-engine-version >> + auth: + username: $GHCR_USERNAME + password: $GHCR_PASSWORD + steps: + - checkout + - run: + name: Run scripts for the license removing + command: bash tools/remove_license.sh Kdtree << parameters.version >> + - run: + name: Run scripts for the code removing + command: bash tools/remove_code.sh Kdtree << parameters.unreal-engine-version >> << parameters.version >> . + - run: + name: "Run scripts for the release" + command: bash tools/replace_engine_version.sh Kdtree << parameters.unreal-engine-version >> + - run: + name: "Copy plugin sources" + command: | + mkdir ${PWD}/samples/SampleProject/Plugins + cp -r Kdtree ${PWD}/samples/SampleProject/Plugins + - run: + name: "Build Sample" + command: | + /home/ue4/UnrealEngine/Engine/Build/BatchFiles/RunUAT.sh BuildCookRun \ + -utf8output \ + -platform=Linux \ + -clientconfig=Shipping \ + -serverconfig=Shipping \ + -project=${PWD}/samples/SampleProject/SampleProject.uproject \ + -noP4 \ + -nodebuginfo \ + -allmaps \ + -cook \ + -build \ + -stage \ + -prereqs \ + -pak \ + -archive \ + -archivedirectory=/tmp/Packaged diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index 54e6b5f..70f3e9d 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -29,6 +29,24 @@ jobs: run: | bash tests/lint/clang-format/run.sh Kdtree + sample-clang-format: + name: sample-clang-format + runs-on: ubuntu-latest + container: + image: ubuntu:20.04 + steps: + - name: Checkout repo + uses: actions/checkout@v2 + + - name: Install clang-format + run: | + apt update + apt install -y clang-format + + - name: clang-format + run: | + bash tests/lint/clang-format/run.sh samples/SampleProject + markdownlint: name: markdownlint runs-on: ubuntu-latest diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 8f0d006..4e3a9e9 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -47,24 +47,24 @@ jobs: name: Kdtree_${{ matrix.version }} path: "release-plugin-${{ matrix.version }}" - # sample-pack: - # name: Pack sample sources - # runs-on: ubuntu-latest - # steps: - # - name: Checkout repo - # uses: actions/checkout@v2 + sample-pack: + name: Pack sample sources + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@v2 - # - name: Compress sample project's sources - # run: | - # mkdir release-sample - # cd samples && zip -r SampleProject.zip SampleProject && cd .. - # mv samples/SampleProject.zip release-sample + - name: Compress sample project's sources + run: | + mkdir release-sample + cd samples && zip -r SampleProject.zip SampleProject && cd .. + mv samples/SampleProject.zip release-sample - # - name: Upload artifact - # uses: actions/upload-artifact@v2 - # with: - # name: SampleProject - # path: "release-sample" + - name: Upload artifact + uses: actions/upload-artifact@v2 + with: + name: SampleProject + path: "release-sample" publish: name: Publish diff --git a/samples/SampleProject/.gitignore b/samples/SampleProject/.gitignore new file mode 100644 index 0000000..33f3081 --- /dev/null +++ b/samples/SampleProject/.gitignore @@ -0,0 +1,78 @@ +# Original: https://github.com/github/gitignore/blob/main/UnrealEngine.gitignore + +Plugins/Kdtree + +# Visual Studio 2015 user specific files +.vs/ + +# 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/* \ No newline at end of file diff --git a/samples/SampleProject/Config/DefaultEditor.ini b/samples/SampleProject/Config/DefaultEditor.ini new file mode 100644 index 0000000..e69de29 diff --git a/samples/SampleProject/Config/DefaultEngine.ini b/samples/SampleProject/Config/DefaultEngine.ini new file mode 100644 index 0000000..fa90773 --- /dev/null +++ b/samples/SampleProject/Config/DefaultEngine.ini @@ -0,0 +1,77 @@ + + +[/Script/EngineSettings.GameMapsSettings] +GameDefaultMap=/Game/L_Sample.L_Sample +EditorStartupMap=/Game/L_Sample.L_Sample + +[/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/HardwareTargeting.HardwareTargetingSettings] +TargetedHardwareClass=Desktop +AppliedTargetedHardwareClass=Desktop +DefaultGraphicsPerformance=Maximum +AppliedDefaultGraphicsPerformance=Maximum + +[/Script/Engine.RendererSettings] +r.GenerateMeshDistanceFields=True +r.DynamicGlobalIlluminationMethod=0 +r.ReflectionMethod=0 +r.Shadow.Virtual.Enable=1 +r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=True +r.DefaultFeature.LocalExposure.HighlightContrastScale=0.8 +r.DefaultFeature.LocalExposure.ShadowContrastScale=0.8 +r.DefaultFeature.AutoExposure=False + +[/Script/WorldPartitionEditor.WorldPartitionEditorSettings] +CommandletClass=Class'/Script/UnrealEd.WorldPartitionConvertCommandlet' + +[/Script/Engine.UserInterfaceSettings] +bAuthorizeAutomaticWidgetVariableCreation=False +FontDPIPreset=Standard +FontDPI=72 + +[/Script/Engine.Engine] ++ActiveGameNameRedirects=(OldGameName="TP_Blank",NewGameName="/Script/SampleProject") ++ActiveGameNameRedirects=(OldGameName="/Script/TP_Blank",NewGameName="/Script/SampleProject") + +[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings] +bEnablePlugin=True +bAllowNetworkConnection=True +SecurityToken=E56229BA4A497D66570A0B91F453ED8F +bIncludeInShipping=False +bAllowExternalStartInShipping=False +bCompileAFSProject=False +bUseCompression=False +bLogFiles=False +bReportStats=False +ConnectionType=USBOnly +bUseManualIPAddress=False +ManualIPAddress= + diff --git a/samples/SampleProject/Config/DefaultGame.ini b/samples/SampleProject/Config/DefaultGame.ini new file mode 100644 index 0000000..4bf1139 --- /dev/null +++ b/samples/SampleProject/Config/DefaultGame.ini @@ -0,0 +1,3 @@ + +[/Script/EngineSettings.GeneralProjectSettings] +ProjectID=72CAED194053243F0D95F599C4756B3E diff --git a/samples/SampleProject/Config/DefaultInput.ini b/samples/SampleProject/Config/DefaultInput.ini new file mode 100644 index 0000000..4cc3605 --- /dev/null +++ b/samples/SampleProject/Config/DefaultInput.ini @@ -0,0 +1,85 @@ +[/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="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="Mouse2D",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_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)) +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=/Engine/MobileResources/HUD/DefaultVirtualJoysticks.DefaultVirtualJoysticks +-ConsoleKeys=Tilde ++ConsoleKeys=Tilde ++ConsoleKeys=Caret + diff --git a/samples/SampleProject/Content/BP_TestActorForAsyncVersion.uasset b/samples/SampleProject/Content/BP_TestActorForAsyncVersion.uasset new file mode 100644 index 0000000000000000000000000000000000000000..ffdae8a2fa83824164b18a433c0614156540fb49 GIT binary patch literal 84373 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 F{{tQ}nw|gv literal 0 HcmV?d00001 diff --git a/samples/SampleProject/Content/BP_TestActorForSyncVersion.uasset b/samples/SampleProject/Content/BP_TestActorForSyncVersion.uasset new file mode 100644 index 0000000000000000000000000000000000000000..75674935e7098386f3cb63ce8a0b7d455cd5f891 GIT binary patch literal 81731 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 literal 0 HcmV?d00001 diff --git a/samples/SampleProject/Content/L_Sample.umap b/samples/SampleProject/Content/L_Sample.umap new file mode 100644 index 0000000000000000000000000000000000000000..cbfa2cde6ce683ccd2c1ee2a9e2594c66612f8ee GIT binary patch literal 25584 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 literal 0 HcmV?d00001 diff --git a/samples/SampleProject/Content/Materials/M_Mesh.uasset b/samples/SampleProject/Content/Materials/M_Mesh.uasset new file mode 100644 index 0000000000000000000000000000000000000000..7daec86fc197fb53b426483b8de6db0fdef07461 GIT binary patch literal 9782 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 RJ=L=pxO-C_xuF32{{f>>{&WBU literal 0 HcmV?d00001 diff --git a/samples/SampleProject/SampleProject.uproject b/samples/SampleProject/SampleProject.uproject new file mode 100644 index 0000000..ff55183 --- /dev/null +++ b/samples/SampleProject/SampleProject.uproject @@ -0,0 +1,22 @@ +{ + "FileVersion": 3, + "EngineAssociation": "5.3", + "Category": "", + "Description": "", + "Modules": [ + { + "Name": "SampleProject", + "Type": "Runtime", + "LoadingPhase": "Default" + } + ], + "Plugins": [ + { + "Name": "ModelingToolsEditorMode", + "Enabled": true, + "TargetAllowList": [ + "Editor" + ] + } + ] +} \ No newline at end of file diff --git a/samples/SampleProject/Source/SampleProject.Target.cs b/samples/SampleProject/Source/SampleProject.Target.cs new file mode 100644 index 0000000..ed3427c --- /dev/null +++ b/samples/SampleProject/Source/SampleProject.Target.cs @@ -0,0 +1,22 @@ +/*! + * Kdtree + * + * Copyright (c) 2019-2023 Colory Games + * + * This software is released under the MIT License. + * https://opensource.org/licenses/MIT + */ + +using UnrealBuildTool; +using System.Collections.Generic; + +public class SampleProjectTarget : TargetRules +{ + public SampleProjectTarget(TargetInfo Target) : base(Target) + { + Type = TargetType.Game; + DefaultBuildSettings = BuildSettingsVersion.V4; + IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_3; + ExtraModuleNames.Add("SampleProject"); + } +} diff --git a/samples/SampleProject/Source/SampleProject/SampleProject.Build.cs b/samples/SampleProject/Source/SampleProject/SampleProject.Build.cs new file mode 100644 index 0000000..ce5a056 --- /dev/null +++ b/samples/SampleProject/Source/SampleProject/SampleProject.Build.cs @@ -0,0 +1,31 @@ +/*! + * Kdtree + * + * Copyright (c) 2019-2023 Colory Games + * + * This software is released under the MIT License. + * https://opensource.org/licenses/MIT + */ + +using UnrealBuildTool; + +public class SampleProject : ModuleRules +{ + public SampleProject(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicDependencyModuleNames.AddRange(new string[]{"Core", "CoreUObject", "Engine", "InputCore"}); + + PrivateDependencyModuleNames.AddRange(new string[]{}); + + // Uncomment if you are using Slate UI + // PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" }); + + // Uncomment if you are using online features + // PrivateDependencyModuleNames.Add("OnlineSubsystem"); + + // To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to + // true + } +} diff --git a/samples/SampleProject/Source/SampleProject/SampleProject.cpp b/samples/SampleProject/Source/SampleProject/SampleProject.cpp new file mode 100644 index 0000000..e1b9222 --- /dev/null +++ b/samples/SampleProject/Source/SampleProject/SampleProject.cpp @@ -0,0 +1,14 @@ +/*! + * Kdtree + * + * Copyright (c) 2019-2023 Colory Games + * + * This software is released under the MIT License. + * https://opensource.org/licenses/MIT + */ + +#include "SampleProject.h" + +#include "Modules/ModuleManager.h" + +IMPLEMENT_PRIMARY_GAME_MODULE(FDefaultGameModuleImpl, SampleProject, "SampleProject"); diff --git a/samples/SampleProject/Source/SampleProject/SampleProject.h b/samples/SampleProject/Source/SampleProject/SampleProject.h new file mode 100644 index 0000000..059347c --- /dev/null +++ b/samples/SampleProject/Source/SampleProject/SampleProject.h @@ -0,0 +1,12 @@ +/*! + * Kdtree + * + * Copyright (c) 2019-2023 Colory Games + * + * This software is released under the MIT License. + * https://opensource.org/licenses/MIT + */ + +#pragma once + +#include "CoreMinimal.h" diff --git a/samples/SampleProject/Source/SampleProjectEditor.Target.cs b/samples/SampleProject/Source/SampleProjectEditor.Target.cs new file mode 100644 index 0000000..a232d82 --- /dev/null +++ b/samples/SampleProject/Source/SampleProjectEditor.Target.cs @@ -0,0 +1,22 @@ +/*! + * Kdtree + * + * Copyright (c) 2019-2023 Colory Games + * + * This software is released under the MIT License. + * https://opensource.org/licenses/MIT + */ + +using UnrealBuildTool; +using System.Collections.Generic; + +public class SampleProjectEditorTarget : TargetRules +{ + public SampleProjectEditorTarget(TargetInfo Target) : base(Target) + { + Type = TargetType.Editor; + DefaultBuildSettings = BuildSettingsVersion.V4; + IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_3; + ExtraModuleNames.Add("SampleProject"); + } +}