diff --git a/.gitignore b/.gitignore
index 9d7c64248835b95e4db5606f6b33d6e1929df887..19e6a1977fdf8952ffa7ffe7f517399c8f975a4f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -93,9 +93,12 @@ Plugins/*/Intermediate/*
 # Cache files for the editor to use
 DerivedDataCache/*
 
-# Private Plugins
+# Private Plugins handled by rclone
 Plugins/DragonIK
 
+# Public Plugins handled by rclone
+Plugins/MetaXR
+
 # Content is managed by git-hooks, rclone, s3
 Content/
 
diff --git a/Config/DefaultEngine.ini b/Config/DefaultEngine.ini
index 09992780f2140ea1be0d2129460643308dd041de..3becfac5cf41c2de2d89cad47f5d1359c8752e44 100644
--- a/Config/DefaultEngine.ini
+++ b/Config/DefaultEngine.ini
@@ -184,7 +184,7 @@ r.GPUCrashDebugging=False
 vr.InstancedStereo=False
 r.MobileHDR=False
 vr.MobileMultiView=True
-r.Mobile.UseHWsRGBEncoding=False
+r.Mobile.UseHWsRGBEncoding=True
 vr.RoundRobinOcclusion=False
 vr.ODSCapture=False
 r.MeshStreaming=True
@@ -601,7 +601,7 @@ OneEuroDeltaCutoff=10.000000
 +ControllerProfiles=(ControllerName="Windows_MR",SocketOffsetTransform=(Rotation=(X=0.000000,Y=-0.000000,Z=0.000000,W=1.000000),Translation=(X=0.000000,Y=0.000000,Z=0.000000),Scale3D=(X=1.000000,Y=1.000000,Z=1.000000)),bUseSeperateHandOffsetTransforms=True,SocketOffsetTransformRightHand=(Rotation=(X=0.000000,Y=-0.000000,Z=0.000000,W=1.000000),Translation=(X=0.000000,Y=0.000000,Z=0.000000),Scale3D=(X=1.000000,Y=1.000000,Z=1.000000)))
 +ControllerProfiles=(ControllerName="FPS_Pawn",SocketOffsetTransform=(Rotation=(X=0.000000,Y=-0.573576,Z=0.000000,W=0.819152),Translation=(X=0.000000,Y=0.000000,Z=0.000000),Scale3D=(X=1.000000,Y=1.000000,Z=1.000000)),bUseSeperateHandOffsetTransforms=False,SocketOffsetTransformRightHand=(Rotation=(X=0.000000,Y=0.000000,Z=0.000000,W=1.000000),Translation=(X=0.000000,Y=0.000000,Z=0.000000),Scale3D=(X=1.000000,Y=1.000000,Z=1.000000)))
 +ControllerProfiles=(ControllerName="KnucklesEV2",SocketOffsetTransform=(Rotation=(X=-0.000000,Y=-0.000000,Z=0.000000,W=1.000000),Translation=(X=0.000000,Y=0.000000,Z=0.000000),Scale3D=(X=1.000000,Y=1.000000,Z=1.000000)),bUseSeperateHandOffsetTransforms=True,SocketOffsetTransformRightHand=(Rotation=(X=0.000000,Y=-0.000000,Z=0.000000,W=1.000000),Translation=(X=0.000000,Y=0.000000,Z=0.000000),Scale3D=(X=1.000000,Y=1.000000,Z=1.000000)))
-+ControllerProfiles=(ControllerName="OculusHands",SocketOffsetTransform=(Rotation=(X=-0.498668,Y=-0.349171,Z=0.455049,W=0.649877),Translation=(X=300.000000,Y=0.000000,Z=-5.000000),Scale3D=(X=1.000000,Y=1.000000,Z=1.000000)),bUseSeperateHandOffsetTransforms=True,SocketOffsetTransformRightHand=(Rotation=(X=0.498668,Y=-0.349171,Z=-0.455049,W=0.649877),Translation=(X=3.000000,Y=0.000000,Z=-5.000000),Scale3D=(X=1.000000,Y=1.000000,Z=1.000000)))
++ControllerProfiles=(ControllerName="OculusHands",SocketOffsetTransform=(Rotation=(X=-0.498668,Y=-0.349171,Z=0.455049,W=0.649877),Translation=(X=3.000000,Y=0.000000,Z=-5.000000),Scale3D=(X=1.000000,Y=1.000000,Z=1.000000)),bUseSeperateHandOffsetTransforms=True,SocketOffsetTransformRightHand=(Rotation=(X=0.498668,Y=-0.349171,Z=-0.455049,W=0.649877),Translation=(X=3.000000,Y=0.000000,Z=-5.000000),Scale3D=(X=1.000000,Y=1.000000,Z=1.000000)))
 
 [/Script/Engine.PhysicsSettings]
 DefaultGravityZ=-980.000000
diff --git a/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/GripMotionControllerComponent.cpp b/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/GripMotionControllerComponent.cpp
index 918fa984c72f9d57c81e4c3042567d982caf77e8..a67439489371e72062a77a1fcf35c396e4dbda57 100644
--- a/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/GripMotionControllerComponent.cpp
+++ b/Plugins/VRExpansionPlugin/VRExpansionPlugin/Source/VRExpansionPlugin/Private/GripMotionControllerComponent.cpp
@@ -4646,7 +4646,7 @@ void UGripMotionControllerComponent::UpdateTracking(float DeltaTime)
 			
 			float WorldToMeters = GetWorld() ? GetWorld()->GetWorldSettings()->WorldToMeters : 100.0f;
 			ETrackingStatus LastTrackingStatus = CurrentTrackingStatus;
-			const bool bNewTrackedState = PollControllerState_GameThread(Position, Orientation, bProvidedLinearVelocity, LinearVelocity, bProvidedAngularVelocity, AngularVelocityAsAxisAndLength, bProvidedLinearAcceleration, LinearAcceleration, WorldToMeters);
+			const bool bNewTrackedState = GripPollControllerState_GameThread(Position, Orientation, bProvidedLinearVelocity, LinearVelocity, bProvidedAngularVelocity, AngularVelocityAsAxisAndLength, bProvidedLinearAcceleration, LinearAcceleration, WorldToMeters);
 
 			// if controller tracking just kicked in or we haven't started rendering in the (possibly present) 
 			// visualization component.
@@ -7411,7 +7411,7 @@ void UGripMotionControllerComponent::FGripViewExtension::PreRenderViewFamily_Ren
 		FVector Position = MotionControllerComponent->LateUpdateParams.GripRenderThreadRelativeTransform.GetTranslation();
 		FRotator Orientation = MotionControllerComponent->LateUpdateParams.GripRenderThreadRelativeTransform.GetRotation().Rotator();
 
-		if (!MotionControllerComponent->PollControllerState_RenderThread(Position, Orientation, WorldToMetersScale))
+		if (!MotionControllerComponent->GripPollControllerState_RenderThread(Position, Orientation, WorldToMetersScale))
 		{
 			return;
 		}
diff --git a/rclone-filter.txt b/rclone-filter.txt
index 93d39ce15b9005d5b9c07330b198ab603b2d629d..af0502f941b069de032d6d80cb85a77318d9b3eb 100644
--- a/rclone-filter.txt
+++ b/rclone-filter.txt
@@ -8,6 +8,7 @@
 
 # Submodule Plugins
 + Plugins/DragonIK/**
++ Plugins/MetaXR/**
 
 # Files to be synced with RClone instead of Git
 + Content/**