diff --git a/Config/DefaultEditor.ini b/Config/DefaultEditor.ini index 8b137891..f38756e3 100644 --- a/Config/DefaultEditor.ini +++ b/Config/DefaultEditor.ini @@ -1 +1,2 @@ +[/Script/AdvancedPreviewScene.SharedProfiles] diff --git a/Config/DefaultGame.ini b/Config/DefaultGame.ini index 789bb982..e3a81ea4 100644 --- a/Config/DefaultGame.ini +++ b/Config/DefaultGame.ini @@ -45,30 +45,30 @@ bCookAll=True bCookMapsOnly=True bSkipEditorContent=False bSkipMovies=False --IniKeyBlacklist=KeyStorePassword --IniKeyBlacklist=KeyPassword --IniKeyBlacklist=rsa.privateexp --IniKeyBlacklist=rsa.modulus --IniKeyBlacklist=rsa.publicexp --IniKeyBlacklist=aes.key --IniKeyBlacklist=SigningPublicExponent --IniKeyBlacklist=SigningModulus --IniKeyBlacklist=SigningPrivateExponent --IniKeyBlacklist=EncryptionKey --IniKeyBlacklist=IniKeyBlacklist --IniKeyBlacklist=IniSectionBlacklist -+IniKeyBlacklist=KeyStorePassword -+IniKeyBlacklist=KeyPassword -+IniKeyBlacklist=rsa.privateexp -+IniKeyBlacklist=rsa.modulus -+IniKeyBlacklist=rsa.publicexp -+IniKeyBlacklist=aes.key -+IniKeyBlacklist=SigningPublicExponent -+IniKeyBlacklist=SigningModulus -+IniKeyBlacklist=SigningPrivateExponent -+IniKeyBlacklist=EncryptionKey -+IniKeyBlacklist=IniKeyBlacklist -+IniKeyBlacklist=IniSectionBlacklist +-IniKeyDenylist=KeyStorePassword +-IniKeyDenylist=KeyPassword +-IniKeyDenylist=rsa.privateexp +-IniKeyDenylist=rsa.modulus +-IniKeyDenylist=rsa.publicexp +-IniKeyDenylist=aes.key +-IniKeyDenylist=SigningPublicExponent +-IniKeyDenylist=SigningModulus +-IniKeyDenylist=SigningPrivateExponent +-IniKeyDenylist=EncryptionKey +-IniKeyDenylist=IniKeyBlacklist +-IniKeyDenylist=IniSectionBlacklist ++IniKeyDenylist=KeyStorePassword ++IniKeyDenylist=KeyPassword ++IniKeyDenylist=rsa.privateexp ++IniKeyDenylist=rsa.modulus ++IniKeyDenylist=rsa.publicexp ++IniKeyDenylist=aes.key ++IniKeyDenylist=SigningPublicExponent ++IniKeyDenylist=SigningModulus ++IniKeyDenylist=SigningPrivateExponent ++IniKeyDenylist=EncryptionKey ++IniKeyDenylist=IniKeyBlacklist ++IniKeyDenylist=IniSectionBlacklist +DirectoriesToAlwaysCook=(Path="/Game/Maps/Interior") [/Script/EngineSettings.GeneralProjectSettings] diff --git a/Content/Blueprints/UI/Widgets/Information/settings.uasset b/Content/Blueprints/UI/Widgets/Information/settings.uasset index 4ebbaeba..1986f668 100644 Binary files a/Content/Blueprints/UI/Widgets/Information/settings.uasset and b/Content/Blueprints/UI/Widgets/Information/settings.uasset differ diff --git a/Content/Maps/Landscape.umap b/Content/Maps/Landscape.umap index 0eb7b1f1..8c718b62 100644 Binary files a/Content/Maps/Landscape.umap and b/Content/Maps/Landscape.umap differ diff --git a/Content/Meshes/Zones/Zone_F/Rdy/SM_F09_swimming_pool_MID.uasset b/Content/Meshes/Zones/Zone_F/Rdy/SM_F09_swimming_pool_MID.uasset index f640df03..91f808d0 100644 Binary files a/Content/Meshes/Zones/Zone_F/Rdy/SM_F09_swimming_pool_MID.uasset and b/Content/Meshes/Zones/Zone_F/Rdy/SM_F09_swimming_pool_MID.uasset differ diff --git a/Content/TropicalOceanTool/Materials/Ocean/MI_Ocean_NewShading1.uasset b/Content/TropicalOceanTool/Materials/Ocean/MI_Ocean_NewShading1.uasset new file mode 100644 index 00000000..5a0bf67b Binary files /dev/null and b/Content/TropicalOceanTool/Materials/Ocean/MI_Ocean_NewShading1.uasset differ diff --git a/Content/TropicalOceanTool/Materials/Ocean/MI_Ocean_OldShading.uasset b/Content/TropicalOceanTool/Materials/Ocean/MI_Ocean_OldShading.uasset deleted file mode 100644 index 2e48668e..00000000 Binary files a/Content/TropicalOceanTool/Materials/Ocean/MI_Ocean_OldShading.uasset and /dev/null differ diff --git a/Content/TropicalOceanTool/Materials/Ocean/MI_Ocean_OldShading1.uasset b/Content/TropicalOceanTool/Materials/Ocean/MI_Ocean_OldShading1.uasset deleted file mode 100644 index b7b56e22..00000000 Binary files a/Content/TropicalOceanTool/Materials/Ocean/MI_Ocean_OldShading1.uasset and /dev/null differ diff --git a/Content/TropicalOceanTool/Materials/Ocean/MI_Ocean_OldShading2.uasset b/Content/TropicalOceanTool/Materials/Ocean/MI_Ocean_OldShading2.uasset deleted file mode 100644 index e48eeeed..00000000 Binary files a/Content/TropicalOceanTool/Materials/Ocean/MI_Ocean_OldShading2.uasset and /dev/null differ diff --git a/Content/TropicalOceanTool/Materials/Ocean/MI_Ocean_OldShading3.uasset b/Content/TropicalOceanTool/Materials/Ocean/MI_Ocean_OldShading3.uasset deleted file mode 100644 index ee3765f3..00000000 Binary files a/Content/TropicalOceanTool/Materials/Ocean/MI_Ocean_OldShading3.uasset and /dev/null differ diff --git a/Content/TropicalOceanTool/Materials/Ocean/MI_Ocean_OldShading4.uasset b/Content/TropicalOceanTool/Materials/Ocean/MI_Ocean_OldShading4.uasset deleted file mode 100644 index 2bc8f698..00000000 Binary files a/Content/TropicalOceanTool/Materials/Ocean/MI_Ocean_OldShading4.uasset and /dev/null differ diff --git a/Content/TropicalOceanTool/Materials/Ocean/Master/M_Ocean_OldShading_Master.uasset b/Content/TropicalOceanTool/Materials/Ocean/Master/M_Ocean_OldShading_Master.uasset deleted file mode 100644 index 3d94f014..00000000 Binary files a/Content/TropicalOceanTool/Materials/Ocean/Master/M_Ocean_OldShading_Master.uasset and /dev/null differ diff --git a/Plugins/Auto_Setup_1.22/RLPlugin.uplugin b/Plugins/Auto_Setup_1.22/RLPlugin.uplugin deleted file mode 100644 index d318cfdf..00000000 --- a/Plugins/Auto_Setup_1.22/RLPlugin.uplugin +++ /dev/null @@ -1,23 +0,0 @@ -{ - "FileVersion": 3, - "Version": 1, - "VersionName": "1.22", - "FriendlyName": "Character Creator & iClone Auto Setup", - "Description": "Automatic shader and skeletal assignment for CC Characters and iClone Assets, including Blueprint generation for material properties, texture settings and model configurations. ", - "Category": "Reallusion", - "CreatedBy": "Reallusion", - "CreatedByURL": "", - "DocsURL": "", - "MarketplaceURL": "", - "SupportURL": "", - "EngineVersion": "4.27.0", - "CanContainContent": false, - "Installed": true, - "Modules": [ - { - "Name": "RLPlugin", - "Type": "Editor", - "LoadingPhase": "PreDefault" - } - ] -} \ No newline at end of file diff --git a/Plugins/Auto_Setup_1.22/Resources/ButtonIcon_40x.png b/Plugins/Auto_Setup_1.22/Resources/ButtonIcon_40x.png deleted file mode 100644 index f3572322..00000000 Binary files a/Plugins/Auto_Setup_1.22/Resources/ButtonIcon_40x.png and /dev/null differ diff --git a/Plugins/Auto_Setup_1.22/Resources/Icon128.png b/Plugins/Auto_Setup_1.22/Resources/Icon128.png deleted file mode 100644 index 822615e8..00000000 Binary files a/Plugins/Auto_Setup_1.22/Resources/Icon128.png and /dev/null differ diff --git a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Private/CCFbxFactory.h b/Plugins/Auto_Setup_1.22/Source/RLPlugin/Private/CCFbxFactory.h deleted file mode 100644 index d12751a7..00000000 --- a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Private/CCFbxFactory.h +++ /dev/null @@ -1,29 +0,0 @@ -// Fill out your copyright notice in the Description page of Project Settings. - -#pragma once - -#include "CoreMinimal.h" -#include "Factories/FbxFactory.h" -#include "Runtime/SlateCore/Public/Styling/SlateTypes.h" -//#include "SlateBasics.h" -#include "Factories/Factory.h" -#include "UObject/ObjectMacros.h" -#include "CCImportUI.h" -#include "CCFbxFactory.generated.h" - -class UTextureFactory; -UCLASS(hidecategories = Object) -class UCCFbxFactory : public UFbxFactory -{ - GENERATED_UCLASS_BODY() -public: - - //~ UFactory Interface - virtual UObject* FactoryCreateFile( UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, const FString& InFilename, const TCHAR* Parms, FFeedbackContext* Warn, bool& bOutOperationCanceled ); - virtual void PostInitProperties() override; - void ImportTextureFolder( FString& fbxRootPath, FString& rootGamePath, TArray< TCHAR* > kFileExtension, FString &fbxName, TArray &kTextureList ); - TArray GetLODPaths( FString &targetFolderPath, FString &FbxName ); - void SetShaderType( FString shaderType ); -private: - FString m_ShaderType = "Standard"; -}; diff --git a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Private/CCImportUI.h b/Plugins/Auto_Setup_1.22/Source/RLPlugin/Private/CCImportUI.h deleted file mode 100644 index 942a8af6..00000000 --- a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Private/CCImportUI.h +++ /dev/null @@ -1,33 +0,0 @@ -// Fill out your copyright notice in the Description page of Project Settings. - -#pragma once -#include "CoreMinimal.h" -#include "UObject/NoExportTypes.h" -#include "CCImportUI.generated.h" - -/** - * TODO: - */ -UCLASS( config = EditorPerProjectUserSettings, AutoExpandCategories = ( FTransform ), HideCategories = Object, MinimalAPI ) -class UCCImportUI : public UObject -{ - GENERATED_BODY() - -public: - UCCImportUI( const FObjectInitializer& kObjectInitializer ); - void WriteConfig(); - -private: - void ReadConfig(); - -public: - bool isCCAutoSetup; - bool isHQSkin; - bool isLWSkin; - bool isStandardSkin; - bool isCanceled; - bool isCanChangeAutoEnable; - bool hasCCShader; - bool isLiveLink; - -}; diff --git a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Private/RLShaderData.h b/Plugins/Auto_Setup_1.22/Source/RLPlugin/Private/RLShaderData.h deleted file mode 100644 index cf63b020..00000000 --- a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Private/RLShaderData.h +++ /dev/null @@ -1,405 +0,0 @@ -#pragma once -#include "CoreMinimal.h" - -TMap< FString, FString > g_kTeethMap = -{ - { "Gums Mask", "Teeth Mask Map" }, - { "Gradient AO", "Gradient AO Map" }, - { "MicroNormal", "MicroNormal Map" }, - - // MicroNormal - { "Flip MicroNormal Y", "Flip Micro Normal Y" }, - { "Teeth MicroNormal Tiling", "Teeth MicroNormal Tiling" }, - { "Teeth MicroNormal Strength", "Teeth MicroNormal Strength" }, - { "Gums MicroNormal Tiling", "Flesh MicroNormal Tiling" }, - { "Gums MicroNormal Strength", "Flesh MicroNormal Strength" }, - - // TeethGum - { "Teeth Edge Color", "Teeth Edge Color" }, - { "Is Upper Teeth", "Is Upper Teeth" }, - { "Teeth Brightness", "Teeth Diffuse Brightness" }, - { "Teeth Desaturation", "Teeth Desaturation" }, - { "Gums Brightness", "Flesh Brightness" }, - { "Gums Desaturation", "Flesh Desaturation" }, - { "Front Roughness", "TeethGum Front Roughness" }, - { "Front Specular", "TeethGum Front Specular" }, - // TeethGum-Adv - { "Front AO", "TeethGum Front AO" }, - { "Back AO", "TeethGum Back AO" }, - { "Back Roughness", "TeethGum Back Roughness" }, - { "Back Specular", "TeethGum Back Specular" }, - // SSS - { "Gums Scatter", "Flesh Scatter" }, - { "Teeth Scatter", "Teeth Scatter" } -}; - -TMap< FString, FString > g_kTongueMap = -{ - { "MicroNormal", "MicroNormal Map" }, - { "Gradient AO", "Gradient AO Map" }, - - // MicroNormal - { "Flip MicroNormal Y", "Flip Micro Normal Y" }, - { "MicroNormal Tiling", "Flesh MicroNormal Tiling" }, - { "MicroNormal Strength", "Flesh MicroNormal Strength" }, - // Tongue - { "_Brightness", "Flesh Brightness" }, - { "_Desaturation", "Flesh Desaturation" }, - { "Front Roughness", "Tongue Front Roughness" }, - { "Front Specular", "Tongue Front Specular" }, - // Tongue-Adv - { "Back Roughness", "Tongue Back Roughness" }, - { "Back Specular", "Tongue Back Specular" }, - { "Front AO", "Tongue Front AO" }, - { "Back AO", "Tongue Back AO" }, - // SSS - { "_Scatter", "Flesh Scatter" } -}; - -TMap< FString, FString > g_kSkinMap = -{ - { "SSS Map", "SSS Map" }, - { "MicroNormalMask", "MicroNormal Mask Map" }, - { "MicroNormal", "MicroNormal Map" }, - { "RGBA Area Mask", "RGBA Area Mask Map" }, - - { "_BaseColorMap Brightness", "BaseColorMap_Brightness" }, - { "_BaseColorMap Saturation", "BaseColorMap_Saturation" }, - // MicroNormal - { "Flip MicroNormal Y", "Flip Micro Normal Y" }, - { "MicroNormal Tiling", "MicroNormal Tiling Value" }, - { "MicroNormal Strength", "MicroNormal Strength" }, - // Roughness - { "Micro Roughness Scale", "Micro Roughness Scale" }, - { "R Channel Roughness Scale", "R Channel Roughness Scale" }, - { "G Channel Roughness Scale", "G Channel Roughness Scale" }, - { "B Channel Roughness Scale", "B Channel Roughness Scale" }, - { "A Channel Roughness Scale", "A Channel Roughness Scale" }, - { "Unmasked Roughness Scale", "Unmask Roughness Scale" }, - { "Edge Roughness Multiplier", "Edge Roughness Multiplier" }, - - // Specular Metallic - { "_Specular", "Specular" }, - { "SSS Metallic Threshold", "Metallic SSS Threshold" }, - - // SSS - { "G Channel Scatter Scale", "G Channel Scatter" }, - { "R Channel Scatter Scale", "R Channel Scatter" }, - { "B Channel Scatter Scale", "B Channel Scatter" }, - { "A Channel Scatter Scale", "A Channel Scatter" }, - { "Unmasked Scatter Scale", "SSS Unmasked Scale" } -}; - -TMap< FString, FString > g_kHeadMap = -{ - { "BaseColor Blend2", "Blend Map_2" }, - { "NormalMap Blend", "NormalMap_Blend" }, - { "SSS Map", "SSS Map" }, - { "MicroNormalMask", "MicroNormal Mask Map" }, - { "MicroNormal", "MicroNormal Map" }, - { "Specular Mask", "Specular Cavity Map" }, - { "Mouth Cavity Mask and AO", "Mouth Cavity And AO Map" }, - { "Nose Mouth UpperInnerLid Mask", "NLML Mask Map" }, - { "Cheek Fore UpperLip Chin Mask", "CFUC Mask Map" }, - { "Ear Neck Mask", "EN Mask Map" }, - - // Blend Map - { "BaseColor Blend2 Strength", "BaseColor_Blend2_Strength" }, - { "NormalMap Blend Strength", "NormalMap_Blend_Strength" }, - { "_BaseColorMap Brightness", "BaseColorMap_Brightness" }, - { "_BaseColorMap Saturation", "BaseColorMap_Saturation" }, - // MicroNormal - { "Flip MicroNormal Y", "Flip Micro Normal Y" }, - { "MicroNormal Tiling", "MicroNormal Tiling Value" }, - { "MicroNormal Strength", "MicroNormal Strength" }, - // Roughness - { "Micro Roughness Scale", "Micro Roughness Scale" }, - { "Nose Roughness Scale", "Nose Roughness Scale" }, - { "Mouth Roughness Scale", "Mouth Roughness Scale" }, - { "UpperLid Roughness Scale", "UpperLid Roughness Scale" }, - { "InnerLid Roughness Scale", "InnerLid Roughness Scale" }, - { "Ear Roughness Scale", "Ear Roughness Scale" }, - { "Neck Roughness Scale", "Neck Roughness Scale" }, - { "Cheek Roughness Scale", "Cheek Roughness Scale" }, - { "Forehead Roughness Scale", "Forehead Roughness Scale" }, - { "UpperLip Roughness Scale", "UpperLips Roughness Scale" }, - { "Chin Roughness Scale", "Chin Roughness Scale" }, - { "Unmasked Roughness Scale", "Unmask Roughness Scale" }, - { "Edge Roughness Multiplier", "Edge Roughness Multiplier" }, - // Specular Metallic - { "_Specular", "Head Specular" }, - { "SSS Metallic Threshold", "Metallic SSS Threshold" }, - { "Inner Mouth AO", "Inner Mouth AO" }, - { "Nostril AO", "Nostril AO" }, - { "Lips Gap AO", "Lips_Gap_AO" }, - // SSS - { "Nose Scatter Scale", "Nose Scatter Scale" }, - { "Mouth Scatter Scale", "Mouth Scatter Scale" }, - { "UpperLid Scatter Scale", "UpperLid Scatter Scale" }, - { "InnerLid Scatter Scale", "InnerLid Scatter Scale" }, - { "Ear Scatter Scale", "Ear Scatter Scale" }, - { "Neck Scatter Scale", "Neck Scatter Scale" }, - { "Cheek Scatter Scale", "Cheek Scatter Scale" }, - { "Forehead Scatter Scale", "Forehead Scatter Scale" }, - { "UpperLip Scatter Scale", "UpperLips Scatter Scale" }, - { "Chin Scatter Scale", "Chin Scatter Scale" }, - { "Unmasked Scatter Scale", "SSS Unmasked Scale" } -}; - -TMap< FString, FString > g_kEyeMap = -{ - { "Iris Normal", "Iris Normal Map" }, - { "Sclera Normal", "Normal Map" }, - { "EyeBlendMap2", "EyeBlendMap2" }, - { "Inner Iris Mask", "Inner Iris Mask" }, - { "Sclera", "Sclera Map" }, - - // Eye - { "BlendMap2 Strength", "BlendMap2_Strength" }, - { "Shadow Radius", "Shadow Radius" }, - { "Shadow Hardness", "Shadow Hardness" }, - { "Specular Scale", "Specular Multiplier" }, - // Eye-Adv - { "Is Left Eye", "Is Left Eye" }, - { "Eye Corner Darkness Color", "Eye Corner Darkness Color" }, - // Iris - { "Iris Depth Scale", "Iris Depth Scale" }, - { "_Iris Roughness", "Iris Roughness" }, - { "Iris Color Brightness", "Iris Color Brightness" }, - { "Pupil Scale", "Pupil Scale" }, - // Iris-Adv - { "_IoR", "Ior" }, - { "Iris Cloudy Color", "Iris Cloudy Color" }, - { "Iris Inner Color", "Iris Inner Color" }, - { "Iris Inner Scale", "Iris Inner Scale" }, - { "Iris UV Radius", "Iris UV Radius" }, - { "Iris Color", "Iris Color" }, - - // Limbus - { "Limbus UV Width Color", "Limbus UV Width Color" }, - { "Limbus Dark Scale", "Limbus Dark Scale" }, - // Sclera - { "ScleraBrightness", "Sclera Brightness" }, - { "Sclera Roughness", "Sclera Roughness" }, - // Sclera-Adv - { "Sclera Flatten Normal", "Sclera Normal" }, - { "Sclera Normal UV Scale", "Sclera Normal UV Scale" }, - { "Sclera UV Radius", "Sclera UV Radius" }, -}; - -#define FLIP_TANGENT_Y "Flip Tangent Y" -#define ACTIVATE_HAIR_COLOR "Activate Hair Color" - -TMap< FString, FString > g_kHairMap = -{ - { "Hair Tangent Map" , "Tangent Map" }, - { "Hair Flow Map" , "Flow Map" }, - { "Hair Specular Mask Map", "Specular Map" }, - { "Hair Root Map" , "Root Map" }, - { "Hair ID Map" , "ID Map" }, - - { "TangentMapFlipGreen", FLIP_TANGENT_Y }, - { "AO Map Occlude All Lighting", "AO Map Occlude All Lighting" }, - - { "Diffuse Strength", "Scatter" }, - { "Hair Roughness Map Strength", "Roughness Multiplier" }, - { "Hair Specular Map Strength", "Specular Multiplier" }, - - { "VertexGrayToColor" , "Vertex Color" }, - { "VertexColorStrength" , "Vertex Color Strength" }, - { "ActiveChangeHairColor" , ACTIVATE_HAIR_COLOR }, - { "BaseColorMapStrength" , "Base Color Map Strength" }, - // Strand Color - { "RootColor" , "Root Color" }, - { "TipColor" , "End Color" }, - { "RootTipBlendMode" , "Root End Blend Mode" }, - { "UseRootTipColor" , "Global Strength" }, - { "RootColorStrength" , "Root Color Strength" }, - { "TipColorStrength" , "End Color Strength" }, - { "InvertRootTip" , "Invert Root and End Color" }, - // highlight A - { "_1st Dye Color" , "Highlight A Color" }, - { "_1st Dye Strength" , "Highlight A Strength" }, - { "_1st Dye Distribution from Grayscale", "Highlight A Affected Range" }, - { "_1st BlendMode" , "Highlight A Blend Mode" }, - { "Mask 1st Dye by RootMap" , "Highlight A Overlap End Color" }, - { "Invert 1st Dye RootMap Mask" , "Highlight A Invert End to Root Color" }, - { "_1st Dye add Specular" , "Highlight A Specular Strength" }, - // hightlight B - { "_2nd Dye Color" , "Highlight B Color" }, - { "_2nd Dye Strength" , "Highlight B Strength" }, - { "_2nd Dye Distribution from Grayscale", "Highlight B Affected Range" }, - { "_2nd BlendMode" , "Highlight B Blend Mode" }, - { "Mask 2nd Dye by RootMap" , "Highlight B Overlap End Color" }, - { "Invert 2nd Dye RootMap Mask" , "Highlight B Invert End to Root Color" }, - { "_2nd Dye add Specular" , "Highlight B Specular Strength" }, - // - { "BlackColor Reflection Offset X", "Rotate Vertical by Black ID" }, - { "BlackColor Reflection Offset Y", "Rotate Horizontal by Black ID" }, - { "BlackColor Reflection Offset Z", "Shift by Black ID" }, - { "WhiteColor Reflection Offset X", "Rotate Vertical by White ID" }, - { "WhiteColor Reflection Offset Y", "Rotate Horizontal by White ID" }, - { "WhiteColor Reflection Offset Z", "Shift by White ID" }, -}; - -TMap< FString, FString > g_kEyeOccusionMap = -{ - { "Display Blur Range", "Blur Color" }, - { "Blur Strength", "Blur Strength" }, - { "_Expand", "Expand" }, - - { "Top Blur Range", "Top Blur Range" }, - { "Top Blur Contrast", "Top Blur Contrast" }, - { "Bottom Blur Range", "Bottom Blur Range" }, - { "Bottom Blur Contrast", "Bottom Blur Contrast" }, - { "Outer Corner Blur Range", "Outer Corner Blur Range" }, - { "Outer Corner Blur Contrast", "Outer Corner Blur Contrast" }, - - { "Tear Duct Position", "Tear Duct Position" }, - { "Tear Duct Contrast", "Tear Duct Contrast" }, - { "Tear Duct Shadow Offset", "Tear Duct Shadow Offset" }, - // 1st layer shadow - { "Shadow Color", "Shadow 1 Color" }, - { "Shadow Strength", "Shadow 1 Strength" }, - { "Shadow Top", "Shadow 1 Top" }, - { "Shadow Top Range", "Shadow 1 Top Range" }, - { "Shadow Top Arc", "Shadow 1 Top Edge" }, - { "Shadow Bottom", "Shadow 1 Bottom" }, - { "Shadow Bottom Range", "Shadow 1 Bottom Range" }, - { "Shadow Bottom Arc", "Shadow 1 Bottom Edge" }, - { "Shadow Inner Corner", "Shadow 1 Inner Corner" }, - { "Shadow Inner Corner Range", "Shadow 1 Inner Corner Range" }, - { "Shadow Outer Corner", "Shadow 1 Outer Corner" }, - { "Shadow Outer Corner Range", "Shadow 1 Outer Corner Range" }, - // 2nd_Layer_Shadow - { "Shadow2 Color", "Shadow 2 Color" }, - { "Shadow2 Strength", "Shadow 2 Strength" }, - { "Shadow2 Top", "Shadow 2 Top" }, - { "Shadow2 Top Range", "Shadow 2 Top Range" }, - // Vertex_Offset - { "Depth Offset", "Depth Offset" }, - { "Fade Distance", "Fade Distance" }, // depth fade distance - { "Top Offset", "Top Offset" }, - { "Bottom Offset", "Bottom Offset" }, - { "Inner Corner Offset", "Inner Corner Offset" }, - { "Outer Corner Offset", "Outer Corner Offset" }, -}; - -TMap< FString, FString > g_kTearLineMap = -{ - { "Depth Offset", "DepthOffset" }, - { "Detail Amount", "DetailAmount" }, - { "Detail Scale U", "DetailScale_U" }, - { "Detail Scale V", "DetailScale_V" }, - { "Edge Fadeout", "Edge_fadeout" }, - { "_Roughness", "Roughness" } -}; - -#define AO_MAP_OCCLUDE_ALL_LIGHTS "Occlude All Lighting" -#define FLIP_MICRO_NORMAL_Y "Flip Micro Normal Y" - -TMap< FString, FString > g_kGeneralMap = -{ - { "SSS Map", "SSS Map" }, - { "MicroNormalMask", "MicroNormal Mask Map" }, - { "MicroNormal", "MicroNormal Map" }, - { "RGBA Area Mask", "RGBA Area Mask Map" }, - - { "_BaseColorMap Brightness", "BaseColorMap_Brightness" }, - { "_BaseColorMap Saturation", "BaseColorMap_Saturation" }, - { "AO Map Affect All Lights", AO_MAP_OCCLUDE_ALL_LIGHTS }, - // Micro_Normal - { "Flip MicroNormal Y", FLIP_MICRO_NORMAL_Y }, - { "MicroNormal Tiling", "MicroNormal Tiling Value" }, - { "MicroNormal Strength", "MicroNormal Strength" }, - // _Specular_Roughness - { "_Specular", "Specular" }, - { "Micro Roughness Scale", "Micro Roughness Scale" }, - // _Specular_Roughness-Adv - { "R Channel Roughness Scale", "R Channel Roughness Scale" }, - { "G Channel Roughness Scale", "G Channel Roughness Scale" }, - { "B Channel Roughness Scale", "B Channel Roughness Scale" }, - { "A Channel Roughness Scale", "A Channel Roughness Scale" }, - { "Unmasked Roughness Scale", "Unmask Roughness Scale" }, - { "Edge Roughness Multiplier", "Edge Roughness Multiplier" }, - - // SSS - { "R Channel Scatter Scale", "R Channel Scatter" }, - { "G Channel Scatter Scale", "G Channel Scatter" }, - { "B Channel Scatter Scale", "B Channel Scatter" }, - { "A Channel Scatter Scale", "A Channel Scatter" }, - { "Unmasked Scatter Scale", "SSS Unmasked Scale" }, -}; - -class RLShaderData -{ -public: - RLShaderData() {} - ~RLShaderData() {} - - FString m_strShaderName; - TMap< FString, FString > m_kTexture; - TMap< FString, float > m_kParameter; - TMap< FString, TArray< float > > m_kColorParameter; -}; - -class RLScatter -{ -public: - RLScatter() {} - ~RLScatter() {} - - RLScatter( FLinearColor sss, - FLinearColor falloff, - float radius, - float distribution, - float IOR, - float extinction, - float normalScale, - float roughness1, - float roughness2, - float lobeMix ) - :m_kFalloff( falloff ), - m_fRadius(radius), - m_fDistribution(distribution), - m_fIOR(IOR), - m_kSubsurfaceColor( sss ), - m_fExtinctionScale(extinction), - m_fNormalScale(normalScale), - m_fRoughness0(roughness1), - m_fRoughness1(roughness2), - m_fLobeMix(lobeMix) - { - } - - void SetDefaultParameter( FLinearColor kSubsurfaceColor, - float fDistribution, - float fIOR, - float fExtinctionScale, - float fNormalScale, - float fRoughness0, - float fRoughness1, - float fLobeMix ) - { - m_kSubsurfaceColor = kSubsurfaceColor; - m_fDistribution = fDistribution; - m_fIOR = fIOR; - m_fExtinctionScale = fExtinctionScale; - m_fNormalScale = fNormalScale; - m_fRoughness0 = fRoughness0; - m_fRoughness1 = fRoughness1; - m_fLobeMix = fLobeMix; - } - - FLinearColor m_kFalloff; - float m_fRadius = 0.0f; - float m_fDistribution = 0.0f; - float m_fIOR = 0.0f; - - FLinearColor m_kSubsurfaceColor; - float m_fExtinctionScale = 0.0f; - float m_fNormalScale = 0.0f; - float m_fRoughness0 = 0.0f; - float m_fRoughness1 = 0.0f; - float m_fLobeMix = 0.0f; -}; \ No newline at end of file diff --git a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Private/RLString.h b/Plugins/Auto_Setup_1.22/Source/RLPlugin/Private/RLString.h deleted file mode 100644 index ce4e172d..00000000 --- a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Private/RLString.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once - -#define Version_Error_Message "The current procedure has come to a stop because auto-setup is not support for this version of CC / iClone. Please update to the appropriate version." -#define Version_Not_Suitable "Auto-setup is not support for this version of CC / iClone and some issues may occur as a result. Please update to the appropriate version." \ No newline at end of file diff --git a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/CCImportWindow.h b/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/CCImportWindow.h deleted file mode 100644 index edac1474..00000000 --- a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/CCImportWindow.h +++ /dev/null @@ -1,53 +0,0 @@ -#pragma once - - -//#include "SlateBasics.h" - -class UCCImportUI; - -class SCCImportWindow : public SCompoundWidget -{ -public: - SLATE_BEGIN_ARGS(SCCImportWindow) - : _ImportUI(NULL) - , _WidgetWindow() - //, _SourcePath() - //, _TargetPath() - {} - - SLATE_ARGUMENT(UCCImportUI*, ImportUI) - SLATE_ARGUMENT(TSharedPtr, WidgetWindow) - // SLATE_ARGUMENT(FText, SourcePath) - //SLATE_ARGUMENT(FText, TargetPath) - SLATE_END_ARGS() - -public: - void Construct(const FArguments& InArgs); -private: - UCCImportUI* ccImportUI; - TWeakPtr< SWindow > WidgetWindow; - TSharedPtr< SButton > ImportButton; - //FString TargetPath; - bool isCCAutoSetup; - bool isHQSkin; - bool isLWSkin; - bool isStandardSkin; - bool isliveLink; - //TSharedRef GetTestContent() const; - FString skinType = "Standard"; - ECheckBoxState IsStandardActive() const; - ECheckBoxState IsHQActive() const; - ECheckBoxState IsLWActive() const; - void OnCCLiveLinkChanged(ECheckBoxState InCheckedState); - void OnCCAutoSetupChanged(ECheckBoxState InCheckedState); - void OnStandardChanged(ECheckBoxState InCheckedState); - void OnHQChanged(ECheckBoxState InCheckedState); - void OnLWChanged(ECheckBoxState InCheckedState); - TSharedPtr< SCheckBox > Standard_CheckBox; - TSharedPtr< SCheckBox > HQ_CheckBox; - TSharedPtr< SCheckBox > LW_CheckBox; - TSharedPtr< SCheckBox > CCAutoSetup_CheckBox; - FReply OnCancel(); - FReply OnNext(); - FReply OnMore(); -}; \ No newline at end of file diff --git a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLMaterialData.h b/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLMaterialData.h deleted file mode 100644 index 1bb56845..00000000 --- a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLMaterialData.h +++ /dev/null @@ -1,43 +0,0 @@ -#pragma once -#include "RLTextureData.h" -#include "RLPhysicClothData.h" -#include "RLShaderData.h" - -enum class ENodeType -{ - None, - Hair, - Accessory -}; - -class RLMaterialData -{ -public: - RLMaterialData() {} - ~RLMaterialData() {} - - void SetShaderData( TSharedPtr< RLShaderData > spShaderData ) { m_spShaderData = spShaderData; } - const RLShaderData* GetShaderData() const { return m_spShaderData ? m_spShaderData.Get() : nullptr; } - RLShaderData* GetShaderData() { return m_spShaderData ? m_spShaderData.Get() : nullptr; } - - void SetScatter( TSharedPtr< RLScatter > spScatter ) { m_spScatter = spScatter; } - RLScatter* GetScatter() { return m_spScatter ? m_spScatter.Get() : nullptr; } - - bool m_bIsPbr = false; - ENodeType m_eNodeType = ENodeType::None; - bool m_bTwoSide = false; - int m_iUvChannelIndex = 0; - TArray< float > m_kDiffuseColor = { 255.f, 255.f, 255.f }; - TArray< float > m_kAmbientColor = { 50.f, 50.f, 50.f }; - TArray< float > m_kSpecularColor = { 229.f, 229.f, 229.f }; - float m_fOpacity = 1.f; - float m_fSelfIllumination = 0.f; - float m_fSpecular = 0.f; - float m_fGlossiness = 0.f; - TMap< FString, RLTextureData > m_kTextureDatas; - TSharedPtr< RLPhysicClothData > m_spPhysicClothData = nullptr; - -private: - TSharedPtr< RLShaderData > m_spShaderData; - TSharedPtr< RLScatter > m_spScatter; -}; \ No newline at end of file diff --git a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPhysicClothData.h b/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPhysicClothData.h deleted file mode 100644 index 403c0b7e..00000000 --- a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPhysicClothData.h +++ /dev/null @@ -1,28 +0,0 @@ -#pragma once -#include "CoreMinimal.h" - -class RLPhysicClothData -{ -public: - RLPhysicClothData() {} - ~RLPhysicClothData() {} - - bool m_bActivate = false; - bool m_bUseGlobalGravity = false; - FString m_strWeightMapPath = ""; - float m_fMass = 0.f; - float m_fFriction = 0.f; - float m_fDamping = 0.f; - float m_fDrag = 0.f; - float m_fSolverFrequency = 0.f; - float m_fTetherLimit = 0.f; - float m_fElasticity = 0.f; - float m_fStretch = 0.f; - float m_fBending = 0.f; - TArray< float > m_kInertia = { 6.0, 6.0, 6.0 }; - bool m_bSoftVsRigidCollision = false; - float m_fSoftVsRigidCollisionMargin = 0.f; - bool m_bSelfCollision = false; - float m_fSelfCollisionMargin = 0.f; - float m_fStiffnessFrequency = 0.f; -}; \ No newline at end of file diff --git a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPhysicCollisionShapeData.h b/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPhysicCollisionShapeData.h deleted file mode 100644 index d510851e..00000000 --- a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPhysicCollisionShapeData.h +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once -#include "CoreMinimal.h" - -class RLPhysicsCollisionShapeData -{ -public: - RLPhysicsCollisionShapeData() {} - ~RLPhysicsCollisionShapeData() {} - - FString m_strName = ""; - bool m_bBoneActivate = false; - bool m_bIsCCStdBoneAxis = false; - FString m_strBoundType = ""; - FString m_strBoundAxis = ""; - float m_fMargin = 0.f; - float m_fFriction = 0.f; - float m_fElasticity = 0.f; - - TArray< float > m_kWorldTranslate = { 0.0, 0.0, 0.0 }; - TArray< float > m_kWorldRotation = { 0.0, 0.0, 0.0, 0.0 }; - TArray< float > m_kWorldScale = { 0.0, 0.0, 0.0 }; - - TArray< float > m_kShapeLocalPosition = { 0.0, 0.0, 0.0 }; - TArray< float > m_kExtent = { 0.0, 0.0, 0.0 }; - float m_fRadius = 0.f; - float m_fCapsuleLength = 0.f; -}; \ No newline at end of file diff --git a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPlugin.h b/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPlugin.h deleted file mode 100644 index 43bf5dc2..00000000 --- a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPlugin.h +++ /dev/null @@ -1,160 +0,0 @@ -// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. - -#pragma once - -#include "CoreMinimal.h" -#include "Modules/ModuleManager.h" -#include "AssetRegistryModule.h" -#include "ObjectTools.h" -#include "PackageTools.h" -#include "CCImportUI.h" -#include "Editor/UnrealEd/Classes/Factories/FbxFactory.h" -#include "Editor/UnrealEd/Public/Editor.h" -#include "Runtime/Engine/Classes/Engine/Selection.h" -#include "Runtime/Engine/Classes/Materials/MaterialInstanceConstant.h" -#include "Runtime/Engine/Classes/Engine/SkeletalMesh.h" -#include "Runtime/JSon/Public/Dom/JsonObject.h" -#include "RLTextureData.h" -#include "RLMaterialData.h" -#include "RLPhysicCollisionShapeData.h" -#include "Runtime/Engine/Classes/Animation/Rig.h" -#include "Runtime/Launch/Resources/Version.h" -#include -class FToolBarBuilder; -class FMenuBuilder; -class UClothingAssetCommon; -class UClothLODDataBase; - -class CMaterialType -{ -public: - CMaterialType( FString strMaterialName, FString strBoneType = "" ); - FString GetType() { return m_strMaterialType; } - float GetTilingValue() { return m_fTilingValue; } - -private: - FString m_strMaterialType; - float m_fTilingValue = 0.0f; -}; - -enum class EShaderType -{ - Teeth, - Scalp, - Eyelash, - Eye, - Tearline, - Occulsion, - Head, - Skin, - Hair, - GeneralSSS, - PBR, - TRA, -}; - -class FRLPluginModule : public IModuleInterface -{ -public: - - /** IModuleInterface implementation */ - virtual void StartupModule() override; - virtual void ShutdownModule() override; - - /** This function will be bound to Command. */ - void PluginButtonClicked(); - void AutoSetup( TArray& kAssetDatas, - FString strShaderType, - TArray& kLODPathList, - bool bIsDragFbx ); - bool CheckAutoSetupVersionPass( FString strJsonFilePath ); - -private: - void AddToolbarExtension( FToolBarBuilder& kBuilder ); - void AddMenuExtension( FMenuBuilder& kBuilder ); - void CheckWorldGridMaterial(FString &strFbxName, FString &rootGamePath, FString ccMaterialFolderGamePath, UStaticMesh *pMesh, bool isMaterialInstance); - bool CheckShaderTypeChange(FString &strfbxName, FString shaderType, USkeletalMesh *mesh, UMaterial* material, UMaterialInterface* MaterialInterface, RLMaterialData* pMaterialData, int slotID, FString &rootGamePath, bool isMaterialInstance, FString strBoneType ); - void DeleteTextureFile( const FString& strDeleteFloderPath, const FString& strCheckFolderPath ); - void ShowInfo( const FString& strMessage, const float& fExpireDuration ); - FString GetBoneType( const FAssetData& kAssetData ); - USkeleton* GetAssetSkeleton( const FAssetData& kAssetData ); - bool CreateFolder( FString &path ); - void CreateTexturesPathList( const FString &strRootGamePath, TArray &kTexturesPathList ); - void RemoveInvalidTexture( TMap< FString, RLMaterialData >& kMaterialMap, const FString& strTexturePath, const FString& strFbmTexturePath, TArray< FString >& kTexturesPathList ); - bool CheckTextureShouldImport( const FString& strFilePath, bool bPbr ); -#if ENGINE_MAJOR_VERSION <= 4 && ENGINE_MINOR_VERSION == 24 - bool RLPluginImportToLodInternal( USkeletalMesh* SourceMesh, int32 SourceLodIndex, int32 SourceSectionIndex, UClothingAssetCommon* DestAsset, UClothLODDataBase* DestLod, UClothLODDataBase* InParameterRemapSource ); -#endif - FString GetMaterialPackagePath( const FString& strRootGamePath, const FString& strMaterialName, const FString& strFbxName, bool bIsMaterialInstance ); - void ReplaceMaterial( UMaterialInterface* pMaterialInterface, const FString &strPackagePath, std::function< void( UMaterialInterface* ) > fnReplaceMaterial ); - void DeleteUnrealMaterial( const FString &strSourceFolderPath, const FString &strTargetFolderPath, const FString &strFbxName, const FString &strRootGamePath, bool bIsMaterialInstance, std::function< void() > fnReplaceMeshMaterial ); - void DeleteDefaultSkeletalMaterial( const FString &strSourceFolderPath, const FString &strTargetFolderPath, const FString &strFbxName, const FString &strRootGamePath, USkeletalMesh *pMesh, bool bIsMaterialInstance ); - void DeleteDefaultStaticMaterial( const FString &strSourceFolderPath, const FString &strTargetFolderPath, const FString &strFbxName, const FString &strRootGamePath, UStaticMesh *pMesh, bool bIsMaterialInstance ); - - void MoveTextureFile( FString& strTargetFolderPath ); - void findLODGroupMaterialJson(TMap< FString, RLMaterialData > &kMaterialMap, FString &strFbxName, FString &strRootGamePath, USkeletalMesh *kMesh, bool bIsMaterialInstance); - void findLODGroupMaterial(FString &rootGamePath, USkeletalMesh *mesh ); - void SetOrmTextureSetting( UMaterialInstanceConstant* pMaterialInstance, const FString& strTexturePath, const bool bSkin = false ); - void ProcessMaterialInstanceConstant( UMaterialInstanceConstant*& pMaterialInstance, UMaterial* pMaterial, UMaterialInterface* pMeshMaterialInterface, UMaterialInterface* pParentInterface, const FString& strCCMaterialFolderPath, std::function< void( UMaterialInstanceConstant* ) > fnMaterialSetting ); - void AssignMaterialInstanceJson( UMaterialInstanceConstant*& pInstUMaterialInterface, - const FString& strMaterialName, - RLMaterialData* pMaterialData, - TArray & texturesPathList, - UMaterial* material, - UMaterialInterface* MaterialInterface, - FString texturesFilesGamePath, - FString texturesFilesGamePathFbm, - FString ccMaterialFolderGamePath, - const FString& strSubsurfaceProfilePath, - FString boneType, - FString shaderType ); - - void AssignGeneralSss( RLMaterialData* pMaterialData, TArray &kTexturesPathList, FString strTexturesFilesGamePathFbm, const FString& strMaterialName, FString texturesFilesGamePath, bool bIsHQSkin, const FString& strSubsurfaceProfilePath, FString strTexturePathToLoad, UMaterialInstanceConstant*& pInstUMaterialInterface, UMaterial* pMaterial, UMaterialInterface* pMaterialInterface, FString strCCMaterialFolderGamePath ); - - void PhysicIniPaser( FString iniPath ); - FString GetTexturePath( RLMaterialData *pMaterialData, const FString& strKey, const FString& strTexturesFolderPath, const FString& strMaterialName ); - void SetTextureParameter( RLMaterialData *pMaterialData, const FString& strKey, UMaterialInstanceConstant* pMaterialInstance ); - - void UpdateStaticParameter( UMaterialInstanceConstant* pMaterialInstance, const FString& strParameter, bool bEnable, bool bMarkChanged ); - void SetMultiUvIndex( RLMaterialData *pMaterialData, UMaterialInstanceConstant* pMaterialInstance ); - void SetBaseColor( RLMaterialData *pMaterialData, UMaterialInstanceConstant* pMaterialInstance, TArray kTexturesPathList, FString strTexturesFilesGamePathsFbm[2], FString strMaterialName ); - void SetNormal( RLMaterialData *pMaterialData, UMaterialInstanceConstant* pMaterialInstance, TArray kTexturesPathList, FString strTexturesFilesGamePathsFbm[2], FString strMaterialName ); - void SetSpecular( RLMaterialData *pMaterialData, UMaterialInstanceConstant* pMaterialInstance, TArray kTexturesPathList, FString strTexturesFilesGamePathsFbm[2], FString strMaterialName, bool bIsPBR ); - void SetOpacity( RLMaterialData *pMaterialData, UMaterialInstanceConstant* pMaterialInstance, TArray kTexturesPathList, FString strTexturesFilesGamePathsFbm[2], FString strMaterialName ); - void SetGlow( RLMaterialData *pMaterialData, UMaterialInstanceConstant* pMaterialInstance, TArray kTexturesPathList, FString strTexturesFilesGamePaths[2], FString strMaterialName ); - void SetBlend( RLMaterialData *pMaterialData, UMaterialInstanceConstant* pMaterialInstance, TArray kTexturesPathList, FString kTexturesFilesGamePaths[2], FString strMaterialName ); - void SetBlendToHairDepthMap( RLMaterialData *pMaterialData, UMaterialInstanceConstant* pMaterialInstance, TArray kTexturesPathList, FString kTexturesFilesGamePaths[2], FString strMaterialName ); - void SetDisplacement( RLMaterialData* pMaterialData, UMaterialInstanceConstant* pMaterialInstance, TArray kTexturesPathList, FString strTexturesFilesGamePaths[2], FString strMaterialName ); - void SetAO( RLMaterialData *pMaterialData, UMaterialInstanceConstant* pMaterialInstance, TArray kTexturesPathList, FString strTexturesFilesGamePaths[2], FString strMaterialName ); - void SetRoughness( RLMaterialData *kMaterialData, UMaterialInstanceConstant* kMaterialInstance, TArray texturesPathList, FString texturesFilesGamePaths[2], FString materialName, bool isPBR ); - void SetMetallic( RLMaterialData *kMaterialData, UMaterialInstanceConstant* kMaterialInstance, TArray texturesPathList, FString texturesFilesGamePaths[2], FString materialName, bool isPBR ); - void CreateCollisionShape(FName strBoneName, FVector kBoundMin, FVector kBoundMax, FVector kScale, FVector kOffset, UBodySetup* pBodySetup, int nShapeType, int nBoundAxis); - void CreateCollisionShapeFromData( RLPhysicsCollisionShapeData* pCollisionShapeData, UBodySetup* pBodySetup, const FTransform* kBoneParentWorldTransform ); - void CreateConstraint(FName strBoneName, int nBoneID, USkeletalMesh* pMesh, UPhysicsAsset* pPhysicsAsset); - static bool SetShaderTextureSrgbCompression( UTexture* pTexture, FString strName ); - void SetShaderData( RLShaderData* pShaderData, UMaterialInstanceConstant* pMaterialInstance, const FString& strFolder ); - void SetScatter( const RLScatter* pScatter, UMaterialInstanceConstant* pMaterialInstance, const FString& strMaterialName, FString strSubsurfaceProfilePath, EShaderType eShaderType ); - - void GetShaderRenameMap( FString strMaterialName, EShaderType eType, RLShaderData* pShaderData, ENodeType eNodeType, TMap< FString, FString >& kRenameMap ); - void ParseJson( const FString& strJsonFilePath, FString& strGeneration, FString& strBoneType, bool& bSupportShaderSelect, TMap< FString, RLMaterialData >& kMaterialMap, TMap< FString, TArray >& kCollisionShapeMap ); - void ParseJsonShaderData( TSharedPtr< RLMaterialData > spMaterialData, TSharedPtr< FJsonObject > spJsonObject, FString strMaterialName, FString strBoneType ); - void ParseJsonScatterData( TSharedPtr< RLMaterialData > spMaterialData, TSharedPtr< FJsonObject > spJsonObject ); - void ParseJsonPhysicsData( TSharedPtr spPhysicsRoot, TMap< FString, RLMaterialData >& kMaterialMap, TMap< FString, TArray >& kCollisionShapeMap, bool bIsCCStdBoneAxis ); - - void ConvertEyeMaterialName( FString& strMaterialName ); - - - UObject* RLCreatePhysicsAsset( FName InAssetName, UObject* InParent, USkeletalMesh* SkelMesh ); - - FString GetMaterialTypeByName( FString strName ); - EShaderType GetShaderType( RLMaterialData* pMaterialData, FString strMaterialName, FString strBoneType ); - EShaderType GetPbrShaderType( const RLShaderData* pShaderData, FString strMaterialName, FString strBoneType ); - void UpdateWorld( int32 BoneIndex, FTransform ParentWorld, USkeleton* pSkeleton, const TArray& kBoneTransform, TArray& kBoneWorld ); - void CreatePhysicCollisionShape( UPhysicsAsset* pPhysicsAsset, USkeletalMesh* pMesh, USkeleton* pSkeleton, const TMap< FString, TArray >& kCollisionShapeMap ); - void CreatePhysicSoftCloth( UPhysicsAsset* pPhysicsAsset, USkeletalMesh* pMesh, TMap< FString, RLMaterialData >& kMaterialMap ); - - TSharedPtr< class FUICommandList > m_kPluginCommands; - static URig* m_pEngineHumanoidRig; - bool m_bIsMaterialInstance = true; - //FString const MATERIAL_FLODER_NAME = "RL_Materials"; -}; diff --git a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPluginCommands.h b/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPluginCommands.h deleted file mode 100644 index bd0de40d..00000000 --- a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPluginCommands.h +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. - -#pragma once - -#include "CoreMinimal.h" -#include "Framework/Commands/Commands.h" -#include "RLPluginStyle.h" - -class FRLPluginCommands : public TCommands -{ -public: - - FRLPluginCommands() - : TCommands( TEXT( "RLPlugin" ), - NSLOCTEXT( "Contexts", "RLPlugin", "RLPlugin Plugin" ), - NAME_None, - FRLPluginStyle::GetStyleSetName() ) - { - } - - // TCommands<> interface - virtual void RegisterCommands() override; - -public: - TSharedPtr< FUICommandInfo > PluginAction; -}; diff --git a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPluginStyle.h b/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPluginStyle.h deleted file mode 100644 index f9b1c1b0..00000000 --- a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPluginStyle.h +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. - -#pragma once - -#include "CoreMinimal.h" -#include "Styling/SlateStyle.h" - -class FRLPluginStyle -{ -public: - - static void Initialize(); - - static void Shutdown(); - - /** reloads textures used by slate renderer */ - static void ReloadTextures(); - - /** @return The Slate style set for the Shooter game */ - static const ISlateStyle& Get(); - - static FName GetStyleSetName(); - -private: - - static TSharedRef< class FSlateStyleSet > Create(); - -private: - - static TSharedPtr< class FSlateStyleSet > StyleInstance; -}; \ No newline at end of file diff --git a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLTextureData.h b/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLTextureData.h deleted file mode 100644 index 7ab4ef8b..00000000 --- a/Plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLTextureData.h +++ /dev/null @@ -1,20 +0,0 @@ -#pragma once -#include "CoreMinimal.h" - -class RLTextureData -{ -public: - RLTextureData() {} - ~RLTextureData() {} - - FString m_strTexturePath = ""; - bool m_bShareImage = false; - float m_fStrength = 100.f; - TArray< float > m_kOffset = { 0.f, 0.f }; - TArray< float > m_kTiling = { 1.f, 1.f }; - float m_fTessellationLevel = 0.f; - float m_fTessellationMulitiplier = 0.f; - float m_fGrayScaleBaseValue = 0.f; - FString m_strDisplacementMapType = ""; - FString m_strBlendMode = "Multiply"; -}; \ No newline at end of file diff --git a/Plugins/Auto_Setup_1.22/Source/RLPlugin/RLPlugin.Build.cs b/Plugins/Auto_Setup_1.22/Source/RLPlugin/RLPlugin.Build.cs deleted file mode 100644 index 8b5781cb..00000000 --- a/Plugins/Auto_Setup_1.22/Source/RLPlugin/RLPlugin.Build.cs +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. - -using UnrealBuildTool; - -public class RLPlugin : ModuleRules -{ - public RLPlugin(ReadOnlyTargetRules Target) : base(Target) - { - PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; - bUsePrecompiled = true; - PublicIncludePaths.AddRange( - new string[] { - // ... add public include paths required here ... - } - ); - - - PrivateIncludePaths.AddRange( - new string[] { - // ... add other private include paths required here ... - } - ); - - - PublicDependencyModuleNames.AddRange( - new string[] - { - "Core", - } - ); - - - PrivateDependencyModuleNames.AddRange( - new string[] - { - "Projects", - "InputCore", - "UnrealEd", - "LevelEditor", - "CoreUObject", - "RenderCore", - "Engine", - "Slate", - "SlateCore", - "ContentBrowser", - "DesktopPlatform", - "MaterialEditor", - "ImageWrapper", - "EditorStyle", - "RawMesh", - "ClothingSystemEditorInterface", - "SkeletalMeshEditor", - "Json", - "JsonUtilities", - } - ); - if( Target.Version.MajorVersion == 4 && Target.Version.MinorVersion <= 23 ) - { - PrivateDependencyModuleNames.AddRange( - new string[] - { - "ClothingSystemRuntime" - } ); - } - if( Target.Version.MajorVersion == 4 && Target.Version.MinorVersion >= 24 ) - { - PrivateDependencyModuleNames.AddRange( - new string[] - { - "ClothingSystemEditor", - "ClothingSystemRuntimeCommon", - "SkeletalMeshUtilitiesCommon", - "ClothingSystemRuntimeInterface", - "ClothingSystemRuntimeNv" - } ); - } - - DynamicallyLoadedModuleNames.AddRange( - new string[] - { - // ... add any modules that your module loads dynamically here ... - } - ); - } -} diff --git a/Samples/PixelStreaming/WebServers/get_ps_servers.bat b/Samples/PixelStreaming/WebServers/get_ps_servers.bat index d7b18f8a..a3778aae 100644 --- a/Samples/PixelStreaming/WebServers/get_ps_servers.bat +++ b/Samples/PixelStreaming/WebServers/get_ps_servers.bat @@ -5,6 +5,21 @@ @Rem Set script location as working directory for commands. pushd "%~dp0" +@Rem Turned on delayed expansion so we have variables evaluated in nested scope +setlocal EnableDelayedExpansion + +@Rem Unset all our variables as these persist between cmd sessions if cmd not closed. +SET "PSInfraOrg=" +SET "PSInfraRepo=" +SET "PSInfraTagOrBranch=" +SET "ReleaseVersion=" +SET "ReleaseUrl=" +SET "IsTag=" +SET "RefType=" +SET "Url=" +SET "DownloadVersion=" +SET "FlagPassed=" + :arg_loop_start SET ARG=%1 if DEFINED ARG ( @@ -13,16 +28,26 @@ if DEFINED ARG ( ) if "%ARG%"=="/v" ( SET UEVersion=%2 + SET FlagPassed=1 SHIFT ) if "%ARG%"=="/b" ( SET PSInfraTagOrBranch=%2 SET IsTag=0 + SET FlagPassed=1 SHIFT ) if "%ARG%"=="/t" ( SET PSInfraTagOrBranch=%2 SET IsTag=1 + SET FlagPassed=1 + SHIFT + ) + if "%ARG%"=="/r" ( + SET "ReleaseVersion=%2" + SET "ReleaseUrl=https://github.com/EpicGames/PixelStreamingInfrastructure/releases/download/!ReleaseVersion!/!ReleaseVersion!.zip" + SET IsTag=0 + SET FlagPassed=1 SHIFT ) SHIFT @@ -47,53 +72,116 @@ if DEFINED UEVersion ( SET PSInfraTagOrBranch=UE5.0 SET IsTag=0 ) + if "%UEVersion%"=="5.1" ( + SET PSInfraTagOrBranch=UE5.1 + SET IsTag=0 + ) + if "%UEVersion%"=="5.2" ( + SET PSInfraTagOrBranch=UE5.2 + SET IsTag=0 + ) + if "%UEVersion%"=="5.3" ( + SET PSInfraTagOrBranch=UE5.3 + SET IsTag=0 + ) ) @Rem If no arguments select a specific version, fetch the appropriate default if NOT DEFINED PSInfraTagOrBranch ( - SET PSInfraTagOrBranch=UE5.1 + SET PSInfraTagOrBranch=UE5.3 SET IsTag=0 ) +echo Tag or branch: !PSInfraTagOrBranch! -@Rem Whether the named reference is a tag or a branch affects the URL we fetch it on +@Rem Whether the named reference is a tag or a branch affects the Url we fetch it on if %IsTag%==1 ( SET RefType=tags ) else ( SET RefType=heads ) -@Rem Look for a SignallingWebServer directory next to this script -if exist SignallingWebServer\ ( - echo SignallingWebServer directory found...skipping install. -) else ( - echo SignallingWebServer directory not found...beginning ps-infra download. - - @Rem Download ps-infra and follow redirects. - curl -L https://github.com/%PSInfraOrg%/%PSInfraRepo%/archive/refs/%RefType%/%PSInfraTagOrBranch%.zip > ps-infra.zip - - @Rem Unarchive the .zip - tar -xmf ps-infra.zip || echo bad archive, contents: && type ps-infra.zip && exit 0 - - @Rem Rename the extracted, versioned, directory - for /d %%i in ("PixelStreamingInfrastructure-*") do ( - for /d %%j in ("%%i/*") do ( - echo "%%i\%%j" - move "%%i\%%j" . +@Rem We have a branch, no user-specified release, then check repo for the presence of a RELEASE_VERSION file in the current branch +if %IsTag%==0 ( + if NOT DEFINED ReleaseUrl ( + @Rem We don't want to auto-set the release version if the user passed an explicit flag. + if NOT DEFINED FlagPassed ( + FOR /F "tokens=* USEBACKQ" %%F IN (`curl -s -f -L https://raw.githubusercontent.com/EpicGames/PixelStreamingInfrastructure/%PSInfraTagOrBranch%/RELEASE_VERSION`) DO ( + SET "ReleaseVersion=!PSInfraTagOrBranch!-%%F" + SET "ReleaseUrl=https://github.com/EpicGames/PixelStreamingInfrastructure/releases/download/!ReleaseVersion!/!ReleaseVersion!.zip" + ) ) - for %%j in ("%%i/*") do ( - echo "%%i\%%j" - move "%%i\%%j" . - ) - - echo "%%i" - rmdir /s /q "%%i" ) - - @Rem Delete the downloaded zip - del ps-infra.zip ) -exit 0 +@Rem Set our DownloadVersion here as we use this to check the contents of our DOWNLOAD_VERSION file shortly. +SET "DownloadVersion=%PSInfraTagOrBranch%" +if DEFINED ReleaseVersion ( + SET "DownloadVersion=!ReleaseVersion!" + echo Release: !ReleaseVersion! +) + +@Rem Check for the existence of a DOWNLOAD_VERSION file and if found, check its contents against our %DownloadVersion% +if exist DOWNLOAD_VERSION ( + + @Rem Read DOWNLOAD_VERSION file into variable + FOR /F "delims=" %%F IN ( DOWNLOAD_VERSION ) DO ( + SET "PreviousDownloadVersion=%%F" + @Rem Remove whitespace + SET "PreviousDownloadVersion=!PreviousDownloadVersion: =!" + ) + + if !DownloadVersion! == !PreviousDownloadVersion! ( + echo Downloaded version ^(!DownloadVersion!^) of PS infra matches release version ^(!PreviousDownloadVersion!^)...skipping install. + goto :EOF + ) else ( + echo There is a newer released version ^(!DownloadVersion!^) - had ^(!PreviousDownloadVersion!^), downloading... + ) +) else ( + echo DOWNLOAD_VERSION file not found...beginning ps-infra download. +) + +@Rem By default set the download url to the .zip of the branch +SET Url=https://github.com/%PSInfraOrg%/%PSInfraRepo%/archive/refs/%RefType%/%PSInfraTagOrBranch%.zip + +@Rem If we have a ReleaseUrl then set it to our download url +if DEFINED ReleaseUrl ( + SET Url=!ReleaseUrl! +) + +@Rem Download ps-infra and follow redirects. +echo Attempting downloading Pixel Streaming infrastructure from: !Url! +curl -L !Url! > ps-infra.zip + +@Rem Unarchive the .zip +tar -xmf ps-infra.zip || echo bad archive, contents: && type ps-infra.zip && exit 0 + +@Rem Remove old infra +if exist Frontend\ ( rmdir /s /q Frontend ) +if exist Matchmaker\ ( rmdir /s /q Matchmaker ) +if exist SignallingWebserver\ ( rmdir /s /q SignallingWebserver ) +if exist SFU\ ( rmdir /s /q SFU ) + +@Rem Rename the extracted, versioned, directory +for /d %%i in ("PixelStreamingInfrastructure-*") do ( + for /d %%j in ("%%i/*") do ( + echo "%%i\%%j" + move "%%i\%%j" . + ) + for %%j in ("%%i/*") do ( + echo "%%i\%%j" + move "%%i\%%j" . + ) + + echo "%%i" + rmdir /s /q "%%i" +) + +@Rem Delete the downloaded zip +del ps-infra.zip + +@Rem Create a DOWNLOAD_VERSION file, which we use as a comparison file to check if we should auto upgrade when these scripts are run again +echo %DownloadVersion%> DOWNLOAD_VERSION +goto :EOF :print_help echo. @@ -101,10 +189,11 @@ echo Tool for fetching PixelStreaming Infrastructure. If no flags are set speci echo the recommended version will be chosen as a default. echo. echo Usage: -echo %~n0%~x0 [^/h] [^/v ^] [^/b ^] [^/t ^] +echo %~n0%~x0 [^/h] [^/v ^] [^/b ^] [^/t ^] [^/r ^] echo Where: echo /v Specify a version of Unreal Engine to download the recommended release for echo /b Specify a specific branch for the tool to download from repo echo /t Specify a specific tag for the tool to download from repo +echo /r Specify a specific release url path e.g. https://github.com/EpicGames/PixelStreamingInfrastructure/releases/download/${RELEASE_HERE}.zip echo /h Display this help message -exit 1 \ No newline at end of file +goto :EOF \ No newline at end of file diff --git a/Samples/PixelStreaming/WebServers/get_ps_servers.sh b/Samples/PixelStreaming/WebServers/get_ps_servers.sh index 15abcba9..ba178d96 100644 --- a/Samples/PixelStreaming/WebServers/get_ps_servers.sh +++ b/Samples/PixelStreaming/WebServers/get_ps_servers.sh @@ -17,25 +17,37 @@ print_help() { release for -b Specify a specific branch for the tool to download from repo -t Specify a specific tag for the tool to download from repo + -r Specify a specific release url path e.g. https://github.com/EpicGames/PixelStreamingInfrastructure/releases/download//.zip -h Display this help message " exit 1 } +# Set all default variables (e.g. # Name and version of ps-infra that we are downloading) +PSInfraOrg=EpicGames +PSInfraRepo=PixelStreamingInfrastructure +PSInfraTagOrBranch=UE5.3 +RefType=heads +IsTag=0 +ReleaseUrlBase=https://github.com/EpicGames/PixelStreamingInfrastructure/releases/download +# Unset any variables that don't have defaults that we use that may have persisted between bash terminals. +unset Url +unset DownloadVersion +unset FlagPassed +unset ReleaseVersion +unset ReleaseUrl + while(($#)) ; do case "$1" in -h ) print_help;; - -v ) UEVersion="$2"; shift 2;; - -b ) PSInfraTagOrBranch="$2"; IsTag=0; shift 2;; - -t ) PSInfraTagOrBranch="$2"; IsTag=1; shift 2;; + -v ) UEVersion="$2"; FlagPassed=1; shift 2;; + -b ) PSInfraTagOrBranch="$2"; FlagPassed=1; IsTag=0; shift 2;; + -t ) PSInfraTagOrBranch="$2"; FlagPassed=1; IsTag=1; shift 2;; + -r ) ReleaseVersion="$2"; FlagPassed=1; IsTag=0; ReleaseUrl=$ReleaseUrlBase/$ReleaseVersion/$ReleaseVersion.tar.gz; shift 2;; * ) echo "Unknown command: $1"; shift;; esac done -# Name and version of ps-infra that we are downloading -PSInfraOrg=EpicGames -PSInfraRepo=PixelStreamingInfrastructure - # If a UE version is supplied set the right branch or tag to fetch for that version of UE if [ ! -z "$UEVersion" ] then @@ -54,16 +66,32 @@ then PSInfraTagOrBranch=UE5.0 IsTag=0 fi + if [ "$UEVersion" = "5.1" ] + then + PSInfraTagOrBranch=UE5.1 + IsTag=0 + fi + if [ "$UEVersion" = "5.2" ] + then + PSInfraTagOrBranch=UE5.2 + IsTag=0 + fi + if [ "$UEVersion" = "5.3" ] + then + PSInfraTagOrBranch=UE5.3 + IsTag=0 + fi fi # If no arguments select a specific version, fetch the appropriate default if [ -z "$PSInfraTagOrBranch" ] then - PSInfraTagOrBranch=UE5.1 + PSInfraTagOrBranch=UE5.3 IsTag=0 fi +echo "Tag or branch: $PSInfraTagOrBranch" -# Whether the named reference is a tag or a branch affects the URL we fetch it on +# Whether the named reference is a tag or a branch affects the Url we fetch it on if [ "$IsTag" -eq 1 ] then RefType=tags @@ -71,25 +99,81 @@ else RefType=heads fi -# Look for a SignallingWebServer directory next to this script -if [ -d SignallingWebServer ] +# We have a branch, no user-specified release, then check repo for the presence of a RELEASE_VERSION file in the current branch. +if [ "$IsTag" -eq 0 ] && [ -z "$ReleaseUrl" ] && [ -z "$FlagPassed" ] then - echo "SignallingWebServer directory found...skipping install." + RelUrl=https://raw.githubusercontent.com/EpicGames/PixelStreamingInfrastructure/$PSInfraTagOrBranch/RELEASE_VERSION + if curl --output /dev/null --silent -r 0-0 --fail "$RelUrl"; then + ReleaseVersion="$PSInfraTagOrBranch-$(curl -L -s $RelUrl)" + ReleaseUrl=https://github.com/EpicGames/PixelStreamingInfrastructure/releases/download/$ReleaseVersion/$ReleaseVersion.tar.gz + echo "Valid RELEASE_VERSION file found in Github repo at $RelUrl" + else + echo "RELEASE_VERSION file does not exist at: $RelUrl" + fi else - echo "SignallingWebServer directory not found...beginning ps-infra download." + echo "Skipping downloading RELEASE_VERSION file." +fi - # Download ps-infra and follow redirects. - curl -L https://github.com/$PSInfraOrg/$PSInfraRepo/archive/refs/$RefType/$PSInfraTagOrBranch.tar.gz > ps-infra.tar.gz +#Set our DownloadVersion here as we use this to check the contents of our DOWNLOAD_VERSION file shortly. +DownloadVersion="$PSInfraTagOrBranch" +if [ ! -z "$ReleaseVersion" ] +then + DownloadVersion="$ReleaseVersion" + echo "Release: $ReleaseVersion" +fi - # Unarchive the .tar - tar -xmf ps-infra.tar.gz || $(echo "bad archive, contents:" && head --lines=20 ps-infra.tar.gz && exit 0) +#Rem Check for the existence of a DOWNLOAD_VERSION file and if found, check its contents against our $DownloadVersion +if test -f DOWNLOAD_VERSION; +then + PREVIOUS_DOWNLOAD_VERSION=$(cat DOWNLOAD_VERSION) + if [ "$DownloadVersion" = "$PREVIOUS_DOWNLOAD_VERSION" ] + then + echo "Downloaded version ($DownloadVersion) of PS infra matches release version ($PREVIOUS_DOWNLOAD_VERSION)...skipping install." + exit 0 + else + echo "There is a newer released version ($DownloadVersion) - had ($PREVIOUS_DOWNLOAD_VERSION), downloading..." + #Remove old infra + rm -rf Frontend + rm -rf Matchmaker + rm -rf SignallingWebServer + rm -rf SFU + fi +else + echo "DOWNLOAD_VERSION file not found..." +fi - # Move the server folders into the current directory (WebServers) and delete the original directory - mv PixelStreamingInfrastructure-*/* . - # Copy any files and folders beginning with dot (ignored by * glob) and discard errors regarding to not being able to move "." and ".." - mv PixelStreamingInfrastructure-*/.* . 2>/dev/null || : - rm -rf PixelStreamingInfrastructure-* +# Pre-download - Set the download url to the .zip of the branch +Url=https://github.com/$PSInfraOrg/$PSInfraRepo/archive/refs/$RefType/$PSInfraTagOrBranch.tar.gz - # Delete the downloaded tar - rm ps-infra.tar.gz -fi \ No newline at end of file +#Check if ReleaseUrl is valid by CURLing with fail fast and if success then set it to our download url +if [ ! -z "$ReleaseUrl" ] +then + echo "Checking if release url is valid, url: $ReleaseUrl" + if curl --output /dev/null --silent -r 0-0 --fail "$ReleaseUrl"; then + echo "Valid release url at: $ReleaseUrl" + Url=$ReleaseUrl + else + echo "Invalid Github release url: $ReleaseUrl" + exit 1 + fi +fi + +# Download - download ps-infra and follow redirects. +echo "Beginning ps-infra download from: $Url" +curl -L $Url > ps-infra.tar.gz + +# Unarchive the .tar +tar -xmf ps-infra.tar.gz || $(echo "bad archive, contents:" && head --lines=20 ps-infra.tar.gz && exit 0) + +# Move the server folders into the current directory (WebServers) and delete the original directory +mv PixelStreamingInfrastructure-*/* . +# Copy any files and folders beginning with dot (ignored by * glob) and discard errors regarding to not being able to move "." and ".." +mv PixelStreamingInfrastructure-*/.* . 2>/dev/null || : +rm -rf PixelStreamingInfrastructure-* + +# Delete the downloaded tar +rm ps-infra.tar.gz + +#Create a DOWNLOAD_VERSION file, which we use as a comparison file to check if we should auto upgrade when these scripts are run again +echo "$DownloadVersion" >| DOWNLOAD_VERSION +exit 0 \ No newline at end of file diff --git a/ShipyardSaudiDev.uproject b/ShipyardSaudiDev.uproject index c963f68a..f984fe0b 100644 --- a/ShipyardSaudiDev.uproject +++ b/ShipyardSaudiDev.uproject @@ -1,6 +1,6 @@ { "FileVersion": 3, - "EngineAssociation": "5.1", + "EngineAssociation": "5.3", "Category": "", "Description": "", "Plugins": [