diff --git a/Content/SaveSequenceRig.uasset b/Content/SaveSequenceRig.uasset
index 566ad715273ebb84a46ae52dd32698d4e28b52bc..6bc7ca435410a74298ed82b2d09824642df9f79f 100644
--- a/Content/SaveSequenceRig.uasset
+++ b/Content/SaveSequenceRig.uasset
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:1024a63471871a8b6cea1ffab82d7b0307ddd41bafeb6dc78d33546297616fc2
-size 3954514
+oid sha256:29a5de877c6fd233d0416e428dd532fed364376333c5fd7d47eba29a07779288
+size 4080636
diff --git a/Source/MoCapPlugin/Private/MCRigUnits.cpp b/Source/MoCapPlugin/Private/MCRigUnits.cpp
index a7dbd3956155374b8f206e5370eb6ac1a80abacd..72cfa982bd6a50cb055c286d59920daad4a8fc7b 100644
--- a/Source/MoCapPlugin/Private/MCRigUnits.cpp
+++ b/Source/MoCapPlugin/Private/MCRigUnits.cpp
@@ -39,54 +39,76 @@ void AddRotation(const FName& BoneName, float Angle, FRigBoneHierarchy* Hierarch
 FRigUnit_ApplyFingerData_Execute() {
 	DECLARE_SCOPE_HIERARCHICAL_COUNTER_RIGUNIT()
 
+	FVector Scale(AngleScale, 0.7f * AngleScale, 0.4f * AngleScale);
+	FVector ThumbScale(AngleScale, AngleScale, AngleScale);
+	if (AngleScale >= 1.f) {
+		Scale = FVector(1.f, 1.f, 1.f);
+		ThumbScale = FVector(1.f, 1.f, 1.f);
+	}
+	FVector ThumbAngles_N = ThumbScale * ThumbAngles;
+	FVector IndexAngles_N = Scale * IndexAngles;
+	FVector MiddleAngles_N = Scale * MiddleAngles;
+	FVector RingAngles_N = Scale * RingAngles;
+	FVector PinkyAngles_N = Scale * PinkyAngles;
+	
+	float Thumb_Index_Angle_N = Thumb_Index_Angle;
+	float Index_Middle_Angle_N = Index_Middle_Angle;
+	float Middle_Ring_Angle_N = Middle_Ring_Angle;
+	float Ring_Pinky_Angle_N = Ring_Pinky_Angle;
+
 	FRigBoneHierarchy* Hierarchy = ExecuteContext.GetBones();
 	
 	if (Hierarchy) {
 
 		//CURLS
 
-		AddRotation("thumb_01_l", FingerData.LeftHand.Thumb * -15.f, Hierarchy);
-		AddRotation("thumb_01_l", FingerData.LeftHand.Thumb * ThumbAngles.X, Hierarchy, "Z");
-		AddRotation("thumb_02_l", FingerData.LeftHand.Thumb * ThumbAngles.Y, Hierarchy);
-		AddRotation("thumb_03_l", FingerData.LeftHand.Thumb * ThumbAngles.Z, Hierarchy);
+		float Thumb01YAngle = ThumbAngles_N.X;
+		if (AngleScale >= 1.f) {
+			Thumb01YAngle = -15.f;
+		}
+
+		AddRotation("thumb_01_l", FingerData.LeftHand.Thumb * Thumb01YAngle, Hierarchy);
+		AddRotation("thumb_01_l", FingerData.LeftHand.Thumb * ThumbAngles_N.X, Hierarchy, "Z");
+		AddRotation("thumb_02_l", FingerData.LeftHand.Thumb * ThumbAngles_N.Y, Hierarchy);
+		AddRotation("thumb_03_l", FingerData.LeftHand.Thumb * ThumbAngles_N.Z, Hierarchy);
 
-		AddRotation("index_01_l", FingerData.LeftHand.Index * IndexAngles.X, Hierarchy);
-		AddRotation("index_02_l", FingerData.LeftHand.Index * IndexAngles.Y, Hierarchy);
-		AddRotation("index_03_l", FingerData.LeftHand.Index * IndexAngles.Z, Hierarchy);
+		AddRotation("index_01_l", FingerData.LeftHand.Index * IndexAngles_N.X, Hierarchy);
+		AddRotation("index_02_l", FingerData.LeftHand.Index * IndexAngles_N.Y, Hierarchy);
+		AddRotation("index_03_l", FingerData.LeftHand.Index * IndexAngles_N.Z, Hierarchy);
 
-		AddRotation("middle_01_l", FingerData.LeftHand.Middle * MiddleAngles.X, Hierarchy);
-		AddRotation("middle_02_l", FingerData.LeftHand.Middle * MiddleAngles.Y, Hierarchy);
-		AddRotation("middle_03_l", FingerData.LeftHand.Middle * MiddleAngles.Z, Hierarchy);
+		AddRotation("middle_01_l", FingerData.LeftHand.Middle * MiddleAngles_N.X, Hierarchy);
+		AddRotation("middle_02_l", FingerData.LeftHand.Middle * MiddleAngles_N.Y, Hierarchy);
+		AddRotation("middle_03_l", FingerData.LeftHand.Middle * MiddleAngles_N.Z, Hierarchy);
 
-		AddRotation("ring_01_l", FingerData.LeftHand.Ring * RingAngles.X, Hierarchy);
-		AddRotation("ring_02_l", FingerData.LeftHand.Ring * RingAngles.Y, Hierarchy);
-		AddRotation("ring_03_l", FingerData.LeftHand.Ring * RingAngles.Z, Hierarchy);
+		AddRotation("ring_01_l", FingerData.LeftHand.Ring * RingAngles_N.X, Hierarchy);
+		AddRotation("ring_02_l", FingerData.LeftHand.Ring * RingAngles_N.Y, Hierarchy);
+		AddRotation("ring_03_l", FingerData.LeftHand.Ring * RingAngles_N.Z, Hierarchy);
 
-		AddRotation("pinky_01_l", FingerData.LeftHand.Pinky * PinkyAngles.X, Hierarchy);
-		AddRotation("pinky_02_l", FingerData.LeftHand.Pinky * PinkyAngles.Y, Hierarchy);
-		AddRotation("pinky_03_l", FingerData.LeftHand.Pinky * PinkyAngles.Z, Hierarchy);
+		AddRotation("pinky_01_l", FingerData.LeftHand.Pinky * PinkyAngles_N.X, Hierarchy);
+		AddRotation("pinky_02_l", FingerData.LeftHand.Pinky * PinkyAngles_N.Y, Hierarchy);
+		AddRotation("pinky_03_l", FingerData.LeftHand.Pinky * PinkyAngles_N.Z, Hierarchy);
 
 
-		AddRotation("thumb_01_r", FingerData.RightHand.Thumb * -15.f, Hierarchy);
-		AddRotation("thumb_01_r", FingerData.RightHand.Thumb * ThumbAngles.X, Hierarchy, "Z");
-		AddRotation("thumb_02_r", FingerData.RightHand.Thumb * ThumbAngles.Y, Hierarchy);
-		AddRotation("thumb_03_r", FingerData.RightHand.Thumb * ThumbAngles.Z, Hierarchy);
+		AddRotation("thumb_01_r", FingerData.RightHand.Thumb * Thumb01YAngle, Hierarchy);
+		AddRotation("thumb_01_r", FingerData.RightHand.Thumb * ThumbAngles_N.X, Hierarchy, "Z");
+		AddRotation("thumb_02_r", FingerData.RightHand.Thumb * ThumbAngles_N.Y, Hierarchy);
+		AddRotation("thumb_03_r", FingerData.RightHand.Thumb * ThumbAngles_N.Z, Hierarchy);
 
-		AddRotation("index_01_r", FingerData.RightHand.Index * IndexAngles.X, Hierarchy);
-		AddRotation("index_02_r", FingerData.RightHand.Index * IndexAngles.Y, Hierarchy);
-		AddRotation("index_03_r", FingerData.RightHand.Index * IndexAngles.Z, Hierarchy);
+		AddRotation("index_01_r", FingerData.RightHand.Index * IndexAngles_N.X, Hierarchy);
+		AddRotation("index_02_r", FingerData.RightHand.Index * IndexAngles_N.Y, Hierarchy);
+		AddRotation("index_03_r", FingerData.RightHand.Index * IndexAngles_N.Z, Hierarchy);
 
-		AddRotation("middle_01_r", FingerData.RightHand.Middle * MiddleAngles.X, Hierarchy);
-		AddRotation("middle_02_r", FingerData.RightHand.Middle * MiddleAngles.Y, Hierarchy);
-		AddRotation("middle_03_r", FingerData.RightHand.Middle * MiddleAngles.Z, Hierarchy);
+		AddRotation("middle_01_r", FingerData.RightHand.Middle * MiddleAngles_N.X, Hierarchy);
+		AddRotation("middle_02_r", FingerData.RightHand.Middle * MiddleAngles_N.Y, Hierarchy);
+		AddRotation("middle_03_r", FingerData.RightHand.Middle * MiddleAngles_N.Z, Hierarchy);
 
-		AddRotation("ring_01_r", FingerData.RightHand.Ring * RingAngles.X, Hierarchy);
-		AddRotation("ring_02_r", FingerData.RightHand.Ring * RingAngles.Y, Hierarchy);
-		AddRotation("ring_03_r", FingerData.RightHand.Ring * RingAngles.Z, Hierarchy);
+		AddRotation("ring_01_r", FingerData.RightHand.Ring * RingAngles_N.X, Hierarchy);
+		AddRotation("ring_02_r", FingerData.RightHand.Ring * RingAngles_N.Y, Hierarchy);
+		AddRotation("ring_03_r", FingerData.RightHand.Ring * RingAngles_N.Z, Hierarchy);
 
-		AddRotation("pinky_01_r", FingerData.RightHand.Pinky * PinkyAngles.X, Hierarchy);
-		AddRotation("pinky_02_r", FingerData.RightHand.Pinky * PinkyAngles.Y, Hierarchy);
-		AddRotation("pinky_03_r", FingerData.RightHand.Pinky * PinkyAngles.Z, Hierarchy);
+		AddRotation("pinky_01_r", FingerData.RightHand.Pinky * PinkyAngles_N.X, Hierarchy);
+		AddRotation("pinky_02_r", FingerData.RightHand.Pinky * PinkyAngles_N.Y, Hierarchy);
+		AddRotation("pinky_03_r", FingerData.RightHand.Pinky * PinkyAngles_N.Z, Hierarchy);
 
 
 		//SPLAYS
@@ -98,11 +120,11 @@ FRigUnit_ApplyFingerData_Execute() {
 		Thumb = -15.0f;
 		Ring = 3.0f;
 		Pinky = 7.0f;
-		Index = (Index + 0.7f * Index_Middle_Angle * FingerData.LeftHand.Index_Middle) * (1.f - FingerData.LeftHand.Index);
-		Middle = (Middle + -0.3f * Index_Middle_Angle * FingerData.LeftHand.Index_Middle) * (1.f - FingerData.LeftHand.Middle);
-		Thumb = (Thumb + Index + Thumb_Index_Angle * FingerData.LeftHand.Thumb_Index) * ((1.f - FingerData.LeftHand.Thumb) * (1.f - FingerData.LeftHand.Index));
-		Ring = (Ring + Middle - Middle_Ring_Angle * FingerData.LeftHand.Middle_Ring) * (1.f - FingerData.LeftHand.Ring);
-		Pinky = (Pinky + Ring - Ring_Pinky_Angle * FingerData.LeftHand.Ring_Pinky) * (1.f - FingerData.LeftHand.Pinky);
+		Index = (Index + 0.7f * Index_Middle_Angle_N * FingerData.LeftHand.Index_Middle) * (1.f - FingerData.LeftHand.Index);
+		Middle = (Middle + -0.3f * Index_Middle_Angle_N * FingerData.LeftHand.Index_Middle) * (1.f - FingerData.LeftHand.Middle);
+		Thumb = (Thumb + Index + Thumb_Index_Angle_N * FingerData.LeftHand.Thumb_Index) * ((1.f - FingerData.LeftHand.Thumb) * (1.f - FingerData.LeftHand.Index));
+		Ring = (Ring + Middle - Middle_Ring_Angle_N * FingerData.LeftHand.Middle_Ring) * (1.f - FingerData.LeftHand.Ring);
+		Pinky = (Pinky + Ring - Ring_Pinky_Angle_N * FingerData.LeftHand.Ring_Pinky) * (1.f - FingerData.LeftHand.Pinky);
 
 		AddRotation("thumb_01_l", Thumb, Hierarchy, "Z");
 		AddRotation("index_01_l", Index, Hierarchy, "Z");
@@ -116,11 +138,11 @@ FRigUnit_ApplyFingerData_Execute() {
 		Thumb = -15.0f;
 		Ring = 3.0f;
 		Pinky = 7.0f;
-		Index = (Index + 0.7f * Index_Middle_Angle * FingerData.RightHand.Index_Middle) * (1.f - FingerData.RightHand.Index);
-		Middle = (Middle + -0.3f * Index_Middle_Angle * FingerData.RightHand.Index_Middle) * (1.f - FingerData.RightHand.Middle);
-		Thumb = (Thumb + Index + Thumb_Index_Angle * FingerData.RightHand.Thumb_Index) * ((1.f - FingerData.RightHand.Thumb) * (1.f - FingerData.RightHand.Index));
-		Ring = (Ring + Middle - Middle_Ring_Angle * FingerData.RightHand.Middle_Ring) * (1.f - FingerData.RightHand.Ring);
-		Pinky = (Pinky + Ring - Ring_Pinky_Angle * FingerData.RightHand.Ring_Pinky) * (1.f - FingerData.RightHand.Pinky);
+		Index = (Index + 0.7f * Index_Middle_Angle_N * FingerData.RightHand.Index_Middle) * (1.f - FingerData.RightHand.Index);
+		Middle = (Middle + -0.3f * Index_Middle_Angle_N * FingerData.RightHand.Index_Middle) * (1.f - FingerData.RightHand.Middle);
+		Thumb = (Thumb + Index + Thumb_Index_Angle_N * FingerData.RightHand.Thumb_Index) * ((1.f - FingerData.RightHand.Thumb) * (1.f - FingerData.RightHand.Index));
+		Ring = (Ring + Middle - Middle_Ring_Angle_N * FingerData.RightHand.Middle_Ring) * (1.f - FingerData.RightHand.Ring);
+		Pinky = (Pinky + Ring - Ring_Pinky_Angle_N * FingerData.RightHand.Ring_Pinky) * (1.f - FingerData.RightHand.Pinky);
 
 		AddRotation("thumb_01_r", Thumb, Hierarchy, "Z");
 		AddRotation("index_01_r", Index, Hierarchy, "Z");
diff --git a/Source/MoCapPlugin/Public/MCRigUnits.h b/Source/MoCapPlugin/Public/MCRigUnits.h
index 2cf0288b7797a8a489a66f8c817fcb1013981930..e1edeacd160b6700a46681a26e73647ff47afcde 100644
--- a/Source/MoCapPlugin/Public/MCRigUnits.h
+++ b/Source/MoCapPlugin/Public/MCRigUnits.h
@@ -38,6 +38,9 @@ struct FRigUnit_ApplyFingerData : public FRigUnitMutable
 	RIGVM_METHOD()
 	virtual void Execute(const FRigUnitContext& Context) override;
 
+	UPROPERTY(meta = (Input))
+	float AngleScale;
+
 	UPROPERTY(meta = (Input))
 	FFingerData FingerData;