diff --git a/Content/Blueprint/Core/BP_3DtextHelp.uasset b/Content/Blueprint/Core/BP_3DtextHelp.uasset
index 8caa15f5..87a489b3 100644
Binary files a/Content/Blueprint/Core/BP_3DtextHelp.uasset and b/Content/Blueprint/Core/BP_3DtextHelp.uasset differ
diff --git a/Content/Blueprint/Core/BP_randomizeChangeMaterialTexture.uasset b/Content/Blueprint/Core/BP_randomizeChangeMaterialTexture.uasset
index 6abdac67..b4862b1e 100644
Binary files a/Content/Blueprint/Core/BP_randomizeChangeMaterialTexture.uasset and b/Content/Blueprint/Core/BP_randomizeChangeMaterialTexture.uasset differ
diff --git a/Content/Blueprint/Game/BP_LuckyGameinstanceMode.uasset b/Content/Blueprint/Game/BP_LuckyGameinstanceMode.uasset
index 6ea6291c..1b97bacd 100644
Binary files a/Content/Blueprint/Game/BP_LuckyGameinstanceMode.uasset and b/Content/Blueprint/Game/BP_LuckyGameinstanceMode.uasset differ
diff --git a/Content/Blueprint/RobotPawnActors/BP_WheeledRobot.uasset b/Content/Blueprint/RobotPawnActors/BP_WheeledRobot.uasset
index 67cccb51..76310510 100644
Binary files a/Content/Blueprint/RobotPawnActors/BP_WheeledRobot.uasset and b/Content/Blueprint/RobotPawnActors/BP_WheeledRobot.uasset differ
diff --git a/Content/Blueprint/RobotPawnActors/BP_mujokoStretch.uasset b/Content/Blueprint/RobotPawnActors/BP_mujokoStretch.uasset
index da87455f..1be9fd84 100644
Binary files a/Content/Blueprint/RobotPawnActors/BP_mujokoStretch.uasset and b/Content/Blueprint/RobotPawnActors/BP_mujokoStretch.uasset differ
diff --git a/Content/Blueprint/component/BPC_Capture.uasset b/Content/Blueprint/component/BPC_Capture.uasset
index 170bc406..43621ff2 100644
Binary files a/Content/Blueprint/component/BPC_Capture.uasset and b/Content/Blueprint/component/BPC_Capture.uasset differ
diff --git a/Content/Blueprint/component/BPC_NaviPoint.uasset b/Content/Blueprint/component/BPC_NaviPoint.uasset
index 175bfe9f..0d415490 100644
Binary files a/Content/Blueprint/component/BPC_NaviPoint.uasset and b/Content/Blueprint/component/BPC_NaviPoint.uasset differ
diff --git a/Content/Blueprint/robotAccessoriesSensors/BP_IMUSensor.uasset b/Content/Blueprint/robotAccessoriesSensors/BP_IMUSensor.uasset
index ab6dc857..692487f0 100644
Binary files a/Content/Blueprint/robotAccessoriesSensors/BP_IMUSensor.uasset and b/Content/Blueprint/robotAccessoriesSensors/BP_IMUSensor.uasset differ
diff --git a/Content/Blueprint/robotAccessoriesSensors/BP_LidarSensor.uasset b/Content/Blueprint/robotAccessoriesSensors/BP_LidarSensor.uasset
index 698c4194..b37c14f6 100644
Binary files a/Content/Blueprint/robotAccessoriesSensors/BP_LidarSensor.uasset and b/Content/Blueprint/robotAccessoriesSensors/BP_LidarSensor.uasset differ
diff --git a/Content/Blueprint/vehicle/StretchRobot_vehicle_BP.uasset b/Content/Blueprint/vehicle/StretchRobot_vehicle_BP.uasset
index 02a9eebe..02c33629 100644
Binary files a/Content/Blueprint/vehicle/StretchRobot_vehicle_BP.uasset and b/Content/Blueprint/vehicle/StretchRobot_vehicle_BP.uasset differ
diff --git a/Content/luckyBot/Luckywidget/ChildItems/WB_ObjectsListCheckbox.uasset b/Content/luckyBot/Luckywidget/ChildItems/WB_ObjectsListCheckbox.uasset
index 59efbf16..e69ce032 100644
Binary files a/Content/luckyBot/Luckywidget/ChildItems/WB_ObjectsListCheckbox.uasset and b/Content/luckyBot/Luckywidget/ChildItems/WB_ObjectsListCheckbox.uasset differ
diff --git a/Content/luckyBot/Luckywidget/menu/WB_AllRandom.uasset b/Content/luckyBot/Luckywidget/menu/WB_AllRandom.uasset
index 02cbd46a..5076e23b 100644
Binary files a/Content/luckyBot/Luckywidget/menu/WB_AllRandom.uasset and b/Content/luckyBot/Luckywidget/menu/WB_AllRandom.uasset differ
diff --git a/Content/luckyBot/Luckywidget/menu/WB_CaptureSettings.uasset b/Content/luckyBot/Luckywidget/menu/WB_CaptureSettings.uasset
index 25b14d77..e8b0d684 100644
Binary files a/Content/luckyBot/Luckywidget/menu/WB_CaptureSettings.uasset and b/Content/luckyBot/Luckywidget/menu/WB_CaptureSettings.uasset differ
diff --git a/Content/luckyBot/Luckywidget/menu/WB_ListViewTaskPeopleObject.uasset b/Content/luckyBot/Luckywidget/menu/WB_ListViewTaskPeopleObject.uasset
index 094c3baa..c818d9e0 100644
Binary files a/Content/luckyBot/Luckywidget/menu/WB_ListViewTaskPeopleObject.uasset and b/Content/luckyBot/Luckywidget/menu/WB_ListViewTaskPeopleObject.uasset differ
diff --git a/Source/Luckyrobots/Private/LuckyRobotsFunctionLibrary.cpp b/Source/Luckyrobots/Private/LuckyRobotsFunctionLibrary.cpp
index 8bc3eabd..901f9a3f 100644
--- a/Source/Luckyrobots/Private/LuckyRobotsFunctionLibrary.cpp
+++ b/Source/Luckyrobots/Private/LuckyRobotsFunctionLibrary.cpp
@@ -80,7 +80,7 @@ void ULuckyRobotsFunctionLibrary::UpdateQualitySettings(const UObject* WorldCont
 	}
 }
 
-FCaptureSettingsData ULuckyRobotsFunctionLibrary::LoadCaptureSettings()
+FCaptureSettingsData ULuckyRobotsFunctionLibrary::LoadCaptureSettings(const UObject* WorldContextObject)
 {
 	FCaptureSettingsData DefaultCaptureSetting;
 	DefaultCaptureSetting.FolderName = FText::FromString("robotdata");
@@ -94,6 +94,11 @@ FCaptureSettingsData ULuckyRobotsFunctionLibrary::LoadCaptureSettings()
 	SaveGame = Cast<USG_CaptureSetting>(UGameplayStatics::LoadGameFromSlot("SGCaptureSettings", 0));
 	if (SaveGame)
 	{
+		ULuckyRobotsGameInstance* LuckyRobotsGameInstance = GetLuckyRobotsGameInstance(WorldContextObject);
+		if (LuckyRobotsGameInstance)
+		{
+			LuckyRobotsGameInstance->CurrentCaptureSettingsData = SaveGame->CaptureSetting;
+		}
 		return SaveGame->CaptureSetting;
 	}
 	else
@@ -109,8 +114,14 @@ FCaptureSettingsData ULuckyRobotsFunctionLibrary::LoadCaptureSettings()
 	return DefaultCaptureSetting;
 }
 
-void ULuckyRobotsFunctionLibrary::SaveCaptureSettings(FCaptureSettingsData CaptureSetting)
+void ULuckyRobotsFunctionLibrary::SaveCaptureSettings(const UObject* WorldContextObject, FCaptureSettingsData CaptureSetting)
 {
+	ULuckyRobotsGameInstance* LuckyRobotsGameInstance = GetLuckyRobotsGameInstance(WorldContextObject);
+	if (LuckyRobotsGameInstance)
+	{
+		LuckyRobotsGameInstance->CurrentCaptureSettingsData = CaptureSetting;
+	}
+
 	USG_CaptureSetting* SaveGame = nullptr;
 	SaveGame = Cast<USG_CaptureSetting>(UGameplayStatics::LoadGameFromSlot("SGCaptureSettings", 0));
 	if (!SaveGame)
diff --git a/Source/Luckyrobots/Private/LuckyRobotsGameInstance.cpp b/Source/Luckyrobots/Private/LuckyRobotsGameInstance.cpp
index 4dccde57..7eb55513 100644
--- a/Source/Luckyrobots/Private/LuckyRobotsGameInstance.cpp
+++ b/Source/Luckyrobots/Private/LuckyRobotsGameInstance.cpp
@@ -133,3 +133,134 @@ void ULuckyRobotsGameInstance::DoSetTempTaskValueChange(bool IsClear)
 		GameUserWidget->DoRefreshListView();
 	}
 }
+
+
+void ULuckyRobotsGameInstance::SetCurrentFolderName(FString FolderName)
+{
+	CurrentCaptureSettingsData.FolderName = FText::FromString(FolderName);
+}
+void ULuckyRobotsGameInstance::SetCurrentFileName(FString FileName)
+{
+	CurrentCaptureSettingsData.FileName = FText::FromString(FileName);
+}
+void ULuckyRobotsGameInstance::SetCurrentWritesPerSec(int WritesPerSec)
+{
+	CurrentCaptureSettingsData.WritesPerSec = FText::FromString(FString::FromInt(WritesPerSec));
+}
+void ULuckyRobotsGameInstance::SetCurrentIsScenario(bool IsScenario)
+{
+	CurrentCaptureSettingsData.IsScenario = IsScenario;
+}
+void ULuckyRobotsGameInstance::SetCurrentIsRandomLight(bool bLight)
+{
+	CurrentCaptureSettingsData.bLight = bLight;
+}
+void ULuckyRobotsGameInstance::SetCurrentIsRandomMaterials(bool bMaterials)
+{
+	CurrentCaptureSettingsData.bMaterials = bMaterials;
+}
+void ULuckyRobotsGameInstance::SetCurrentIsRandomRobotPosition(bool bRobotPosition)
+{
+	CurrentCaptureSettingsData.bRobotPosition = bRobotPosition;
+}
+void ULuckyRobotsGameInstance::SetCurrentIsRandomPets(bool bPets)
+{
+	CurrentCaptureSettingsData.bPets = bPets;
+}
+void ULuckyRobotsGameInstance::SetCurrentPetsNumber(int PetsNumber)
+{
+	CurrentCaptureSettingsData.NumberOfPets = FText::FromString(FString::FromInt(PetsNumber));
+}
+void ULuckyRobotsGameInstance::SetCurrentIsRandomPeople(bool bPeople)
+{
+	CurrentCaptureSettingsData.bPeople = bPeople;
+}
+void ULuckyRobotsGameInstance::SetCurrentPeopleNumber(int PeopleNumber)
+{
+	CurrentCaptureSettingsData.NumberOfPeople = FText::FromString(FString::FromInt(PeopleNumber));
+}
+void ULuckyRobotsGameInstance::SetCurrentIsRandomObjects(bool bObjects)
+{
+	CurrentCaptureSettingsData.bObjects = bObjects;
+}
+void ULuckyRobotsGameInstance::SetCurrentObjectsNumber(int ObjectsNumber)
+{
+	CurrentCaptureSettingsData.NumberOfObjects = FText::FromString(FString::FromInt(ObjectsNumber));
+}
+void ULuckyRobotsGameInstance::SetCurrentRandomMeshes(TArray<TSoftObjectPtr<UStaticMeshComponent>> RandomMeshes)
+{
+	CurrentCaptureSettingsData.RandomMeshes = RandomMeshes;
+}
+void ULuckyRobotsGameInstance::SetCurrentIsInfiniteCapture(bool bInfiniteCapture)
+{
+	CurrentCaptureSettingsData.bInfiniteCapture = bInfiniteCapture;
+}
+void ULuckyRobotsGameInstance::SetCurrentCaptureNumber(int CaptureNumber)
+{
+	CurrentCaptureSettingsData.NumberOfCaptures = FText::FromString(FString::FromInt(CaptureNumber));
+}
+
+FString ULuckyRobotsGameInstance::GetCurrentFolderName()
+{
+	return CurrentCaptureSettingsData.FolderName.ToString();
+}
+FString ULuckyRobotsGameInstance::GetCurrentFileName()
+{
+	return CurrentCaptureSettingsData.FileName.ToString();
+}
+int ULuckyRobotsGameInstance::GetCurrentWritesPerSec()
+{
+	return FCString::Atoi(*(CurrentCaptureSettingsData.WritesPerSec.ToString()));
+}
+bool ULuckyRobotsGameInstance::GetCurrentIsScenario()
+{
+	return CurrentCaptureSettingsData.IsScenario;
+}
+bool ULuckyRobotsGameInstance::GetCurrentIsRandomLight()
+{
+	return CurrentCaptureSettingsData.bLight;
+}
+bool ULuckyRobotsGameInstance::GetCurrentIsRandomMaterials()
+{
+	return CurrentCaptureSettingsData.bMaterials;
+}
+bool ULuckyRobotsGameInstance::GetCurrentIsRandomRobotPosition()
+{
+	return CurrentCaptureSettingsData.bRobotPosition;
+}
+bool ULuckyRobotsGameInstance::GetCurrentIsRandomPets()
+{
+	return CurrentCaptureSettingsData.bPets;
+}
+int ULuckyRobotsGameInstance::GetCurrentPetsNumber()
+{
+	return FCString::Atoi(*(CurrentCaptureSettingsData.NumberOfPets.ToString()));
+}
+bool ULuckyRobotsGameInstance::GetCurrentIsRandomPeople()
+{
+	return CurrentCaptureSettingsData.bPeople;
+}
+int ULuckyRobotsGameInstance::GetCurrentPeopleNumber()
+{
+	return FCString::Atoi(*(CurrentCaptureSettingsData.NumberOfPeople.ToString()));
+}
+bool ULuckyRobotsGameInstance::GetCurrentIsRandomObjects()
+{
+	return CurrentCaptureSettingsData.bObjects;
+}
+int ULuckyRobotsGameInstance::GetCurrentObjectsNumber()
+{
+	return FCString::Atoi(*(CurrentCaptureSettingsData.NumberOfObjects.ToString()));
+}
+TArray<TSoftObjectPtr<UStaticMeshComponent>> ULuckyRobotsGameInstance::GetCurrentRandomMeshes()
+{
+	return CurrentCaptureSettingsData.RandomMeshes;
+}
+bool ULuckyRobotsGameInstance::GetCurrentIsInfiniteCapture()
+{
+	return CurrentCaptureSettingsData.bInfiniteCapture;
+}
+int ULuckyRobotsGameInstance::GetCurrentCaptureNumber()
+{
+	return FCString::Atoi(*(CurrentCaptureSettingsData.NumberOfCaptures.ToString()));
+}
\ No newline at end of file
diff --git a/Source/Luckyrobots/Public/LuckyRobotsFunctionLibrary.h b/Source/Luckyrobots/Public/LuckyRobotsFunctionLibrary.h
index 96e487f1..8ba16b72 100644
--- a/Source/Luckyrobots/Public/LuckyRobotsFunctionLibrary.h
+++ b/Source/Luckyrobots/Public/LuckyRobotsFunctionLibrary.h
@@ -29,9 +29,9 @@ public:
 	UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"))
 	static void UpdateQualitySettings(const UObject* WorldContextObject);
 
-	UFUNCTION(BlueprintCallable)
-	static FCaptureSettingsData LoadCaptureSettings();
+	UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"))
+	static FCaptureSettingsData LoadCaptureSettings(const UObject* WorldContextObject);
 
-	UFUNCTION(BlueprintCallable)
-	static void SaveCaptureSettings(FCaptureSettingsData CaptureSetting);
+	UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"))
+	static void SaveCaptureSettings(const UObject* WorldContextObject, FCaptureSettingsData CaptureSetting);
 };
diff --git a/Source/Luckyrobots/Public/LuckyRobotsGameInstance.h b/Source/Luckyrobots/Public/LuckyRobotsGameInstance.h
index 3b74d424..7a719f37 100644
--- a/Source/Luckyrobots/Public/LuckyRobotsGameInstance.h
+++ b/Source/Luckyrobots/Public/LuckyRobotsGameInstance.h
@@ -24,41 +24,41 @@ public:
 	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config")
 	UDataTable* LevelDataTable;
 
-//public:
-//	bool bIsFirstOpenGame;
-//
-//	bool bIsDebug;
-//	bool bIsWidgetTestMode;
-//	bool bIsShowPath;
-//
-//public:
-//	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
-//	bool bIsCapture;
-//
-//	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
-//	bool bIsCaptureHand;
-//
-//	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
-//	bool bIsCaptureHead;
-//
-//	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
-//	bool bScenarioCapture;
-//
-//	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
-//	bool bIsMouseOpen;
-//
-//	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
-//	bool bIschange;
-//
-//	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
-//	int PerSecond;
-//
-//	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
-//	FTransform TargetPosition;
-//
-//	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
-//	FCaptureSettingsData CaptureSettingsData;
-//
+public:
+	bool bIsFirstOpenGame;
+
+	bool bIsDebug;
+	bool bIsWidgetTestMode;
+	bool bIsShowPath;
+
+public:
+	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
+	bool bIsCapture;
+
+	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
+	bool bIsCaptureHand;
+
+	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
+	bool bIsCaptureHead;
+
+	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
+	bool bScenarioCapture;
+
+	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
+	bool bIsMouseOpen;
+
+	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
+	bool bIschange;
+
+	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
+	int FolderCount;
+
+	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
+	FTransform TargetPosition;
+
+	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
+	FCaptureSettingsData CurrentCaptureSettingsData;
+
 public:
 	UPROPERTY(EditAnywhere, BlueprintReadWrite)
 	ERobotsName CurrentSelectRobot = ERobotsName::None;
@@ -122,6 +122,104 @@ public:
 	UFUNCTION(BlueprintCallable)
 	void DoSetTempTaskValueChange(bool IsClear);
 
+public:
+	UFUNCTION(BlueprintCallable)
+	void SetCurrentFolderName(FString FolderName);
+
+	UFUNCTION(BlueprintCallable)
+	void SetCurrentFileName(FString FileName);
+
+	UFUNCTION(BlueprintCallable)
+	void SetCurrentWritesPerSec(int WritesPerSec);
+
+	UFUNCTION(BlueprintCallable)
+	void SetCurrentIsScenario(bool IsScenario);
+
+	UFUNCTION(BlueprintCallable)
+	void SetCurrentIsRandomLight(bool bLight);
+
+	UFUNCTION(BlueprintCallable)
+	void SetCurrentIsRandomMaterials(bool bMaterials);
+
+	UFUNCTION(BlueprintCallable)
+	void SetCurrentIsRandomRobotPosition(bool bRobotPosition);
+
+	UFUNCTION(BlueprintCallable)
+	void SetCurrentIsRandomPets(bool bPets);
+
+	UFUNCTION(BlueprintCallable)
+	void SetCurrentPetsNumber(int PetsNumber);
+
+	UFUNCTION(BlueprintCallable)
+	void SetCurrentIsRandomPeople(bool bPeople);
+
+	UFUNCTION(BlueprintCallable)
+	void SetCurrentPeopleNumber(int PeopleNumber);
+
+	UFUNCTION(BlueprintCallable)
+	void SetCurrentIsRandomObjects(bool bObjects);
+
+	UFUNCTION(BlueprintCallable)
+	void SetCurrentObjectsNumber(int ObjectsNumber);
+
+	UFUNCTION(BlueprintCallable)
+	void SetCurrentRandomMeshes(TArray<TSoftObjectPtr<UStaticMeshComponent>> RandomMeshes);
+
+	UFUNCTION(BlueprintCallable)
+	void SetCurrentIsInfiniteCapture(bool bInfiniteCapture);
+
+	UFUNCTION(BlueprintCallable)
+	void SetCurrentCaptureNumber(int CaptureNumber);
+
+public:
+	UFUNCTION(BlueprintPure)
+	FString GetCurrentFolderName();
+
+	UFUNCTION(BlueprintPure)
+	FString GetCurrentFileName();
+
+	UFUNCTION(BlueprintPure)
+	int GetCurrentWritesPerSec();
+
+	UFUNCTION(BlueprintPure)
+	bool GetCurrentIsScenario();
+
+	UFUNCTION(BlueprintPure)
+	bool GetCurrentIsRandomLight();
+
+	UFUNCTION(BlueprintPure)
+	bool GetCurrentIsRandomMaterials();
+
+	UFUNCTION(BlueprintPure)
+	bool GetCurrentIsRandomRobotPosition();
+
+	UFUNCTION(BlueprintPure)
+	bool GetCurrentIsRandomPets();
+
+	UFUNCTION(BlueprintPure)
+	int GetCurrentPetsNumber();
+
+	UFUNCTION(BlueprintPure)
+	bool GetCurrentIsRandomPeople();
+
+	UFUNCTION(BlueprintPure)
+	int GetCurrentPeopleNumber();
+
+	UFUNCTION(BlueprintPure)
+	bool GetCurrentIsRandomObjects();
+
+	UFUNCTION(BlueprintPure)
+	int GetCurrentObjectsNumber();
+
+	UFUNCTION(BlueprintPure)
+	TArray<TSoftObjectPtr<UStaticMeshComponent>> GetCurrentRandomMeshes();
+
+	UFUNCTION(BlueprintPure)
+	bool GetCurrentIsInfiniteCapture();
+
+	UFUNCTION(BlueprintPure)
+	int GetCurrentCaptureNumber();
+
 public:
 	UFUNCTION(BlueprintImplementableEvent)
 	void DoGetDispatch(const FString& EventName, USIOJsonValue* EventData);