diff --git a/Source/RWTHVRCluster/Private/CAVEOverlay/CAVEOverlay.cpp b/Source/RWTHVRCluster/Private/CAVEOverlay/CAVEOverlay.cpp
index 75db39b14032cff1b160f5a4fd093f0973ad3ba3..926603b6195545100b4546194faba074f5b64a49 100644
--- a/Source/RWTHVRCluster/Private/CAVEOverlay/CAVEOverlay.cpp
+++ b/Source/RWTHVRCluster/Private/CAVEOverlay/CAVEOverlay.cpp
@@ -25,12 +25,11 @@ void FCAVEOverlay::OnSessionStart(UWorld* World, const UWorld::InitializationVal
 	TArray<AActor*> Actors;
 	UGameplayStatics::GetAllActorsOfClass(World, ACAVEOverlayController::StaticClass(), Actors);
 
-	if((Settings->DefaultActivationType == DefaultActivationType_ON
+	if ((Settings->DefaultActivationType == DefaultActivationType_ON
 		!= Settings->excludedMaps.ContainsByPredicate(
-			[World](const FSoftObjectPath& Map)	{return Map.GetAssetName() == World->GetName();}
+			[World](const FSoftObjectPath& Map) { return Map.GetAssetName() == World->GetName(); }
 		)) && Actors.Num() == 0)
 	{
 		World->SpawnActor(ACAVEOverlayController::StaticClass());
 	}
 }
-
diff --git a/Source/RWTHVRCluster/Private/CAVEOverlay/CAVEOverlayController.cpp b/Source/RWTHVRCluster/Private/CAVEOverlay/CAVEOverlayController.cpp
index f1ec00086f2ce671065a48eecf57d8b551c12243..08415c9b858511be22e39dff85aceff2d7b0f6f3 100644
--- a/Source/RWTHVRCluster/Private/CAVEOverlay/CAVEOverlayController.cpp
+++ b/Source/RWTHVRCluster/Private/CAVEOverlay/CAVEOverlayController.cpp
@@ -1,14 +1,12 @@
 #include "CAVEOverlay/CAVEOverlayController.h"
 #include "CoreMinimal.h"
-#include "CAVEOverlay/DoorOverlayData.h"
 #include "IDisplayCluster.h"
-#include "IXRTrackingSystem.h"
+#include "CAVEOverlay/DoorOverlayData.h"
 #include "Cluster/IDisplayClusterClusterManager.h"
-#include "Game/IDisplayClusterGameManager.h"
-#include "UObject/ConstructorHelpers.h"
 #include "Components/StaticMeshComponent.h"
-#include "Materials/MaterialInstanceDynamic.h"
 #include "Engine/CollisionProfile.h"
+#include "Materials/MaterialInstanceDynamic.h"
+#include "UObject/ConstructorHelpers.h"
 #include "Utility/VirtualRealityUtilities.h"
 
 DEFINE_LOG_CATEGORY(LogCAVEOverlay);
@@ -22,7 +20,8 @@ bool ContainsFString(const TArray<FString>& Array, const FString& Entry)
 	return false;
 }
 
-UStaticMeshComponent* ACAVEOverlayController::CreateMeshComponent(const FName& Name, UStaticMesh* Mesh, USceneComponent* Parent)
+UStaticMeshComponent* ACAVEOverlayController::CreateMeshComponent(const FName& Name, UStaticMesh* Mesh,
+                                                                  USceneComponent* Parent)
 {
 	UStaticMeshComponent* Result = CreateDefaultSubobject<UStaticMeshComponent>(Name);
 	Result->SetStaticMesh(Mesh);
@@ -40,7 +39,8 @@ ACAVEOverlayController::ACAVEOverlayController()
 	bAllowTickBeforeBeginPlay = false;
 	AutoReceiveInput = EAutoReceiveInput::Player0;
 
-	ConstructorHelpers::FClassFinder<UDoorOverlayData> WidgetClassFinder(TEXT("Blueprint'/RWTHVRToolkit/CAVEOverlay/DoorOverlay'"));
+	ConstructorHelpers::FClassFinder<UDoorOverlayData> WidgetClassFinder(
+		TEXT("Blueprint'/RWTHVRToolkit/CAVEOverlay/DoorOverlay'"));
 	if (WidgetClassFinder.Succeeded())
 	{
 		OverlayClass = WidgetClassFinder.Class;
@@ -133,7 +133,8 @@ void ACAVEOverlayController::CycleDoorType()
 
 void ACAVEOverlayController::HandleClusterEvent(const FDisplayClusterClusterEventJson& Event)
 {
-	if (Event.Category.Equals("CAVEOverlay") && Event.Type.Equals("DoorChange") && Event.Parameters.Contains("NewDoorState"))
+	if (Event.Category.Equals("CAVEOverlay") && Event.Type.Equals("DoorChange") && Event.Parameters.Contains(
+		"NewDoorState"))
 	{
 		SetDoorMode(static_cast<EDoorMode>(FCString::Atoi(*Event.Parameters["NewDoorState"])));
 	}
@@ -148,7 +149,8 @@ void ACAVEOverlayController::SetDoorMode(EDoorMode NewMode)
 	case EDoorMode::DOOR_PARTIALLY_OPEN:
 		DoorCurrentOpeningWidthAbsolute = DoorOpeningWidthAbsolute;
 		if (ScreenType == SCREEN_DOOR) Overlay->BlackBox->SetRenderScale(FVector2D(0, 1));
-		if (ScreenType == SCREEN_DOOR_PARTIAL) Overlay->BlackBox->SetRenderScale(FVector2D(DoorOpeningWidthRelative, 1));
+		if (ScreenType == SCREEN_DOOR_PARTIAL) Overlay->BlackBox->
+		                                                SetRenderScale(FVector2D(DoorOpeningWidthRelative, 1));
 		if (ScreenType == SCREEN_MASTER) Overlay->BlackBox->SetRenderScale(FVector2D(0, 1));
 		Overlay->BlackBox->SetVisibility(ESlateVisibility::Visible);
 		break;
@@ -170,7 +172,8 @@ void ACAVEOverlayController::SetDoorMode(EDoorMode NewMode)
 	}
 	if (ScreenType == SCREEN_NORMAL) Overlay->BlackBox->SetRenderScale(FVector2D(0, 1)); //no overlay
 
-	UE_LOG(LogCAVEOverlay, Log, TEXT("Switched door state to '%s'. New opening width is %f."), *DoorModeNames[DoorCurrentMode], DoorCurrentOpeningWidthAbsolute);
+	UE_LOG(LogCAVEOverlay, Log, TEXT("Switched door state to '%s'. New opening width is %f."),
+	       *DoorModeNames[DoorCurrentMode], DoorCurrentOpeningWidthAbsolute);
 
 	if (ScreenType == SCREEN_MASTER)
 	{
@@ -192,7 +195,8 @@ void ACAVEOverlayController::BeginPlay()
 	IDisplayClusterClusterManager* ClusterManager = IDisplayCluster::Get().GetClusterMgr();
 	if (ClusterManager && !ClusterEventListenerDelegate.IsBound())
 	{
-		ClusterEventListenerDelegate = FOnClusterEventJsonListener::CreateUObject(this, &ACAVEOverlayController::HandleClusterEvent);
+		ClusterEventListenerDelegate = FOnClusterEventJsonListener::CreateUObject(
+			this, &ACAVEOverlayController::HandleClusterEvent);
 		ClusterManager->AddClusterEventJsonListener(ClusterEventListenerDelegate);
 	}
 
@@ -217,7 +221,8 @@ void ACAVEOverlayController::BeginPlay()
 	Overlay = CreateWidget<UDoorOverlayData>(GetWorld()->GetFirstPlayerController(), OverlayClass);
 	Overlay->AddToViewport(0);
 	SetDoorMode(DoorCurrentMode);
-	Overlay->CornerText->SetText(FText::FromString("")); //Set Text to "" until someone presses the key for the first time
+	Overlay->CornerText->SetText(FText::FromString(""));
+	//Set Text to "" until someone presses the key for the first time
 
 	if (!bAttachedToCAVEOrigin && CaveOrigin)
 	{
@@ -237,7 +242,7 @@ void ACAVEOverlayController::EndPlay(const EEndPlayReason::Type EndPlayReason)
 	Super::EndPlay(EndPlayReason);
 }
 
-float ACAVEOverlayController::CalculateOpacityFromPosition(FVector Position) const
+float ACAVEOverlayController::CalculateOpacityFromPosition(const FVector& Position) const
 {
 	return FMath::Max(
 		FMath::Clamp((FMath::Abs(Position.X) - (WallDistance - WallCloseDistance)) / WallFadeDistance, 0.0f, 1.0f),
@@ -245,10 +250,12 @@ float ACAVEOverlayController::CalculateOpacityFromPosition(FVector Position) con
 	);
 }
 
-bool ACAVEOverlayController::PositionInDoorOpening(FVector Position) const
+bool ACAVEOverlayController::PositionInDoorOpening(const FVector& Position) const
 {
-	return FMath::IsWithinInclusive(-Position.X, WallDistance + 10 - 20 - WallCloseDistance, WallDistance + 10) //Overlap both sides 10cm
-		&& FMath::IsWithinInclusive(-Position.Y, WallDistance + 10 - DoorCurrentOpeningWidthAbsolute, WallDistance + 10); //Overlap one side 10cm
+	return FMath::IsWithinInclusive(-Position.X, WallDistance + 10 - 20 - WallCloseDistance, WallDistance + 10)
+		//Overlap both sides 10cm
+		&& FMath::IsWithinInclusive(-Position.Y, WallDistance + 10 - DoorCurrentOpeningWidthAbsolute,
+		                            WallDistance + 10); //Overlap one side 10cm
 }
 
 // Called every frame
@@ -272,7 +279,8 @@ void ACAVEOverlayController::Tick(float DeltaTime)
 	//FPS Counter
 	if (Overlay)
 	{
-		if (DoorCurrentMode == EDoorMode::DOOR_DEBUG && ContainsFString(ScreensFPS, IDisplayCluster::Get().GetClusterMgr()->GetNodeId()))
+		if (DoorCurrentMode == EDoorMode::DOOR_DEBUG && ContainsFString(
+			ScreensFPS, IDisplayCluster::Get().GetClusterMgr()->GetNodeId()))
 		{
 			Overlay->FPS->SetText(FText::FromString(FString::Printf(TEXT("FPS: %.1f"), 1.0f / DeltaTime)));
 		}
@@ -284,14 +292,15 @@ void ACAVEOverlayController::Tick(float DeltaTime)
 
 	if (!Head)
 	{
-	    Head = UVirtualRealityUtilities::GetNamedClusterComponent(ENamedClusterComponent::NCC_SHUTTERGLASSES);
+		Head = UVirtualRealityUtilities::GetNamedClusterComponent(ENamedClusterComponent::NCC_SHUTTERGLASSES);
 	}
 
 	if (!Head || !CaveOrigin) return; //Display Cluster not fully initialized
 
 	//Head/Tape Logic
-    const FVector ShutterPosition = Head->GetComponentLocation() - CaveOrigin->GetComponentLocation();
-    const bool bHeadIsCloseToWall = FMath::IsWithinInclusive(ShutterPosition.GetAbsMax(), WallDistance - WallCloseDistance, WallDistance);
+	const FVector ShutterPosition = Head->GetComponentLocation() - CaveOrigin->GetComponentLocation();
+	const bool bHeadIsCloseToWall = FMath::IsWithinInclusive(ShutterPosition.GetAbsMax(),
+	                                                         WallDistance - WallCloseDistance, WallDistance);
 
 	if (bHeadIsCloseToWall && !PositionInDoorOpening(ShutterPosition))
 	{
@@ -316,24 +325,28 @@ void ACAVEOverlayController::Tick(float DeltaTime)
 	}
 
 	// Flystick/Sign Logic
-    if(!Flystick)
+	if (!Flystick)
 	{
-	    Flystick = UVirtualRealityUtilities::GetNamedClusterComponent(ENamedClusterComponent::NCC_FLYSTICK);
+		Flystick = UVirtualRealityUtilities::GetNamedClusterComponent(ENamedClusterComponent::NCC_FLYSTICK);
 	}
 	if (Flystick)
 	{
-        const FVector FlystickPosition = Flystick->GetRelativeTransform().GetLocation();
-        const bool bFlystickInDoor = PositionInDoorOpening(FlystickPosition);
+		const FVector FlystickPosition = Flystick->GetRelativeTransform().GetLocation();
+		const bool bFlystickInDoor = PositionInDoorOpening(FlystickPosition);
 
 		SignNegativeX->SetRelativeLocation(FVector(-WallDistance, FlystickPosition.Y, FlystickPosition.Z));
 		SignNegativeY->SetRelativeLocation(FVector(FlystickPosition.X, -WallDistance, FlystickPosition.Z));
 		SignPositiveX->SetRelativeLocation(FVector(+WallDistance, FlystickPosition.Y, FlystickPosition.Z));
 		SignPositiveY->SetRelativeLocation(FVector(FlystickPosition.X, +WallDistance, FlystickPosition.Z));
 
-		SignNegativeX->SetVisibility(FMath::IsWithin(-FlystickPosition.X, WallDistance - WallCloseDistance, WallDistance) && !bFlystickInDoor);
-		SignNegativeY->SetVisibility(FMath::IsWithin(-FlystickPosition.Y, WallDistance - WallCloseDistance, WallDistance) && !bFlystickInDoor);
-		SignPositiveX->SetVisibility(FMath::IsWithin(+FlystickPosition.X, WallDistance - WallCloseDistance, WallDistance) && !bFlystickInDoor);
-		SignPositiveY->SetVisibility(FMath::IsWithin(+FlystickPosition.Y, WallDistance - WallCloseDistance, WallDistance) && !bFlystickInDoor);
+		SignNegativeX->SetVisibility(
+			FMath::IsWithin(-FlystickPosition.X, WallDistance - WallCloseDistance, WallDistance) && !bFlystickInDoor);
+		SignNegativeY->SetVisibility(
+			FMath::IsWithin(-FlystickPosition.Y, WallDistance - WallCloseDistance, WallDistance) && !bFlystickInDoor);
+		SignPositiveX->SetVisibility(
+			FMath::IsWithin(+FlystickPosition.X, WallDistance - WallCloseDistance, WallDistance) && !bFlystickInDoor);
+		SignPositiveY->SetVisibility(
+			FMath::IsWithin(+FlystickPosition.Y, WallDistance - WallCloseDistance, WallDistance) && !bFlystickInDoor);
 
 		SignMaterialDynamic->SetScalarParameterValue("SignOpacity", CalculateOpacityFromPosition(FlystickPosition));
 	}
diff --git a/Source/RWTHVRCluster/Private/ClusterConsole.cpp b/Source/RWTHVRCluster/Private/ClusterConsole.cpp
index 7fe177c8de89500cc61651d6c91375e31259a95b..548e2a0c5a310729c8c65d2b44d1fd6cabee080a 100644
--- a/Source/RWTHVRCluster/Private/ClusterConsole.cpp
+++ b/Source/RWTHVRCluster/Private/ClusterConsole.cpp
@@ -5,40 +5,42 @@
 void FClusterConsole::Register()
 {
 	/* Registering console command */
-	ClusterConsoleCommand = IConsoleManager::Get().RegisterConsoleCommand(TEXT("ClusterExecute"), TEXT("<Your Command> - Execute commands on every node of the nDisplay cluster by prepending ClusterExecute"),
-		FConsoleCommandWithArgsDelegate::CreateLambda([](const TArray< FString >& Args)
-	{
-		if(IDisplayCluster::Get().GetClusterMgr() == nullptr || Args.Num() == 0) return;
-		
-		/* Emitting cluster event */
-		FDisplayClusterClusterEventJson ClusterEvent;
-		ClusterEvent.Name = "ClusterExecute " + Args[0];
-		ClusterEvent.Type = Args[0];
-		ClusterEvent.Category = "NDisplayClusterExecute";
-		ClusterEvent.Parameters.Add("Command", FString::Join(Args, TEXT(" ")));
-		
-		IDisplayCluster::Get().GetClusterMgr()->EmitClusterEventJson(ClusterEvent, false);
-	}));
+	ClusterConsoleCommand = IConsoleManager::Get().RegisterConsoleCommand(
+		TEXT("ClusterExecute"),
+		TEXT("<Your Command> - Execute commands on every node of the nDisplay cluster by prepending ClusterExecute"),
+		FConsoleCommandWithArgsDelegate::CreateLambda([](const TArray<FString>& Args)
+		{
+			if (IDisplayCluster::Get().GetClusterMgr() == nullptr || Args.Num() == 0) return;
+
+			/* Emitting cluster event */
+			FDisplayClusterClusterEventJson ClusterEvent;
+			ClusterEvent.Name = "ClusterExecute " + Args[0];
+			ClusterEvent.Type = Args[0];
+			ClusterEvent.Category = "NDisplayClusterExecute";
+			ClusterEvent.Parameters.Add("Command", FString::Join(Args, TEXT(" ")));
+
+			IDisplayCluster::Get().GetClusterMgr()->EmitClusterEventJson(ClusterEvent, false);
+		}));
 
 	/* Register cluster event handling */
-	IDisplayCluster* DisplayCluster = FModuleManager::LoadModulePtr<IDisplayCluster>(IDisplayCluster::ModuleName);
+	const IDisplayCluster* DisplayCluster = FModuleManager::LoadModulePtr<IDisplayCluster>(IDisplayCluster::ModuleName);
 	if (DisplayCluster && !ClusterEventListenerDelegate.IsBound())
 	{
-		ClusterEventListenerDelegate = FOnClusterEventJsonListener::CreateLambda([](const FDisplayClusterClusterEventJson& Event)
-		{		
-			/* Actual handling */
-			if (Event.Category.Equals("NDisplayClusterExecute") && Event.Parameters.Contains("Command") && GEngine)
+		ClusterEventListenerDelegate = FOnClusterEventJsonListener::CreateLambda(
+			[](const FDisplayClusterClusterEventJson& Event)
 			{
-				GEngine->Exec(GEngine->GetCurrentPlayWorld(), *Event.Parameters["Command"]);
-			}
-		});
+				/* Actual handling */
+				if (Event.Category.Equals("NDisplayClusterExecute") && Event.Parameters.Contains("Command") && GEngine)
+				{
+					GEngine->Exec(GEngine->GetCurrentPlayWorld(), *Event.Parameters["Command"]);
+				}
+			});
 		DisplayCluster->GetClusterMgr()->AddClusterEventJsonListener(ClusterEventListenerDelegate);
 	}
 }
 
-void FClusterConsole::Unregister()
+void FClusterConsole::Unregister() const
 {
 	IConsoleManager::Get().UnregisterConsoleObject(ClusterConsoleCommand);
 	IDisplayCluster::Get().GetClusterMgr()->RemoveClusterEventJsonListener(ClusterEventListenerDelegate);
 }
-
diff --git a/Source/RWTHVRCluster/Private/RWTHVRCluster.cpp b/Source/RWTHVRCluster/Private/RWTHVRCluster.cpp
index 6aa76eeb8d429ebda4b86675d5aba6ef4a240a35..9796e2941e417300ac0b60a32cf7f88e1bebd25e 100644
--- a/Source/RWTHVRCluster/Private/RWTHVRCluster.cpp
+++ b/Source/RWTHVRCluster/Private/RWTHVRCluster.cpp
@@ -7,6 +7,7 @@ void FRWTHVRClusterModule::StartupModule ()
 	ClusterConsole.Register();
 	CAVEOverlay.Register();
 }
+
 void FRWTHVRClusterModule::ShutdownModule()
 {
 	ClusterConsole.Unregister();
@@ -15,4 +16,4 @@ void FRWTHVRClusterModule::ShutdownModule()
 
 #undef LOCTEXT_NAMESPACE
 
-IMPLEMENT_MODULE(FRWTHVRClusterModule, RWTHVRCluster)
\ No newline at end of file
+IMPLEMENT_MODULE(FRWTHVRClusterModule, RWTHVRCluster)
diff --git a/Source/RWTHVRCluster/Public/CAVEOverlay/CAVEOverlayController.h b/Source/RWTHVRCluster/Public/CAVEOverlay/CAVEOverlayController.h
index 1ac575b661a8374e026d2b9c0031c7972fa73152..8f16a69951c018cee135f58bf31195fc9337b48a 100644
--- a/Source/RWTHVRCluster/Public/CAVEOverlay/CAVEOverlayController.h
+++ b/Source/RWTHVRCluster/Public/CAVEOverlay/CAVEOverlayController.h
@@ -56,8 +56,8 @@ private:
 	UStaticMeshComponent* CreateMeshComponent(const FName& Name, UStaticMesh* Mesh, USceneComponent* Parent);
 	UPROPERTY() UMaterial* TapeMaterial = nullptr;
 	UPROPERTY() UMaterial* SignMaterial = nullptr;
-	float CalculateOpacityFromPosition(FVector Position) const;
-	bool PositionInDoorOpening(FVector Position) const;
+	float CalculateOpacityFromPosition(const FVector& Position) const;
+	bool PositionInDoorOpening(const FVector& Position) const;
 
 	//Pawn Components
 	bool bAttachedToCAVEOrigin = false;
diff --git a/Source/RWTHVRCluster/Public/ClusterConsole.h b/Source/RWTHVRCluster/Public/ClusterConsole.h
index 81faf82f283e4d8ad19fdf160e08fc5a0812bce1..79a3ff2237e81a8e2769c1eb35061cc9aec7a08c 100644
--- a/Source/RWTHVRCluster/Public/ClusterConsole.h
+++ b/Source/RWTHVRCluster/Public/ClusterConsole.h
@@ -22,5 +22,5 @@ private:
 	
 public:
 	void Register();
-	void Unregister();
+	void Unregister() const;
 };
diff --git a/Source/RWTHVRToolkit/Private/Fixes/ActivateConsoleInShipping.cpp b/Source/RWTHVRToolkit/Private/Fixes/ActivateConsoleInShipping.cpp
index 9164ffbcbe5f86a906c972c9631c421e2e9ba863..e81ddaa0e3b71363e5a18e06982cf5633f959a7c 100644
--- a/Source/RWTHVRToolkit/Private/Fixes/ActivateConsoleInShipping.cpp
+++ b/Source/RWTHVRToolkit/Private/Fixes/ActivateConsoleInShipping.cpp
@@ -3,7 +3,8 @@
 
 void FActivateConsoleInShipping::Register()
 {
-	if(FApp::GetBuildConfiguration() != EBuildConfiguration::Shipping) return; /* Should only enable console in shipping */
+	if (FApp::GetBuildConfiguration() != EBuildConfiguration::Shipping) return;
+	/* Should only enable console in shipping */
 
 	On_Post_World_Initialization_Delegate.BindRaw(this, &FActivateConsoleInShipping::OnSessionStart);
 	StartHandle = FWorldDelegates::OnPostWorldInitialization.Add(On_Post_World_Initialization_Delegate);
@@ -11,14 +12,15 @@ void FActivateConsoleInShipping::Register()
 
 void FActivateConsoleInShipping::Unregister() const
 {
-	if(FApp::GetBuildConfiguration() != EBuildConfiguration::Shipping) return;
+	if (FApp::GetBuildConfiguration() != EBuildConfiguration::Shipping) return;
 
-    FWorldDelegates::OnPostWorldInitialization.Remove(StartHandle);
+	FWorldDelegates::OnPostWorldInitialization.Remove(StartHandle);
 }
 
 void FActivateConsoleInShipping::OnSessionStart(UWorld* World, const UWorld::InitializationValues Values) const
 {
-    if(!World->IsGameWorld() || !World->GetGameViewport() || World->GetGameViewport()->ViewportConsole != nullptr) return;
+	if (!World->IsGameWorld() || !World->GetGameViewport() || World->GetGameViewport()->ViewportConsole != nullptr)
+		return;
 
-    World->GetGameViewport()->ViewportConsole = NewObject<UConsole>(World->GetGameViewport());
+	World->GetGameViewport()->ViewportConsole = NewObject<UConsole>(World->GetGameViewport());
 }
diff --git a/Source/RWTHVRToolkit/Private/Interaction/ClickBehaviour.cpp b/Source/RWTHVRToolkit/Private/Interaction/ClickBehaviour.cpp
index 87a9e769dccf59d19fc162b020762fad540a4b1d..d5073c9bf50e55ea451b2940613ae078bdc98df7 100644
--- a/Source/RWTHVRToolkit/Private/Interaction/ClickBehaviour.cpp
+++ b/Source/RWTHVRToolkit/Private/Interaction/ClickBehaviour.cpp
@@ -9,14 +9,12 @@ UClickBehaviour::UClickBehaviour()
 	PrimaryComponentTick.bCanEverTick = true;
 }
 
-void UClickBehaviour::OnClickStart(USceneComponent* TriggeredComponent,const FInputActionValue& Value)
+void UClickBehaviour::OnClickStart(USceneComponent* TriggeredComponent, const FInputActionValue& Value)
 {
-	
 }
 
-void UClickBehaviour::OnClickEnd(USceneComponent* TriggeredComponent,const FInputActionValue& Value)
+void UClickBehaviour::OnClickEnd(USceneComponent* TriggeredComponent, const FInputActionValue& Value)
 {
-	
 }
 
 void UClickBehaviour::BeginPlay()
@@ -27,10 +25,8 @@ void UClickBehaviour::BeginPlay()
 	OnClickEndEvent.AddDynamic(this, &UClickBehaviour::OnClickEnd);
 }
 
-
 // Called every frame
 void UClickBehaviour::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction)
 {
 	Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
 }
-
diff --git a/Source/RWTHVRToolkit/Private/Interaction/Clickable.cpp b/Source/RWTHVRToolkit/Private/Interaction/Clickable.cpp
deleted file mode 100644
index 16de826a57db7e3784ecba88bbb9233ac52827f3..0000000000000000000000000000000000000000
--- a/Source/RWTHVRToolkit/Private/Interaction/Clickable.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-// Fill out your copyright notice in the Description page of Project Settings.
-
-
-#include "Interaction/Clickable.h"
-
-UClickable::UClickable(const FObjectInitializer& ObjectInitializer)
-	:Super(ObjectInitializer)
-{}
diff --git a/Source/RWTHVRToolkit/Private/Interaction/GrabComponent.cpp b/Source/RWTHVRToolkit/Private/Interaction/GrabComponent.cpp
index db49c8cb60a7279ab55bf66f55241c91b9b83b06..acdd11d90f3f3093c34986dacf718d99c6c36d86 100644
--- a/Source/RWTHVRToolkit/Private/Interaction/GrabComponent.cpp
+++ b/Source/RWTHVRToolkit/Private/Interaction/GrabComponent.cpp
@@ -8,7 +8,6 @@
 #include "Interaction/GrabbableComponent.h"
 
 #include "Kismet/GameplayStatics.h"
-#include "Utility/VirtualRealityUtilities.h"
 
 // Sets default values for this component's properties
 UGrabComponent::UGrabComponent()
@@ -26,24 +25,25 @@ void UGrabComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActorC
 
 
 	TArray<UGrabbableComponent*> CurrentGrabCompsInRange;
-	
+
 	TArray<AActor*> ActorsToIgnore;
 	TArray<FHitResult> OutHits;
 	const ETraceTypeQuery TraceType = UEngineTypes::ConvertToTraceType(ECollisionChannel::ECC_PhysicsBody);
-	
+
 	auto DebugTrace = bShowDebugTrace ? EDrawDebugTrace::ForOneFrame : EDrawDebugTrace::None;
-	
-	UKismetSystemLibrary::SphereTraceMulti(GetWorld(),GetAttachParent()->GetComponentLocation(),
-		GetAttachParent()->GetComponentLocation(),GrabSphereRadius,TraceType,true,ActorsToIgnore,DebugTrace,
-		OutHits,true,FColor::Green);
 
-	for(FHitResult Hit : OutHits)
+	UKismetSystemLibrary::SphereTraceMulti(GetWorld(), GetAttachParent()->GetComponentLocation(),
+	                                       GetAttachParent()->GetComponentLocation(), GrabSphereRadius, TraceType, true,
+	                                       ActorsToIgnore, DebugTrace,
+	                                       OutHits, true, FColor::Green);
+
+	for (FHitResult Hit : OutHits)
 	{
 		AActor* HitActor = Hit.GetActor();
-		if(HitActor)
+		if (HitActor)
 		{
 			UGrabbableComponent* Grabbable = HitActor->FindComponentByClass<UGrabbableComponent>();
-			if(Grabbable && Grabbable->IsInteractable)
+			if (Grabbable && Grabbable->IsInteractable)
 			{
 				Grabbable->HitResult = Hit;
 				CurrentGrabCompsInRange.Add(Grabbable);
@@ -54,67 +54,59 @@ void UGrabComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActorC
 	CurrentGrabbableInRange = CurrentGrabCompsInRange;
 
 	// Call hover start events on all components that were not in range before
-	for(UGrabbableComponent* CurrentGrabbale : CurrentGrabCompsInRange)
+	for (UGrabbableComponent* CurrentGrabbale : CurrentGrabCompsInRange)
 	{
-		if(!PreviousGrabbablesInRange.Contains(CurrentGrabbale))
+		if (!PreviousGrabbablesInRange.Contains(CurrentGrabbale))
 		{
 			PreviousGrabbablesInRange.Add(CurrentGrabbale);
 			CurrentGrabbale->HandleOnHoverStartEvents(this);
 		}
-		
 	}
 
 	TArray<UGrabbableComponent*> ComponentsToRemove;
-	
+
 	// Call hover end events on all components that were previously in range, but not anymore
-	for(UGrabbableComponent* PrevGrabbale : PreviousGrabbablesInRange)
+	for (UGrabbableComponent* PrevGrabbale : PreviousGrabbablesInRange)
 	{
-		if(!CurrentGrabCompsInRange.Contains(PrevGrabbale))
+		if (!CurrentGrabCompsInRange.Contains(PrevGrabbale))
 		{
 			ComponentsToRemove.Add(PrevGrabbale);
 			PrevGrabbale->HandleOnHoverEndEvents(this);
 		}
 	}
 
-	for(UGrabbableComponent* CompToRemove : ComponentsToRemove)
+	for (UGrabbableComponent* CompToRemove : ComponentsToRemove)
 	{
 		PreviousGrabbablesInRange.Remove(CompToRemove);
 	}
 }
 
-// Called when the game starts
-void UGrabComponent::BeginPlay()
+void UGrabComponent::SetupPlayerInput(UInputComponent* PlayerInputComponent)
 {
-	Super::BeginPlay();
-	SetupInputActions();
-	// ...
-	
-}
+	IInputExtensionInterface::SetupPlayerInput(PlayerInputComponent);
 
-void UGrabComponent::SetupInputActions()
-{
 	const APawn* Pawn = Cast<APawn>(GetOwner());
-	const APlayerController* PlayerController = Cast<APlayerController>(Pawn->GetController());
-	const ULocalPlayer* LP = PlayerController ? PlayerController->GetLocalPlayer() : nullptr;
-	if (LP == nullptr)
+	if (!Pawn)
+		return;
+
+	auto* InputSubsystem = GetEnhancedInputLocalPlayerSubsystem(Pawn);
+	if (!InputSubsystem)
 		return;
 	
-	UEnhancedInputLocalPlayerSubsystem* InputSubsystem = LP->GetSubsystem<UEnhancedInputLocalPlayerSubsystem>();
 	// add Input Mapping context 
-	InputSubsystem->AddMappingContext(IMCGrab,0);
-	
+	InputSubsystem->AddMappingContext(IMCGrab, 0);
+
 	UEnhancedInputComponent* EI = Cast<UEnhancedInputComponent>(Pawn->InputComponent);
 	if (EI == nullptr)
 		return;
-	
+
 	EI->BindAction(GrabInputAction, ETriggerEvent::Started, this, &UGrabComponent::OnBeginGrab);
-	EI->BindAction(GrabInputAction, ETriggerEvent::Completed, this, &UGrabComponent::OnEndGrab);	
-	
+	EI->BindAction(GrabInputAction, ETriggerEvent::Completed, this, &UGrabComponent::OnEndGrab);
 }
 
 void UGrabComponent::OnBeginGrab(const FInputActionValue& Value)
 {
-	for(UGrabbableComponent* Grabbale : CurrentGrabbableInRange)
+	for (UGrabbableComponent* Grabbale : CurrentGrabbableInRange)
 	{
 		Grabbale->HandleOnClickStartEvents(this, Value);
 	}
@@ -122,10 +114,8 @@ void UGrabComponent::OnBeginGrab(const FInputActionValue& Value)
 
 void UGrabComponent::OnEndGrab(const FInputActionValue& Value)
 {
-	for(UGrabbableComponent* Grabbale : CurrentGrabbableInRange)
+	for (UGrabbableComponent* Grabbale : CurrentGrabbableInRange)
 	{
 		Grabbale->HandleOnClickEndEvents(this, Value);
 	}
 }
-
-
diff --git a/Source/RWTHVRToolkit/Private/Interaction/Grabable.cpp b/Source/RWTHVRToolkit/Private/Interaction/Grabable.cpp
deleted file mode 100644
index ab420ac4e5450137993546266ca1496132b618fd..0000000000000000000000000000000000000000
--- a/Source/RWTHVRToolkit/Private/Interaction/Grabable.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
-// Fill out your copyright notice in the Description page of Project Settings.
-
-
-#include "Interaction/Grabable.h"
-
-// to avoid some bugs
-UGrabable::UGrabable(const FObjectInitializer& ObjectInitializer)
-	:Super(ObjectInitializer)
-{}
-
diff --git a/Source/RWTHVRToolkit/Private/Interaction/GrabbingBehaviorComponent.cpp b/Source/RWTHVRToolkit/Private/Interaction/GrabbingBehaviorComponent.cpp
index 155a7539c25b7e4f029d42e01098ca12214ac331..8d5630f19130977ff21ca8281c3c86b9583424b4 100644
--- a/Source/RWTHVRToolkit/Private/Interaction/GrabbingBehaviorComponent.cpp
+++ b/Source/RWTHVRToolkit/Private/Interaction/GrabbingBehaviorComponent.cpp
@@ -19,8 +19,10 @@ UPrimitiveComponent* UGrabbingBehaviorComponent::GetFirstComponentSimulatingPhys
 	TargetActor->GetComponents<UPrimitiveComponent>(PrimitiveComponents);
 
 	// find any component that simulates physics, then traverse the hierarchy
-	for (UPrimitiveComponent* const& Component : PrimitiveComponents) {
-		if (Component->IsSimulatingPhysics()) {
+	for (UPrimitiveComponent* const& Component : PrimitiveComponents)
+	{
+		if (Component->IsSimulatingPhysics())
+		{
 			return GetHighestParentSimulatingPhysics(Component);
 		}
 	}
@@ -30,50 +32,54 @@ UPrimitiveComponent* UGrabbingBehaviorComponent::GetFirstComponentSimulatingPhys
 // recursively goes up the hierarchy and returns the highest parent simulating physics
 UPrimitiveComponent* UGrabbingBehaviorComponent::GetHighestParentSimulatingPhysics(UPrimitiveComponent* Comp)
 {
-	if (Cast<UPrimitiveComponent>(Comp->GetAttachParent()) && Comp->GetAttachParent()->IsSimulatingPhysics()) {
+	if (Cast<UPrimitiveComponent>(Comp->GetAttachParent()) && Comp->GetAttachParent()->IsSimulatingPhysics())
+	{
 		return GetHighestParentSimulatingPhysics(Cast<UPrimitiveComponent>(Comp->GetAttachParent()));
 	}
-	else {
+	else
+	{
 		return Comp;
 	}
 }
 
 void UGrabbingBehaviorComponent::HandleGrabHold(FVector Position, FQuat Orientation)
 {
-
 }
 
 void UGrabbingBehaviorComponent::HandleGrabStart(AActor* GrabbedBy)
 {
 	USceneComponent* RightHand = Cast<USceneComponent>(GrabbedBy->GetDefaultSubobjectByName("Right Hand"));
-	
+
 	const FAttachmentTransformRules Rules = FAttachmentTransformRules(EAttachmentRule::KeepWorld, false);
 
 	MyPhysicsComponent = GetFirstComponentSimulatingPhysics(GetOwner());
 
-	if (MyPhysicsComponent) {
+	if (MyPhysicsComponent)
+	{
 		MyPhysicsComponent->SetSimulatePhysics(false);
 		MyPhysicsComponent->AttachToComponent(RightHand, Rules);
 	}
-	else {
+	else
+	{
 		GetOwner()->GetRootComponent()->AttachToComponent(RightHand, Rules);
 	}
 
-	
+
 	OnBeginGrab.Broadcast(GrabbedBy);
 }
 
 void UGrabbingBehaviorComponent::HandleGrabEnd()
 {
-	if(MyPhysicsComponent)
+	if (MyPhysicsComponent)
 	{
 		MyPhysicsComponent->DetachFromComponent(FDetachmentTransformRules::KeepWorldTransform);
 		MyPhysicsComponent->SetSimulatePhysics(true);
-	}else
+	}
+	else
 	{
 		GetOwner()->GetRootComponent()->DetachFromComponent(FDetachmentTransformRules::KeepWorldTransform);
 	}
-	
+
 	OnEndGrab.Broadcast();
 }
 
@@ -82,10 +88,8 @@ void UGrabbingBehaviorComponent::BeginPlay()
 	Super::BeginPlay();
 }
 
-void UGrabbingBehaviorComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction)
+void UGrabbingBehaviorComponent::TickComponent(float DeltaTime, ELevelTick TickType,
+                                               FActorComponentTickFunction* ThisTickFunction)
 {
 	Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
 }
-
-
-
diff --git a/Source/RWTHVRToolkit/Private/Interaction/GrabbingBehaviorOnLineComponent.cpp b/Source/RWTHVRToolkit/Private/Interaction/GrabbingBehaviorOnLineComponent.cpp
index 43827e344112fcde444837d97bdbde86061c514a..b98a7463e15d98133d017b1969c1316da3937c12 100644
--- a/Source/RWTHVRToolkit/Private/Interaction/GrabbingBehaviorOnLineComponent.cpp
+++ b/Source/RWTHVRToolkit/Private/Interaction/GrabbingBehaviorOnLineComponent.cpp
@@ -9,48 +9,44 @@ UGrabbingBehaviorOnLineComponent::UGrabbingBehaviorOnLineComponent()
 	// Set this component to be initialized when the game starts, and to be ticked every frame.  You can turn these features
 	// off to improve performance if you don't need them.
 	PrimaryComponentTick.bCanEverTick = true;
-	
-	this->Distance = 0;
-}
 
+	Distance = 0;
+}
 
 void UGrabbingBehaviorOnLineComponent::SetDistance(float Dist)
 {
-
 	check(Dist > 0 && "max distance has to be greater than 0");
-	this->Distance = Dist;
+	Distance = Dist;
 }
 
-
-float UGrabbingBehaviorOnLineComponent::GetDistance() const 
+float UGrabbingBehaviorOnLineComponent::GetDistance() const
 {
-	return this->Distance;
+	return Distance;
 }
 
-
 void UGrabbingBehaviorOnLineComponent::SetDiscreteNumberOfPoints(int Num)
 {
 	NumPoints = Num;
 	bIsDiscrete = true;
 }
 
-
 void UGrabbingBehaviorOnLineComponent::HandleGrabHold(FVector Position, FQuat Orientation)
 {
-	FVector AttachmentPoint = this->GetRelativeLocation();
-	FVector ConstraintAxis = this->GetComponentQuat().GetUpVector();
-	FVector Direction = Orientation.GetForwardVector();
-	FVector FromHandToMe = -Position + AttachmentPoint;
+	const FVector AttachmentPoint = this->GetRelativeLocation();
+	const FVector ConstraintAxis = this->GetComponentQuat().GetUpVector();
+	const FVector Direction = Orientation.GetForwardVector();
+	const FVector FromHandToMe = -Position + AttachmentPoint;
 
 	// Vector perpendicular to both points
 	FVector Temp = FVector::CrossProduct(FromHandToMe, ConstraintAxis);
 	Temp.Normalize();
 
-	FVector PlaneNormal = FVector::CrossProduct(ConstraintAxis, Temp);
+	const FVector PlaneNormal = FVector::CrossProduct(ConstraintAxis, Temp);
 
 	// get intersection point defined by plane
-	FVector Intersection = FMath::LinePlaneIntersection(Position, Position + Direction, AttachmentPoint, PlaneNormal);
-	FVector FromOriginToIntersection = Intersection - AttachmentPoint;
+	const FVector Intersection = FMath::LinePlaneIntersection(Position, Position + Direction, AttachmentPoint,
+	                                                          PlaneNormal);
+	const FVector FromOriginToIntersection = Intersection - AttachmentPoint;
 
 	// point along the constraint axis with length of the projection from intersection point onto the axis
 	FVector NewPosition = FVector::DotProduct(FromOriginToIntersection, ConstraintAxis) * ConstraintAxis;
@@ -59,9 +55,10 @@ void UGrabbingBehaviorOnLineComponent::HandleGrabHold(FVector Position, FQuat Or
 
 	if (bIsDiscrete)
 	{
-		float lengthOfSegment = 1.f / static_cast<float>(NumPoints + 1.f);
-		FVector LineBeginning = -ConstraintAxis * Distance;
-		float LengthOnLine = (FVector::DotProduct(FromOriginToIntersection, ConstraintAxis) / Distance + 1.f) / 2.f; // is between 0 and 1
+		const float lengthOfSegment = 1.f / static_cast<float>(NumPoints + 1.f);
+		const FVector LineBeginning = -ConstraintAxis * Distance;
+		const float LengthOnLine = (FVector::DotProduct(FromOriginToIntersection, ConstraintAxis) / Distance + 1.f) / 2.f;
+		// is between 0 and 1
 
 		float VectorSize = FMath::CeilToFloat(LengthOnLine / lengthOfSegment);
 		if (VectorSize <= 0) VectorSize = 1;
@@ -75,22 +72,3 @@ void UGrabbingBehaviorOnLineComponent::HandleGrabHold(FVector Position, FQuat Or
 	// here rotation is not changed
 	GetOwner()->SetActorLocation(NewPosition);
 }
-
-
-// Called when the game starts
-void UGrabbingBehaviorOnLineComponent::BeginPlay()
-{
-	Super::BeginPlay();
-
-	// ...
-	
-}
-
-
-// Called every frame
-void UGrabbingBehaviorOnLineComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction)
-{
-	Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
-
-}
-
diff --git a/Source/RWTHVRToolkit/Private/Interaction/GrabbingBehaviorOnPlaneComponent.cpp b/Source/RWTHVRToolkit/Private/Interaction/GrabbingBehaviorOnPlaneComponent.cpp
index 10a5e554d88d5decaa84efe469f44873ba22f235..0e8be9805a5a38e1e05a59debb1e5df4fb2d6ef2 100644
--- a/Source/RWTHVRToolkit/Private/Interaction/GrabbingBehaviorOnPlaneComponent.cpp
+++ b/Source/RWTHVRToolkit/Private/Interaction/GrabbingBehaviorOnPlaneComponent.cpp
@@ -3,65 +3,34 @@
 
 #include "Interaction/GrabbingBehaviorOnPlaneComponent.h"
 
-// Sets default values for this component's properties
-UGrabbingBehaviorOnPlaneComponent::UGrabbingBehaviorOnPlaneComponent()
-{
-	// Set this component to be initialized when the game starts, and to be ticked every frame.  You can turn these features
-	// off to improve performance if you don't need them.
-	PrimaryComponentTick.bCanEverTick = true;
-}
-
-
 void UGrabbingBehaviorOnPlaneComponent::SetDistance(float Dist)
 {
 	check(Dist > 0 && "max distance has to be greater than 0");
 	this->Distance = Dist;
 }
 
-float UGrabbingBehaviorOnPlaneComponent::GetDistance() const 
+float UGrabbingBehaviorOnPlaneComponent::GetDistance() const
 {
 	return this->Distance;
 }
 
-
 void UGrabbingBehaviorOnPlaneComponent::HandleGrabHold(FVector Position, FQuat Orientation)
 {
 	FVector AttachmentPoint = this->GetRelativeLocation();
-	FVector PlaneNormal = this->GetComponentQuat().GetUpVector(); 
+	FVector PlaneNormal = this->GetComponentQuat().GetUpVector();
 	FVector Direction = Orientation.GetForwardVector();
-	
+
 	// calculate point on plane which is pointed to by hand ray
 	FVector Intersection = FMath::LinePlaneIntersection(Position, Position + Direction, AttachmentPoint, PlaneNormal);
 	FVector NewPosition = -AttachmentPoint + Intersection;
-	
+
 	// clamp size by maxDistance
 	NewPosition = NewPosition.GetClampedToMaxSize(Distance);
-	
+
 	// after this NewPoint is in world position
 	NewPosition += AttachmentPoint;
 
 	// set new position and orientation using calculated quaternion and position
 	// here rotation is not changed
 	GetOwner()->SetActorLocation(NewPosition);
-}
-
-
-// Called when the game starts
-void UGrabbingBehaviorOnPlaneComponent::BeginPlay()
-{
-	Super::BeginPlay();
-
-	// ...
-	
-}
-
-
-// Called every frame
-void UGrabbingBehaviorOnPlaneComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction)
-{
-	Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
-	
-	// ...
-
-}
-
+}
\ No newline at end of file
diff --git a/Source/RWTHVRToolkit/Private/Interaction/HoverBehaviour.cpp b/Source/RWTHVRToolkit/Private/Interaction/HoverBehaviour.cpp
index f3da461b47bf22f8de5de489d65d0b3412759379..e3a86ee1d206950d9e31a55744a8d7f99c07b14a 100644
--- a/Source/RWTHVRToolkit/Private/Interaction/HoverBehaviour.cpp
+++ b/Source/RWTHVRToolkit/Private/Interaction/HoverBehaviour.cpp
@@ -3,16 +3,6 @@
 
 #include "Interaction/HoverBehaviour.h"
 
-// Sets default values for this component's properties
-UHoverBehaviour::UHoverBehaviour()
-{
-	// Set this component to be initialized when the game starts, and to be ticked every frame.  You can turn these features
-	// off to improve performance if you don't need them.
-	PrimaryComponentTick.bCanEverTick = true;
-
-	// ...
-}
-
 void UHoverBehaviour::OnHoverStart(const USceneComponent* TriggeredComponent, FHitResult Hit)
 {
 }
@@ -21,21 +11,10 @@ void UHoverBehaviour::OnHoverEnd(const USceneComponent* TriggeredComponent)
 {
 }
 
-
 void UHoverBehaviour::BeginPlay()
 {
 	Super::BeginPlay();
 
 	OnHoverStartEvent.AddDynamic(this, &UHoverBehaviour::OnHoverStart);
 	OnHoverEndEvent.AddDynamic(this, &UHoverBehaviour::OnHoverEnd);
-	
 }
-
-
-void UHoverBehaviour::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction)
-{
-	Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
-
-	
-}
-
diff --git a/Source/RWTHVRToolkit/Private/Interaction/InteractableBase.cpp b/Source/RWTHVRToolkit/Private/Interaction/InteractableBase.cpp
index d9522129fd474f5830014c12eb891b3a9467e4a4..f15c48f3f2761051b452f87f3b65d5110229eb79 100644
--- a/Source/RWTHVRToolkit/Private/Interaction/InteractableBase.cpp
+++ b/Source/RWTHVRToolkit/Private/Interaction/InteractableBase.cpp
@@ -5,20 +5,8 @@
 
 #include "Interaction/ClickBehaviour.h"
 #include "Interaction/HoverBehaviour.h"
-#include "Utility/VirtualRealityUtilities.h"
 
-// Sets default values for this component's properties
-UInteractableBase::UInteractableBase()
-{
-	// Set this component to be initialized when the game starts, and to be ticked every frame.  You can turn these features
-	// off to improve performance if you don't need them.
-	PrimaryComponentTick.bCanEverTick = true;
-
-	// ...
-}
-
-
-void UInteractableBase::RestrictInteractionToComponents(TArray<USceneComponent*> Components)
+void UInteractableBase::RestrictInteractionToComponents(const TArray<USceneComponent*>& Components)
 {
 	if(Components.IsEmpty())
 	{
@@ -49,16 +37,6 @@ void UInteractableBase::BeginPlay()
 {
 	Super::BeginPlay();
 	InitDefaultBehaviourReferences();
-	// ...
-	
-}
-
-// Called every frame
-void UInteractableBase::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction)
-{
-	Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
-
-	// ...
 }
 
 void UInteractableBase::HandleOnHoverStartEvents(USceneComponent* TriggerComponent)
diff --git a/Source/RWTHVRToolkit/Private/Interaction/OnClickGrabBehavior.cpp b/Source/RWTHVRToolkit/Private/Interaction/OnClickGrabBehavior.cpp
index c264da00248602a03be0c7801f301c8b31ff9183..6154e96cf01dc04c7579e4de0f1ce941d94c96af 100644
--- a/Source/RWTHVRToolkit/Private/Interaction/OnClickGrabBehavior.cpp
+++ b/Source/RWTHVRToolkit/Private/Interaction/OnClickGrabBehavior.cpp
@@ -3,40 +3,9 @@
 
 #include "Interaction/OnClickGrabBehavior.h"
 
-#include "Interaction/GrabbableComponent.h"
 #include "Interaction/InteractableBase.h"
 #include "Kismet/GameplayStatics.h"
 #include "Serialization/JsonTypes.h"
-#include "Utility/VirtualRealityUtilities.h"
-
-// Sets default values for this component's properties
-UOnClickGrabBehavior::UOnClickGrabBehavior()
-{
-	// Set this component to be initialized when the game starts, and to be ticked every frame.  You can turn these features
-	// off to improve performance if you don't need them.
-	PrimaryComponentTick.bCanEverTick = true;
-
-	// ...
-}
-
-
-// Called when the game starts
-void UOnClickGrabBehavior::BeginPlay()
-{
-	Super::BeginPlay();
-
-	// ...
-	
-}
-
-
-// Called every frame
-void UOnClickGrabBehavior::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction)
-{
-	Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
-
-	// ...
-}
 
 UPrimitiveComponent* UOnClickGrabBehavior::GetFirstComponentSimulatingPhysics(const AActor* TargetActor)
 {
@@ -44,8 +13,10 @@ UPrimitiveComponent* UOnClickGrabBehavior::GetFirstComponentSimulatingPhysics(co
 	TargetActor->GetComponents<UPrimitiveComponent>(PrimitiveComponents);
 
 	// find any component that simulates physics, then traverse the hierarchy
-	for (UPrimitiveComponent* const& Component : PrimitiveComponents) {
-		if (Component->IsSimulatingPhysics()) {
+	for (UPrimitiveComponent* const& Component : PrimitiveComponents)
+	{
+		if (Component->IsSimulatingPhysics())
+		{
 			return GetHighestParentSimulatingPhysics(Component);
 		}
 	}
@@ -55,10 +26,12 @@ UPrimitiveComponent* UOnClickGrabBehavior::GetFirstComponentSimulatingPhysics(co
 // recursively goes up the hierarchy and returns the highest parent simulating physics
 UPrimitiveComponent* UOnClickGrabBehavior::GetHighestParentSimulatingPhysics(UPrimitiveComponent* Comp)
 {
-	if (Cast<UPrimitiveComponent>(Comp->GetAttachParent()) && Comp->GetAttachParent()->IsSimulatingPhysics()) {
+	if (Cast<UPrimitiveComponent>(Comp->GetAttachParent()) && Comp->GetAttachParent()->IsSimulatingPhysics())
+	{
 		return GetHighestParentSimulatingPhysics(Cast<UPrimitiveComponent>(Comp->GetAttachParent()));
 	}
-	else {
+	else
+	{
 		return Comp;
 	}
 }
@@ -66,14 +39,15 @@ UPrimitiveComponent* UOnClickGrabBehavior::GetHighestParentSimulatingPhysics(UPr
 void UOnClickGrabBehavior::OnClickStart(USceneComponent* TriggeredComponent, const FInputActionValue& Value)
 {
 	const APawn* Player = UGameplayStatics::GetPlayerPawn(GetWorld(), 0);
-	
+
 	USceneComponent* Hand = Cast<USceneComponent>(TriggeredComponent->GetAttachParent());
-	
+
 	const FAttachmentTransformRules Rules = FAttachmentTransformRules(EAttachmentRule::KeepWorld, false);
 
 	MyPhysicsComponent = GetFirstComponentSimulatingPhysics(GetOwner());
 
-	if (MyPhysicsComponent) {
+	if (MyPhysicsComponent)
+	{
 		MyPhysicsComponent->SetSimulatePhysics(false);
 		MyPhysicsComponent->AttachToComponent(Hand, Rules);
 	}
@@ -82,11 +56,11 @@ void UOnClickGrabBehavior::OnClickStart(USceneComponent* TriggeredComponent, con
 		GetOwner()->GetRootComponent()->AttachToComponent(Hand, Rules);
 	}
 
-	
-	if(bBlockOtherInteractionsWhileGrabbed)
+
+	if (bBlockOtherInteractionsWhileGrabbed)
 	{
-		TArray<UInteractableBase*> Interactables; 
-		GetOwner()->GetComponents<UInteractableBase>(Interactables,false);
+		TArray<UInteractableBase*> Interactables;
+		GetOwner()->GetComponents<UInteractableBase>(Interactables, false);
 		for (UInteractableBase* Interactable : Interactables)
 		{
 			Interactable->RestrictInteractionToComponent(TriggeredComponent);
@@ -96,24 +70,23 @@ void UOnClickGrabBehavior::OnClickStart(USceneComponent* TriggeredComponent, con
 
 void UOnClickGrabBehavior::OnClickEnd(USceneComponent* TriggeredComponent, const FInputActionValue& Value)
 {
-	if(MyPhysicsComponent)
+	if (MyPhysicsComponent)
 	{
 		MyPhysicsComponent->DetachFromComponent(FDetachmentTransformRules::KeepWorldTransform);
 		MyPhysicsComponent->SetSimulatePhysics(true);
-	}else
+	}
+	else
 	{
 		GetOwner()->GetRootComponent()->DetachFromComponent(FDetachmentTransformRules::KeepWorldTransform);
 	}
 
-	if(bBlockOtherInteractionsWhileGrabbed)
+	if (bBlockOtherInteractionsWhileGrabbed)
 	{
-		TArray<UInteractableBase*> Interactables; 
-		GetOwner()->GetComponents<UInteractableBase>(Interactables,false);
+		TArray<UInteractableBase*> Interactables;
+		GetOwner()->GetComponents<UInteractableBase>(Interactables, false);
 		for (UInteractableBase* Interactable : Interactables)
 		{
 			Interactable->ResetRestrictInteraction();
 		}
 	}
 }
-
-
diff --git a/Source/RWTHVRToolkit/Private/Interaction/RaycastSelectionComponent.cpp b/Source/RWTHVRToolkit/Private/Interaction/RaycastSelectionComponent.cpp
index 0ac53f6aa1d28852d1eff129512f87684cd9fae1..240c9c70368accd5deedc7e09be8f2fed4e26440 100644
--- a/Source/RWTHVRToolkit/Private/Interaction/RaycastSelectionComponent.cpp
+++ b/Source/RWTHVRToolkit/Private/Interaction/RaycastSelectionComponent.cpp
@@ -6,7 +6,6 @@
 #include "EnhancedInputComponent.h"
 #include "EnhancedInputSubsystems.h"
 #include "Kismet/KismetSystemLibrary.h"
-#include "Utility/VirtualRealityUtilities.h"
 
 // Sets default values for this component's properties
 URaycastSelectionComponent::URaycastSelectionComponent()
@@ -18,57 +17,47 @@ URaycastSelectionComponent::URaycastSelectionComponent()
 	// ...
 }
 
-
-// Called when the game starts
-void URaycastSelectionComponent::BeginPlay()
-{
-	Super::BeginPlay();
-	SetupInputActions();
-	// ...
-	
-}
-
 // Called every frame
-void URaycastSelectionComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction)
+void URaycastSelectionComponent::TickComponent(float DeltaTime, ELevelTick TickType,
+                                               FActorComponentTickFunction* ThisTickFunction)
 {
 	Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
 
 	URaycastSelectable* CurrentSelectable = nullptr;
-	
-	
+
+
 	TArray<AActor*> ActorsToIgnore;
 	FHitResult Hit;
 	const ETraceTypeQuery TraceType = UEngineTypes::ConvertToTraceType(ECollisionChannel::ECC_PhysicsBody);
 	FVector TraceStart = GetAttachParent()->GetComponentLocation();
 	FVector TraceEnd = GetAttachParent()->GetComponentLocation() + TraceLength * GetAttachParent()->GetForwardVector();
-	
+
 	auto DebugTrace = bShowDebugTrace ? EDrawDebugTrace::ForOneFrame : EDrawDebugTrace::None;
-	
-	UKismetSystemLibrary::LineTraceSingle(GetWorld(),TraceStart,TraceEnd
-		,TraceType,true,ActorsToIgnore,DebugTrace,
-		Hit,true,FColor::Green);
-	
+
+	UKismetSystemLibrary::LineTraceSingle(GetWorld(), TraceStart, TraceEnd
+	                                      , TraceType, true, ActorsToIgnore, DebugTrace,
+	                                      Hit, true, FColor::Green);
+
 	AActor* HitActor = Hit.GetActor();
-	if(HitActor)
+	if (HitActor)
 	{
 		URaycastSelectable* Selectable = HitActor->FindComponentByClass<URaycastSelectable>();
-		if(Selectable && Selectable->IsInteractable)
+		if (Selectable && Selectable->IsInteractable)
 		{
 			CurrentSelectable = Selectable;
 			Selectable->HitResult = Hit;
 		}
 	}
 
-
 	CurrentRaycastSelectable = CurrentSelectable;
-	
-	if(CurrentRaycastSelectable != PreviousRaycastSelectable)
+
+	if (CurrentRaycastSelectable != PreviousRaycastSelectable)
 	{
-		if(CurrentRaycastSelectable)
+		if (CurrentRaycastSelectable)
 		{
 			CurrentRaycastSelectable->HandleOnHoverStartEvents(this);
 		}
-		if(PreviousRaycastSelectable)
+		if (PreviousRaycastSelectable)
 		{
 			PreviousRaycastSelectable->HandleOnHoverEndEvents(this);
 		}
@@ -77,29 +66,9 @@ void URaycastSelectionComponent::TickComponent(float DeltaTime, ELevelTick TickT
 	PreviousRaycastSelectable = CurrentRaycastSelectable;
 }
 
-void URaycastSelectionComponent::SetupInputActions()
-{
-	const APawn* Pawn = Cast<APawn>(GetOwner());
-	const APlayerController* PlayerController = Cast<APlayerController>(Pawn->GetController());
-	const ULocalPlayer* LP = PlayerController ? PlayerController->GetLocalPlayer() : nullptr;
-	if (LP == nullptr)
-		return;
-	UEnhancedInputLocalPlayerSubsystem* InputSubsystem = LP->GetSubsystem<UEnhancedInputLocalPlayerSubsystem>();
-
-	// add Input Mapping context 
-	InputSubsystem->AddMappingContext(IMCRaycastSelection,0);
-	
-	UEnhancedInputComponent* EI = Cast<UEnhancedInputComponent>(Pawn->InputComponent);
-	if (EI == nullptr)
-		return;
-	
-	EI->BindAction(RayCastSelectInputAction, ETriggerEvent::Started, this, &URaycastSelectionComponent::OnBeginSelect);
-	EI->BindAction(RayCastSelectInputAction, ETriggerEvent::Completed, this, &URaycastSelectionComponent::OnEndSelect);	
-}
-
 void URaycastSelectionComponent::OnBeginSelect(const FInputActionValue& Value)
 {
-	if(CurrentRaycastSelectable)
+	if (CurrentRaycastSelectable)
 	{
 		CurrentRaycastSelectable->HandleOnClickStartEvents(this, Value);
 	}
@@ -107,7 +76,29 @@ void URaycastSelectionComponent::OnBeginSelect(const FInputActionValue& Value)
 
 void URaycastSelectionComponent::OnEndSelect(const FInputActionValue& Value)
 {
-	if(CurrentRaycastSelectable)
+	if (CurrentRaycastSelectable)
 		CurrentRaycastSelectable->HandleOnClickEndEvents(this, Value);
 }
 
+void URaycastSelectionComponent::SetupPlayerInput(UInputComponent* PlayerInputComponent)
+{
+	IInputExtensionInterface::SetupPlayerInput(PlayerInputComponent);
+
+	const APawn* Pawn = Cast<APawn>(GetOwner());
+	if (!Pawn)
+		return;
+
+	auto* InputSubsystem = GetEnhancedInputLocalPlayerSubsystem(Pawn);
+	if (!InputSubsystem)
+		return;
+
+	// add Input Mapping context 
+	InputSubsystem->AddMappingContext(IMCRaycastSelection, 0);
+
+	UEnhancedInputComponent* EI = Cast<UEnhancedInputComponent>(Pawn->InputComponent);
+	if (!EI)
+		return;
+
+	EI->BindAction(RayCastSelectInputAction, ETriggerEvent::Started, this, &URaycastSelectionComponent::OnBeginSelect);
+	EI->BindAction(RayCastSelectInputAction, ETriggerEvent::Completed, this, &URaycastSelectionComponent::OnEndSelect);
+}
diff --git a/Source/RWTHVRToolkit/Private/Interaction/Targetable.cpp b/Source/RWTHVRToolkit/Private/Interaction/Targetable.cpp
deleted file mode 100644
index fae43d0426aea760f38e9795fa703714a71490fc..0000000000000000000000000000000000000000
--- a/Source/RWTHVRToolkit/Private/Interaction/Targetable.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-// Fill out your copyright notice in the Description page of Project Settings.
-
-
-#include "Interaction/Targetable.h"
-
-UTargetable::UTargetable(const FObjectInitializer& ObjectInitializer)
-	:Super(ObjectInitializer)
-{}
diff --git a/Source/RWTHVRToolkit/Private/Pawn/BasicVRInteractionComponent.cpp b/Source/RWTHVRToolkit/Private/Pawn/BasicVRInteractionComponent.cpp
index f3e931cc9820e0b4bf99335367706cce43fbee01..0509af6aaacada1562fe9b6f84f894998860b8df 100644
--- a/Source/RWTHVRToolkit/Private/Pawn/BasicVRInteractionComponent.cpp
+++ b/Source/RWTHVRToolkit/Private/Pawn/BasicVRInteractionComponent.cpp
@@ -8,7 +8,6 @@
 #include "Interaction/Targetable.h"
 #include "Interaction/GrabbingBehaviorComponent.h"
 #include "Misc/Optional.h"
-#include "DrawDebugHelpers.h"
 
 DEFINE_LOG_CATEGORY(LogVRInteractionComponent);
 
diff --git a/Source/RWTHVRToolkit/Private/Pawn/ContinuousMovementComponent.cpp b/Source/RWTHVRToolkit/Private/Pawn/ContinuousMovementComponent.cpp
index ff3d0e11a9de8653c1ca26d09cf093a025b310ec..787b9c1ad43e5f9c2d9b8c8be0766d5482a2acc8 100644
--- a/Source/RWTHVRToolkit/Private/Pawn/ContinuousMovementComponent.cpp
+++ b/Source/RWTHVRToolkit/Private/Pawn/ContinuousMovementComponent.cpp
@@ -13,7 +13,7 @@
 void UContinuousMovementComponent::SetupPlayerInput(UInputComponent* PlayerInputComponent)
 {
 	Super::SetupPlayerInput(PlayerInputComponent);
-	
+
 	if (!VRPawn || !VRPawn->HasLocalNetOwner() || !InputSubsystem)
 	{
 		return;
@@ -32,7 +32,7 @@ void UContinuousMovementComponent::SetupPlayerInput(UInputComponent* PlayerInput
 		RotationHand = VRPawn->RightHand;
 		IMCMovement = IMCMovementLeft;
 	}
-	
+
 	// add Input Mapping context 
 	InputSubsystem->AddMappingContext(IMCMovement, 0);
 
diff --git a/Source/RWTHVRToolkit/Private/Pawn/InputExtensionInterface.cpp b/Source/RWTHVRToolkit/Private/Pawn/InputExtensionInterface.cpp
index 8c429dc9d4fc49f41ecac59d03754eb52235e417..9d0fc069ab4be6f1478f57ff67f665aff2db7f6e 100644
--- a/Source/RWTHVRToolkit/Private/Pawn/InputExtensionInterface.cpp
+++ b/Source/RWTHVRToolkit/Private/Pawn/InputExtensionInterface.cpp
@@ -3,7 +3,7 @@
 
 #include "Pawn/InputExtensionInterface.h"
 
-UEnhancedInputLocalPlayerSubsystem* IInputExtensionInterface::GetEnhancedInputLocalPlayerSubsystem(APawn* Pawn) const
+UEnhancedInputLocalPlayerSubsystem* IInputExtensionInterface::GetEnhancedInputLocalPlayerSubsystem(const APawn* Pawn) const
 {
 	const APlayerController* PlayerController = Pawn ? Cast<APlayerController>(Pawn->GetController()) : nullptr;
 	const ULocalPlayer* LP = PlayerController ? PlayerController->GetLocalPlayer() : nullptr;
diff --git a/Source/RWTHVRToolkit/Private/Pawn/MovementComponentBase.cpp b/Source/RWTHVRToolkit/Private/Pawn/MovementComponentBase.cpp
index b4f680c8bec3453d84537af95927ecd8381b48b4..715cd955eba7667cf5a62c453f165f4b4da79ed7 100644
--- a/Source/RWTHVRToolkit/Private/Pawn/MovementComponentBase.cpp
+++ b/Source/RWTHVRToolkit/Private/Pawn/MovementComponentBase.cpp
@@ -28,7 +28,7 @@ void UMovementComponentBase::SetupPlayerInput(UInputComponent* PlayerInputCompon
 		UE_LOG(Toolkit, Error, TEXT("InputSubsystem IS NOT VALID"));
 		return;
 	}
-	
+
 	// add Input Mapping context 
 	InputSubsystem->AddMappingContext(IMCRotation, 0);
 
@@ -78,7 +78,7 @@ void UMovementComponentBase::OnBeginTurn(const FInputActionValue& Value)
 
 	if (!VRPawn || !VRPawn->Controller)
 		return;
-	
+
 	const FVector2D TurnValue = Value.Get<FVector2D>();
 
 	if (TurnValue.X != 0.f)
@@ -99,7 +99,7 @@ void UMovementComponentBase::OnBeginSnapTurn(const FInputActionValue& Value)
 {
 	if (!VRPawn || !VRPawn->Controller)
 		return;
-	
+
 	const FVector2D TurnValue = Value.Get<FVector2D>();
 	if (TurnValue.X > 0.f)
 	{
diff --git a/Source/RWTHVRToolkit/Private/Pawn/MovementComponentBase.h b/Source/RWTHVRToolkit/Private/Pawn/MovementComponentBase.h
index 0a9d869e90f6a8ba0ac61c109e0a1475b084023b..388e4ce824d9ef4347f79f30a84a13283301a8ae 100644
--- a/Source/RWTHVRToolkit/Private/Pawn/MovementComponentBase.h
+++ b/Source/RWTHVRToolkit/Private/Pawn/MovementComponentBase.h
@@ -7,6 +7,7 @@
 #include "Pawn/InputExtensionInterface.h"
 #include "MovementComponentBase.generated.h"
 
+class AVirtualRealityPawn;
 /**
  * 
  */
@@ -16,19 +17,21 @@ class RWTHVRTOOLKIT_API UMovementComponentBase : public UActorComponent, public
 	GENERATED_BODY()
 
 public:
-	
 	virtual void SetupPlayerInput(UInputComponent* PlayerInputComponent) override;
 
 	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "VR Movement")
 	bool bAllowTurning = true;
 
-	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "VR Movement|Turning", meta = (EditCondition = "bAllowTurning"))
+	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "VR Movement|Turning",
+		meta = (EditCondition = "bAllowTurning"))
 	bool bSnapTurn = false;
 
-	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "VR Movement|Turning", meta = (EditCondition = "!bSnapTurn && bAllowTurning"))
+	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "VR Movement|Turning",
+		meta = (EditCondition = "!bSnapTurn && bAllowTurning"))
 	float TurnRateFactor = 1.0f;
 
-	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "VR Movement|Turning", meta = (EditCondition = "bSnapTurn && bAllowTurning", ClampMin = 0, ClampMax = 360))
+	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "VR Movement|Turning",
+		meta = (EditCondition = "bSnapTurn && bAllowTurning", ClampMin = 0, ClampMax = 360))
 	float SnapTurnAngle = 22.5;
 
 	UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "VR Movement|Input|Actions")
@@ -37,24 +40,23 @@ public:
 	UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "VR Movement|Input|Actions")
 	class UInputAction* DesktopRotation;
 
-	
+
 	/*Movement Input*/
 	UFUNCTION(BlueprintCallable)
 	void OnBeginTurn(const FInputActionValue& Value);
 
 	UFUNCTION(BlueprintCallable)
 	void OnBeginSnapTurn(const FInputActionValue& Value);
-	
+
 	/*Desktop Testing*/
 	// the idea is that you have to hold the right mouse button to do rotations
 	UFUNCTION()
 	void StartDesktopRotation();
-	
+
 	UFUNCTION()
 	void EndDesktopRotation();
 
 protected:
-
 	UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "VR Movement|Input")
 	class UInputMappingContext* IMCRotation;
 
diff --git a/Source/RWTHVRToolkit/Private/Pawn/ReplicatedCameraComponent.cpp b/Source/RWTHVRToolkit/Private/Pawn/ReplicatedCameraComponent.cpp
index 1c8a8563d5eab7560adb5b9b95f7f70867ff29b3..be9d5221c7ecabaaac5eea308bbc0a250c838785 100644
--- a/Source/RWTHVRToolkit/Private/Pawn/ReplicatedCameraComponent.cpp
+++ b/Source/RWTHVRToolkit/Private/Pawn/ReplicatedCameraComponent.cpp
@@ -31,35 +31,35 @@ void UReplicatedCameraComponent::UpdateState(float DeltaTime)
 			{
 				ControllerNetUpdateCount += DeltaTime;
 				if (ControllerNetUpdateCount >= (1.0f / ControllerNetUpdateRate)) // todo save inverse?
-					{
+				{
 					ControllerNetUpdateCount = 0.0f;
 
 					ReplicatedTransform.Position = Loc;
 					ReplicatedTransform.Rotation = Rot;
 					if (GetNetMode() == NM_Client) // why do we differentiate here between netmode and authority?
-						{
-							ServerSendControllerTransformRpc(ReplicatedTransform);
-						}
+					{
+						ServerSendControllerTransformRpc(ReplicatedTransform);
 					}
+				}
 			}
 		}
 	}
 }
 
 void UReplicatedCameraComponent::TickComponent(float DeltaTime, ELevelTick TickType,
-	FActorComponentTickFunction* ThisTickFunction)
+                                               FActorComponentTickFunction* ThisTickFunction)
 {
 	Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
 	UpdateState(DeltaTime);
 }
 
-void UReplicatedCameraComponent::GetLifetimeReplicatedProps(TArray< class FLifetimeProperty >& OutLifetimeProps) const
+void UReplicatedCameraComponent::GetLifetimeReplicatedProps(TArray<class FLifetimeProperty>& OutLifetimeProps) const
 {
 	Super::GetLifetimeReplicatedProps(OutLifetimeProps);
 
 	DISABLE_REPLICATED_PRIVATE_PROPERTY(USceneComponent, RelativeLocation);
 	DISABLE_REPLICATED_PRIVATE_PROPERTY(USceneComponent, RelativeRotation);
-	DISABLE_REPLICATED_PRIVATE_PROPERTY(USceneComponent, RelativeScale3D);	
+	DISABLE_REPLICATED_PRIVATE_PROPERTY(USceneComponent, RelativeScale3D);
 
 	// Skipping the owner with this as the owner will use the controllers location directly
 	DOREPLIFETIME_CONDITION(UReplicatedCameraComponent, ReplicatedTransform, COND_SkipOwner);
@@ -79,4 +79,4 @@ bool UReplicatedCameraComponent::ServerSendControllerTransformRpc_Validate(FVRTr
 {
 	return true;
 	// Optionally check to make sure that player is inside of their bounds and deny it if they aren't?
-}
\ No newline at end of file
+}
diff --git a/Source/RWTHVRToolkit/Private/Pawn/ReplicatedMotionControllerComponent.cpp b/Source/RWTHVRToolkit/Private/Pawn/ReplicatedMotionControllerComponent.cpp
index 4c8c06813f90c420dc5d1dee078520a5e6a8d6a2..bc7eace3f0faeaef5c472b6f089d27c7a521ed8c 100644
--- a/Source/RWTHVRToolkit/Private/Pawn/ReplicatedMotionControllerComponent.cpp
+++ b/Source/RWTHVRToolkit/Private/Pawn/ReplicatedMotionControllerComponent.cpp
@@ -3,7 +3,6 @@
 
 #include "Pawn/ReplicatedMotionControllerComponent.h"
 
-
 #include "Net/UnrealNetwork.h"
 
 UReplicatedMotionControllerComponent::UReplicatedMotionControllerComponent()
@@ -32,42 +31,44 @@ void UReplicatedMotionControllerComponent::UpdateState(float DeltaTime)
 			{
 				ControllerNetUpdateCount += DeltaTime;
 				if (ControllerNetUpdateCount >= (1.0f / ControllerNetUpdateRate)) // todo save inverse?
-					{
+				{
 					ControllerNetUpdateCount = 0.0f;
 
 					ReplicatedTransform.Position = Loc;
 					ReplicatedTransform.Rotation = Rot;
 					if (GetNetMode() == NM_Client) // why do we differentiate here between netmode and authority?
-						{
+					{
 						SendControllerTransform_ServerRpc(ReplicatedTransform);
-						}
 					}
+				}
 			}
 		}
 	}
 }
 
 void UReplicatedMotionControllerComponent::TickComponent(float DeltaTime, ELevelTick TickType,
-	FActorComponentTickFunction* ThisTickFunction)
+                                                         FActorComponentTickFunction* ThisTickFunction)
 {
 	Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
 	UpdateState(DeltaTime);
 }
 
-void UReplicatedMotionControllerComponent::GetLifetimeReplicatedProps(TArray< class FLifetimeProperty >& OutLifetimeProps) const
+void UReplicatedMotionControllerComponent::GetLifetimeReplicatedProps(
+	TArray<class FLifetimeProperty>& OutLifetimeProps) const
 {
 	Super::GetLifetimeReplicatedProps(OutLifetimeProps);
 
 	DISABLE_REPLICATED_PRIVATE_PROPERTY(USceneComponent, RelativeLocation);
 	DISABLE_REPLICATED_PRIVATE_PROPERTY(USceneComponent, RelativeRotation);
-	DISABLE_REPLICATED_PRIVATE_PROPERTY(USceneComponent, RelativeScale3D);	
+	DISABLE_REPLICATED_PRIVATE_PROPERTY(USceneComponent, RelativeScale3D);
 
 	// Skipping the owner with this as the owner will use the controllers location directly
 	DOREPLIFETIME_CONDITION(UReplicatedMotionControllerComponent, ReplicatedTransform, COND_SkipOwner);
 	DOREPLIFETIME(UReplicatedMotionControllerComponent, ControllerNetUpdateRate);
 }
 
-void UReplicatedMotionControllerComponent::SendControllerTransform_ServerRpc_Implementation(FVRTransformRep NewTransform)
+void UReplicatedMotionControllerComponent::SendControllerTransform_ServerRpc_Implementation(
+	FVRTransformRep NewTransform)
 {
 	// Store new transform and trigger OnRep_Function
 	ReplicatedTransform = NewTransform;
@@ -80,4 +81,4 @@ bool UReplicatedMotionControllerComponent::SendControllerTransform_ServerRpc_Val
 {
 	return true;
 	// Optionally check to make sure that player is inside of their bounds and deny it if they aren't?
-}
\ No newline at end of file
+}
diff --git a/Source/RWTHVRToolkit/Private/Pawn/TeleportationComponent.cpp b/Source/RWTHVRToolkit/Private/Pawn/TeleportationComponent.cpp
index 00864280dd13027fb3556e69eccdc4d1b9107993..c760b50cc1241568438c4e107a2c5b12929ebb49 100644
--- a/Source/RWTHVRToolkit/Private/Pawn/TeleportationComponent.cpp
+++ b/Source/RWTHVRToolkit/Private/Pawn/TeleportationComponent.cpp
@@ -19,12 +19,12 @@
 void UTeleportationComponent::SetupPlayerInput(UInputComponent* PlayerInputComponent)
 {
 	Super::SetupPlayerInput(PlayerInputComponent);
-	
+
 	if (!VRPawn || !VRPawn->HasLocalNetOwner() || !InputSubsystem)
 	{
 		return;
 	}
-	
+
 	TeleportTraceComponent = UNiagaraFunctionLibrary::SpawnSystemAtLocation
 	(
 		GetWorld(),
@@ -40,15 +40,15 @@ void UTeleportationComponent::SetupPlayerInput(UInputComponent* PlayerInputCompo
 
 	FActorSpawnParameters SpawnParameters = FActorSpawnParameters();
 	SpawnParameters.Name = "TeleportVisualizer";
-	
+
 	if (BPTeleportVisualizer)
 	{
 		TeleportVisualizer = GetWorld()->SpawnActor<AActor>(BPTeleportVisualizer, VRPawn->GetActorLocation(),
-															VRPawn->GetActorRotation(), SpawnParameters);
+		                                                    VRPawn->GetActorRotation(), SpawnParameters);
 	}
 	TeleportTraceComponent->SetVisibility(false);
 	TeleportVisualizer->SetActorHiddenInGame(true);
-	
+
 	// simple way of changing the handedness
 	if (bMoveWithRightHand)
 	{
@@ -62,17 +62,17 @@ void UTeleportationComponent::SetupPlayerInput(UInputComponent* PlayerInputCompo
 		RotationHand = VRPawn->RightHand;
 		IMCMovement = IMCTeleportLeft;
 	}
-	
+
 	// add Input Mapping context 
-	InputSubsystem->AddMappingContext(IMCMovement,0);
-	
+	InputSubsystem->AddMappingContext(IMCMovement, 0);
+
 	UEnhancedInputComponent* EI = Cast<UEnhancedInputComponent>(PlayerInputComponent);
 	if (!EI)
 	{
-		UE_LOG(Toolkit,Error,TEXT("Cannot cast Input Component to Enhanced Inpu Component in VRPawnMovement"));
+		UE_LOG(Toolkit, Error, TEXT("Cannot cast Input Component to Enhanced Inpu Component in VRPawnMovement"));
 		return;
 	}
-	
+
 	// teleporting
 	EI->BindAction(Move, ETriggerEvent::Started, this, &UTeleportationComponent::OnStartTeleportTrace);
 	EI->BindAction(Move, ETriggerEvent::Triggered, this, &UTeleportationComponent::UpdateTeleportTrace);
@@ -99,7 +99,7 @@ void UTeleportationComponent::UpdateTeleportTrace(const FInputActionValue& Value
 	const FVector ForwardVector = TeleportationHand->GetForwardVector();
 
 	TArray<AActor> ActorsToIgnore;
-	
+
 	FPredictProjectilePathParams PredictParams = FPredictProjectilePathParams
 	(
 		TeleportProjectileRadius,
@@ -111,16 +111,16 @@ void UTeleportationComponent::UpdateTeleportTrace(const FInputActionValue& Value
 
 	PredictParams.ActorsToIgnore.Add(VRPawn);
 	PredictParams.ActorsToIgnore.Add(TeleportVisualizer);
-	
-	UGameplayStatics::PredictProjectilePath(GetWorld(),PredictParams,PredictResult);
+
+	UGameplayStatics::PredictProjectilePath(GetWorld(), PredictParams, PredictResult);
 
 	const FVector HitLocation = PredictResult.HitResult.Location;
 	const bool bValidHit = PredictResult.HitResult.IsValidBlockingHit();
 	// check if this is a valid location to move to
-	
-	FVector OutLocation;	
+
+	FVector OutLocation;
 	const bool bValidProjection = IsValidTeleportLocation(PredictResult.HitResult, OutLocation);
-	
+
 	if (bUseNavMesh)
 	{
 		FinalTeleportLocation = OutLocation;
@@ -138,7 +138,7 @@ void UTeleportationComponent::UpdateTeleportTrace(const FInputActionValue& Value
 			TeleportVisualizer->SetActorHiddenInGame(false);
 			// update location
 			TeleportVisualizer->SetActorLocation(FinalTeleportLocation);
-		} 
+		}
 	}
 
 	TArray<FVector> PathPoints;
@@ -147,7 +147,8 @@ void UTeleportationComponent::UpdateTeleportTrace(const FInputActionValue& Value
 	{
 		PathPoints.Add(PData.Location);
 	}
-	UNiagaraDataInterfaceArrayFunctionLibrary::SetNiagaraArrayVector(TeleportTraceComponent,FName("User.PointArray"),PathPoints);
+	UNiagaraDataInterfaceArrayFunctionLibrary::SetNiagaraArrayVector(TeleportTraceComponent, FName("User.PointArray"),
+	                                                                 PathPoints);
 }
 
 bool UTeleportationComponent::IsValidTeleportLocation(const FHitResult& Hit, FVector& ProjectedLocation) const
@@ -155,7 +156,8 @@ bool UTeleportationComponent::IsValidTeleportLocation(const FHitResult& Hit, FVe
 	UNavigationSystemV1* NavSys = FNavigationSystem::GetCurrent<UNavigationSystemV1>(GetWorld());
 	const FNavAgentProperties& AgentProps = FNavAgentProperties(15, 160);
 	FNavLocation ProjectedNavLocation;
-	const bool bProjectPoint = (NavSys && NavSys->ProjectPointToNavigation(Hit.Location, ProjectedNavLocation, INVALID_NAVEXTENT, &AgentProps));
+	const bool bProjectPoint = (NavSys && NavSys->ProjectPointToNavigation(
+		Hit.Location, ProjectedNavLocation, INVALID_NAVEXTENT, &AgentProps));
 	ProjectedLocation = ProjectedNavLocation.Location;
 	return bProjectPoint /*&& Hit.IsValidBlockingHit()*/;
 }
@@ -169,8 +171,7 @@ void UTeleportationComponent::OnEndTeleportTrace(const FInputActionValue& Value)
 	bTeleportTraceActive = false;
 	TeleportTraceComponent->SetVisibility(false);
 	TeleportVisualizer->SetActorHiddenInGame(true);
-	
+
 	bValidTeleportLocation = false;
 	VRPawn->TeleportTo(FinalTeleportLocation, VRPawn->GetActorRotation());
 }
-
diff --git a/Source/RWTHVRToolkit/Private/Pawn/VRPawnMovement.cpp b/Source/RWTHVRToolkit/Private/Pawn/VRPawnMovement.cpp
index c844af969cfa1a89cee1198b2423c9f34d869113..4b4b81900ca5db47788fa3e6de8c4eafc7260492 100644
--- a/Source/RWTHVRToolkit/Private/Pawn/VRPawnMovement.cpp
+++ b/Source/RWTHVRToolkit/Private/Pawn/VRPawnMovement.cpp
@@ -1,5 +1,4 @@
-
-#include "Pawn/VRPawnMovement.h"
+#include "Pawn/VRPawnMovement.h"
 #include "DrawDebugHelpers.h"
 #include "Kismet/KismetSystemLibrary.h"
 
@@ -10,7 +9,8 @@ UVRPawnMovement::UVRPawnMovement(const FObjectInitializer& ObjectInitializer) :
 	CapsuleColliderComponent = CreateDefaultSubobject<UCapsuleComponent>(TEXT("CapsuleCollider"));
 	CapsuleColliderComponent->SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics);
 	CapsuleColliderComponent->SetCollisionResponseToAllChannels(ECollisionResponse::ECR_Overlap);
-	CapsuleColliderComponent->SetCollisionResponseToChannel(ECollisionChannel::ECC_WorldStatic, ECollisionResponse::ECR_Block);
+	CapsuleColliderComponent->SetCollisionResponseToChannel(ECollisionChannel::ECC_WorldStatic,
+	                                                        ECollisionResponse::ECR_Block);
 	CapsuleColliderComponent->SetCapsuleSize(CapsuleRadius, 80.0f);
 
 	//set some defaults for the UFloatingPawnMovement component, which are more reasonable for usage in VR
@@ -23,14 +23,15 @@ void UVRPawnMovement::BeginPlay()
 {
 	Super::BeginPlay();
 	LastCollisionFreeCapsulePosition = CapsuleColliderComponent->GetComponentLocation();
-	LastSteeringCollisionVector = FVector(0,0,0);
+	LastSteeringCollisionVector = FVector(0, 0, 0);
 
-	ActorsToIgnore = { GetOwner() };
+	ActorsToIgnore = {GetOwner()};
 }
 
 
-void UVRPawnMovement::TickComponent(float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction){
-
+void UVRPawnMovement::TickComponent(float DeltaTime, enum ELevelTick TickType,
+                                    FActorComponentTickFunction* ThisTickFunction)
+{
 	SetCapsuleColliderToUserSize();
 
 	FVector InputVector = GetPendingInputVector();
@@ -49,12 +50,13 @@ void UVRPawnMovement::TickComponent(float DeltaTime, enum ELevelTick TickType, F
 	CheckAndRevertCollisionSinceLastTick();
 	//check whether we are still in collision e.g. if an object has moved and got us into collision
 	MoveOutOfNewDynamicCollisions();
-	
-	if(NavigationMode == EVRNavigationModes::NAV_FLY || NavigationMode == EVRNavigationModes::NAV_WALK)
+
+	if (NavigationMode == EVRNavigationModes::NAV_FLY || NavigationMode == EVRNavigationModes::NAV_WALK)
 	{
-		if(InputVector.Size() > 0.001){
+		if (InputVector.Size() > 0.001)
+		{
 			const FVector SafeSteeringInput = GetCollisionSafeVirtualSteeringVec(InputVector, DeltaTime);
-			if(SafeSteeringInput != InputVector)
+			if (SafeSteeringInput != InputVector)
 			{
 				// if we would move into something if we apply this input (estimating distance by max speed)
 				// we only apply its perpendicular part (unless it is facing away from the collision)
@@ -71,7 +73,7 @@ void UVRPawnMovement::TickComponent(float DeltaTime, enum ELevelTick TickType, F
 		CheckForPhysWalkingCollision();
 	}
 
-	if(NavigationMode == EVRNavigationModes::NAV_NONE)
+	if (NavigationMode == EVRNavigationModes::NAV_NONE)
 	{
 		//just remove whatever input is there
 		ConsumeInputVector();
@@ -86,12 +88,11 @@ void UVRPawnMovement::SetHeadComponent(USceneComponent* NewHeadComponent)
 	CapsuleColliderComponent->SetupAttachment(HeadComponent);
 	const float HalfHeight = 80.0f; //this is just an initial value to look good in editor
 	CapsuleColliderComponent->SetCapsuleSize(CapsuleRadius, HalfHeight);
-	CapsuleColliderComponent->SetWorldLocation(FVector(0.0f, 0.0f,-HalfHeight));
+	CapsuleColliderComponent->SetWorldLocation(FVector(0.0f, 0.0f, -HalfHeight));
 }
 
-void UVRPawnMovement::SetCapsuleColliderToUserSize()
+void UVRPawnMovement::SetCapsuleColliderToUserSize() const
 {
-
 	// the collider should be placed
 	//	between head and floor + MaxStepHeight
 	//             head
@@ -125,7 +126,8 @@ void UVRPawnMovement::SetCapsuleColliderToUserSize()
 			CapsuleColliderComponent->SetCapsuleSize(CapsuleRadius, ColliderHalfHeight);
 		}
 
-		CapsuleColliderComponent->SetWorldLocation(HeadComponent->GetComponentLocation() - FVector(0, 0, ColliderHalfHeight));
+		CapsuleColliderComponent->SetWorldLocation(
+			HeadComponent->GetComponentLocation() - FVector(0, 0, ColliderHalfHeight));
 	}
 	else
 	{
@@ -165,15 +167,14 @@ void UVRPawnMovement::CheckForPhysWalkingCollision()
 	//if this was not possible move the entire pawn away to avoid the head collision
 	if (HitResult.bBlockingHit)
 	{
-		const FVector MoveOutVector = HitResult.Location-CapsuleLocation;
+		const FVector MoveOutVector = HitResult.Location - CapsuleLocation;
 		//move it out twice as far, to avoid getting stuck situations
-		UpdatedComponent->AddWorldOffset(2*MoveOutVector);
+		UpdatedComponent->AddWorldOffset(2 * MoveOutVector);
 	}
 }
 
 FVector UVRPawnMovement::GetCollisionSafeVirtualSteeringVec(FVector InputVector, float DeltaTime)
 {
-
 	const float SafetyFactor = 3.0f; //so we detect collision a bit earlier
 	const FVector CapsuleLocation = CapsuleColliderComponent->GetComponentLocation();
 	FVector ProbePosition = SafetyFactor * InputVector.GetSafeNormal() * GetMaxSpeed() * DeltaTime + CapsuleLocation;
@@ -188,7 +189,7 @@ FVector UVRPawnMovement::GetCollisionSafeVirtualSteeringVec(FVector InputVector,
 	FVector CollisionVector = TraceResult.Location - CapsuleLocation;
 
 	//sometimes (if by chance we already moved into collision entirely CollisionVector is 0
-	if(!CollisionVector.Normalize())
+	if (!CollisionVector.Normalize())
 	{
 		//then we probably start already in collision, so we use the last one
 		CollisionVector = LastSteeringCollisionVector;
@@ -199,8 +200,8 @@ FVector UVRPawnMovement::GetCollisionSafeVirtualSteeringVec(FVector InputVector,
 	}
 
 	FVector SafeInput = InputVector;
-	const float DotProduct =  FVector::DotProduct(InputVector, CollisionVector);
-	if(DotProduct>0.0f)
+	const float DotProduct = FVector::DotProduct(InputVector, CollisionVector);
+	if (DotProduct > 0.0f)
 	{
 		// only keep perpendicular part of the input vector (remove anything towards hit)
 		SafeInput -= DotProduct * CollisionVector;
@@ -212,36 +213,36 @@ void UVRPawnMovement::MoveByGravityOrStepUp(float DeltaSeconds)
 {
 	const FVector DownTraceStart = CapsuleColliderComponent->GetComponentLocation();
 	const float DownTraceDist = MaxFallingDepth < 0.0f ? 1000.0f : MaxFallingDepth;
-	const FVector DownTraceDir = FVector(0,0,-1);
+	const FVector DownTraceDir = FVector(0, 0, -1);
 	const FVector DownTraceEnd = DownTraceStart + DownTraceDist * DownTraceDir;
 
 	const FHitResult DownTraceHitResult = CreateCapsuleTrace(DownTraceStart, DownTraceEnd);
 	float HeightDifference = 0.0f;
 
-	if(DownTraceHitResult.bBlockingHit)
+	if (DownTraceHitResult.bBlockingHit)
 	{
 		HeightDifference = DownTraceHitResult.ImpactPoint.Z - UpdatedComponent->GetComponentLocation().Z;
 		//so for HeightDifference>0, we have to move the pawn up; for HeightDifference<0 we have to move it down
 	}
 
 	//Going up (in Fly and Walk Mode)
-	if (HeightDifference>0.0f && HeightDifference<=MaxStepHeight)
+	if (HeightDifference > 0.0f && HeightDifference <= MaxStepHeight)
 	{
 		ShiftVertically(HeightDifference, UpSteppingAcceleration, DeltaSeconds);
 	}
 
-	if(NavigationMode!=EVRNavigationModes::NAV_WALK)
+	if (NavigationMode != EVRNavigationModes::NAV_WALK)
 	{
 		return;
 	}
 
-	if(!DownTraceHitResult.bBlockingHit && MaxFallingDepth<0.0f)
+	if (!DownTraceHitResult.bBlockingHit && MaxFallingDepth < 0.0f)
 	{
 		HeightDifference = -1000.0f; //just fall
 	}
 
 	//Gravity (only in Walk Mode)
-	if (HeightDifference<0.0f)
+	if (HeightDifference < 0.0f)
 	{
 		ShiftVertically(HeightDifference, GravityAcceleration, DeltaSeconds);
 	}
@@ -250,25 +251,28 @@ void UVRPawnMovement::MoveByGravityOrStepUp(float DeltaSeconds)
 void UVRPawnMovement::ShiftVertically(float Distance, float VerticalAcceleration, float DeltaSeconds)
 {
 	VerticalSpeed += VerticalAcceleration * DeltaSeconds;
-	if (abs(VerticalSpeed*DeltaSeconds) < abs(Distance))
+	if (abs(VerticalSpeed * DeltaSeconds) < abs(Distance))
 	{
-		UpdatedComponent->AddWorldOffset(FVector(0.f, 0.f,  VerticalSpeed * DeltaSeconds));
+		UpdatedComponent->AddWorldOffset(FVector(0.f, 0.f, VerticalSpeed * DeltaSeconds));
 	}
 	else
 	{
-		UpdatedComponent->AddWorldOffset(FVector(0.f, 0.f,  Distance));
+		UpdatedComponent->AddWorldOffset(FVector(0.f, 0.f, Distance));
 		VerticalSpeed = 0;
 	}
 }
 
-FHitResult UVRPawnMovement::CreateCapsuleTrace(const FVector Start, FVector End, bool DrawDebug)
+FHitResult UVRPawnMovement::CreateCapsuleTrace(const FVector& Start, const FVector& End, const bool DrawDebug) const
 {
 	const EDrawDebugTrace::Type DrawType = DrawDebug ? EDrawDebugTrace::Type::ForDuration : EDrawDebugTrace::Type::None;
 
 	//UE_LOG(LogTemp, Warning, TEXT("Capsule from %s to %s"), *Start.ToString(), *End.ToString())
 
 	FHitResult Hit;
-	UKismetSystemLibrary::CapsuleTraceSingle(GetWorld(), Start, End, CapsuleColliderComponent->GetScaledCapsuleRadius(), CapsuleColliderComponent->GetScaledCapsuleHalfHeight(), UEngineTypes::ConvertToTraceType(ECollisionChannel::ECC_Visibility), true, ActorsToIgnore, DrawType, Hit, true);
+	UKismetSystemLibrary::CapsuleTraceSingle(GetWorld(), Start, End, CapsuleColliderComponent->GetScaledCapsuleRadius(),
+	                                         CapsuleColliderComponent->GetScaledCapsuleHalfHeight(),
+	                                         UEngineTypes::ConvertToTraceType(ECollisionChannel::ECC_Visibility), true,
+	                                         ActorsToIgnore, DrawType, Hit, true);
 	return Hit;
 }
 
@@ -277,15 +281,19 @@ FVector UVRPawnMovement::GetOverlapResolveDirection()
 	TArray<UPrimitiveComponent*> OverlappingComponents;
 	TArray<TEnumAsByte<EObjectTypeQuery>> traceObjectTypes;
 	traceObjectTypes.Add(UEngineTypes::ConvertToObjectType(ECollisionChannel::ECC_Visibility));
-	UKismetSystemLibrary::CapsuleOverlapComponents(GetWorld(), CapsuleColliderComponent->GetComponentLocation(), CapsuleColliderComponent->GetScaledCapsuleRadius(), CapsuleColliderComponent->GetScaledCapsuleHalfHeight(), traceObjectTypes, nullptr, ActorsToIgnore, OverlappingComponents);
+	UKismetSystemLibrary::CapsuleOverlapComponents(GetWorld(), CapsuleColliderComponent->GetComponentLocation(),
+	                                               CapsuleColliderComponent->GetScaledCapsuleRadius(),
+	                                               CapsuleColliderComponent->GetScaledCapsuleHalfHeight(),
+	                                               traceObjectTypes, nullptr, ActorsToIgnore, OverlappingComponents);
 
 	FVector ResolveVector = FVector::ZeroVector;
 
 	//check what to do to move out of these collisions (or nothing if non is there)
 	//we just add the penetrations so in very unfortunate conditions this can become problematic/blocking but for now and our regular use cases this works
-	for(const UPrimitiveComponent* OverlappingComp : OverlappingComponents)
+	for (const UPrimitiveComponent* OverlappingComp : OverlappingComponents)
 	{
-		FHitResult Hit = CreateCapsuleTrace(CapsuleColliderComponent->GetComponentLocation(), OverlappingComp->GetComponentLocation(), false);
+		FHitResult Hit = CreateCapsuleTrace(CapsuleColliderComponent->GetComponentLocation(),
+		                                    OverlappingComp->GetComponentLocation(), false);
 		ResolveVector += Hit.ImpactNormal * Hit.PenetrationDepth;
 	}
 	return ResolveVector;
diff --git a/Source/RWTHVRToolkit/Private/RWTHVRToolkit.cpp b/Source/RWTHVRToolkit/Private/RWTHVRToolkit.cpp
index c335e156518151ccef60a186e8a4bc67b0c55903..6e2fa82b1da92fe488f05da6c86441fe03607b66 100644
--- a/Source/RWTHVRToolkit/Private/RWTHVRToolkit.cpp
+++ b/Source/RWTHVRToolkit/Private/RWTHVRToolkit.cpp
@@ -2,18 +2,18 @@
 
 #define LOCTEXT_NAMESPACE "FRWTHVRToolkitModule"
 
-void FRWTHVRToolkitModule::StartupModule ()
+void FRWTHVRToolkitModule::StartupModule()
 {
-
 	IModularFeatures& ModularFeatures = IModularFeatures::Get();
 	if (ModularFeatures.IsModularFeatureAvailable(ILiveLinkClient::ModularFeatureName))
 	{
-		FLiveLinkClient* LiveLinkClient = static_cast<FLiveLinkClient*>(&IModularFeatures::Get().GetModularFeature<ILiveLinkClient>(
+		FLiveLinkClient* LiveLinkClient = static_cast<FLiveLinkClient*>(&IModularFeatures::Get().GetModularFeature<
+			ILiveLinkClient>(
 			ILiveLinkClient::ModularFeatureName));
 		LiveLinkMotionController = MakeUnique<FLiveLinkMotionControllerFix>(*LiveLinkClient);
 		LiveLinkMotionController->RegisterController();
 	}
-	
+
 	ConsoleActivation.Register();
 }
 
@@ -24,7 +24,6 @@ void FRWTHVRToolkitModule::ShutdownModule()
 		LiveLinkMotionController->UnregisterController();
 }
 
-
 #undef LOCTEXT_NAMESPACE
 
-IMPLEMENT_MODULE(FRWTHVRToolkitModule, RWTHVRToolkit)
\ No newline at end of file
+IMPLEMENT_MODULE(FRWTHVRToolkitModule, RWTHVRToolkit)
diff --git a/Source/RWTHVRToolkit/Private/UI/ExternalImage.cpp b/Source/RWTHVRToolkit/Private/UI/ExternalImage.cpp
index 07a57faa467f667e2e7dd9eec3bf1a52391f6909..378aa32524b650e036b9e44637ea9f139c0d642e 100644
--- a/Source/RWTHVRToolkit/Private/UI/ExternalImage.cpp
+++ b/Source/RWTHVRToolkit/Private/UI/ExternalImage.cpp
@@ -1,43 +1,45 @@
 #include "UI/ExternalImage.h"
 
-#include "Interfaces/IHttpResponse.h"
 #include "HttpModule.h"
+#include "Interfaces/IHttpResponse.h"
 #include "Misc/FileHelper.h"
 #include "Runtime/ImageWrapper/Public/IImageWrapperModule.h"
 
-UExternalImage::UExternalImage(){}
+UExternalImage::UExternalImage()
+{
+}
 
 void UExternalImage::LoadImageFromURL(const FString& ImageURL)
 {
-    const TFunction<void()> LoadingCallback = [this]()
-    {
-        if (LoadCompressedDataIntoTexture2D(CompressedData, NewTexture))
-        {
-            UImage::SetBrushFromTexture(NewTexture, true);
-        }
+	const TFunction<void()> LoadingCallback = [this]()
+	{
+		if (LoadCompressedDataIntoTexture2D(CompressedData, NewTexture))
+		{
+			UImage::SetBrushFromTexture(NewTexture, true);
+		}
 
-        CompressedData.Empty();
-    };
+		CompressedData.Empty();
+	};
 
-    if (FPaths::FileExists(ImageURL))
-    {
-        LoadDataFromFile(ImageURL, CompressedData, LoadingCallback);
-    }
-    else
-    {
-        LoadDataFromURL(ImageURL, CompressedData, LoadingCallback);
-    }
+	if (FPaths::FileExists(ImageURL))
+	{
+		LoadDataFromFile(ImageURL, CompressedData, LoadingCallback);
+	}
+	else
+	{
+		LoadDataFromURL(ImageURL, CompressedData, LoadingCallback);
+	}
 }
 
 bool UExternalImage::LoadCompressedDataIntoTexture2D(const TArray<uint8>& InCompressedData, UTexture2D*& OutTexture)
 {
-    TSharedPtr<IImageWrapper> ImageWrapper;
-    TArray<uint8> UncompressedRGBA;
+	TSharedPtr<IImageWrapper> ImageWrapper;
+	TArray<uint8> UncompressedRGBA;
 
-    /* Detect Format */
-    IImageWrapperModule& Module = FModuleManager::LoadModuleChecked<IImageWrapperModule>(FName("ImageWrapper"));
+	/* Detect Format */
+	IImageWrapperModule& Module = FModuleManager::LoadModuleChecked<IImageWrapperModule>(FName("ImageWrapper"));
 	const EImageFormat DetectedFormat = Module.DetectImageFormat(InCompressedData.GetData(), InCompressedData.Num());
-    if (DetectedFormat != EImageFormat::Invalid)
+	if (DetectedFormat != EImageFormat::Invalid)
 	{
 		ImageWrapper = Module.CreateImageWrapper(DetectedFormat);
 	}
@@ -47,56 +49,60 @@ bool UExternalImage::LoadCompressedDataIntoTexture2D(const TArray<uint8>& InComp
 		return false;
 	}
 
-    /* Decompress Data */
-    if (!ImageWrapper.IsValid() || !ImageWrapper->SetCompressed(InCompressedData.GetData(), InCompressedData.Num()))
-    {
-        UE_LOG(LogTemp, Warning, TEXT("UExternalyLoadedImage is not able to decompress the image."));
-        return false;
-    }
+	/* Decompress Data */
+	if (!ImageWrapper.IsValid() || !ImageWrapper->SetCompressed(InCompressedData.GetData(), InCompressedData.Num()))
+	{
+		UE_LOG(LogTemp, Warning, TEXT("UExternalyLoadedImage is not able to decompress the image."));
+		return false;
+	}
 
-    /* Write out data into decompressed array
-     * Must be in BGRA channel format, otherwise the jpg format file cannot be loaded correctly */
-    if (!ImageWrapper->GetRaw(ERGBFormat::BGRA, 8, UncompressedRGBA))
-    {
-        UE_LOG(LogTemp, Warning, TEXT("UExternalyLoadedImage is not able to write out the decompressed image."));
-        return false;
-    }
+	/* Write out data into decompressed array
+	 * Must be in BGRA channel format, otherwise the jpg format file cannot be loaded correctly */
+	if (!ImageWrapper->GetRaw(ERGBFormat::BGRA, 8, UncompressedRGBA))
+	{
+		UE_LOG(LogTemp, Warning, TEXT("UExternalyLoadedImage is not able to write out the decompressed image."));
+		return false;
+	}
 
-    OutTexture = UTexture2D::CreateTransient(ImageWrapper->GetWidth(), ImageWrapper->GetHeight(), PF_B8G8R8A8);
-    if (OutTexture)
-    {
-        void* TextureData = OutTexture->GetPlatformData()->Mips[0].BulkData.Lock(LOCK_READ_WRITE);
-        FMemory::Memcpy(TextureData, UncompressedRGBA.GetData(), UncompressedRGBA.Num());
-        OutTexture->GetPlatformData()->Mips[0].BulkData.Unlock();
-        OutTexture->UpdateResource();
-    }
-    return true;
+	OutTexture = UTexture2D::CreateTransient(ImageWrapper->GetWidth(), ImageWrapper->GetHeight(), PF_B8G8R8A8);
+	if (OutTexture)
+	{
+		void* TextureData = OutTexture->GetPlatformData()->Mips[0].BulkData.Lock(LOCK_READ_WRITE);
+		FMemory::Memcpy(TextureData, UncompressedRGBA.GetData(), UncompressedRGBA.Num());
+		OutTexture->GetPlatformData()->Mips[0].BulkData.Unlock();
+		OutTexture->UpdateResource();
+	}
+	return true;
 }
 
-void UExternalImage::LoadDataFromURL(const FString& ImageURL, TArray<uint8>& OutCompressedData, TFunction<void()> OnSuccessCallback)
+void UExternalImage::LoadDataFromURL(const FString& ImageURL, TArray<uint8>& OutCompressedData,
+                                     TFunction<void()> OnSuccessCallback)
 {
-    TSharedRef<IHttpRequest, ESPMode::ThreadSafe> Request = FHttpModule::Get().CreateRequest();
+	TSharedRef<IHttpRequest, ESPMode::ThreadSafe> Request = FHttpModule::Get().CreateRequest();
 
-	Request->OnProcessRequestComplete().BindLambda([OnSuccessCallback, &OutCompressedData](FHttpRequestPtr Request, FHttpResponsePtr Response, bool)
-	{
-		if (Response.IsValid() && EHttpResponseCodes::IsOk(Response->GetResponseCode()))
+	Request->OnProcessRequestComplete().BindLambda(
+		[OnSuccessCallback, &OutCompressedData](FHttpRequestPtr Request, FHttpResponsePtr Response, bool)
 		{
-            OutCompressedData.Empty();
-            OutCompressedData.Append(Response->GetContent());
-			OnSuccessCallback();
-		}
-		else
-		{
-			UE_LOG(LogTemp, Log, TEXT("UExternalyLoadedImage Request unsucessful (%d): %s"), Response->GetResponseCode(), *Request->GetURL());
-		}
-	});
+			if (Response.IsValid() && EHttpResponseCodes::IsOk(Response->GetResponseCode()))
+			{
+				OutCompressedData.Empty();
+				OutCompressedData.Append(Response->GetContent());
+				OnSuccessCallback();
+			}
+			else
+			{
+				UE_LOG(LogTemp, Log, TEXT("UExternalyLoadedImage Request unsucessful (%d): %s"),
+				       Response->GetResponseCode(), *Request->GetURL());
+			}
+		});
 
 	Request->SetVerb("GET");
 	Request->SetURL(ImageURL);
 	Request->ProcessRequest();
 }
 
-void UExternalImage::LoadDataFromFile(const FString& ImagePath, TArray<uint8>& OutCompressedData, TFunction<void()> OnSuccessCallback)
+void UExternalImage::LoadDataFromFile(const FString& ImagePath, TArray<uint8>& OutCompressedData,
+                                      TFunction<void()> OnSuccessCallback)
 {
-    if(FFileHelper::LoadFileToArray(OutCompressedData, *ImagePath)) OnSuccessCallback();
+	if (FFileHelper::LoadFileToArray(OutCompressedData, *ImagePath)) OnSuccessCallback();
 }
diff --git a/Source/RWTHVRToolkit/Private/Utility/VirtualRealityUtilities.cpp b/Source/RWTHVRToolkit/Private/Utility/VirtualRealityUtilities.cpp
index 2445cacade32d34f6ca149af691255c6ee81d605..5653faff3662a212542df88aa979b938bbbfa5fe 100644
--- a/Source/RWTHVRToolkit/Private/Utility/VirtualRealityUtilities.cpp
+++ b/Source/RWTHVRToolkit/Private/Utility/VirtualRealityUtilities.cpp
@@ -1,24 +1,21 @@
 #include "Utility/VirtualRealityUtilities.h"
 
 #if PLATFORM_SUPPORTS_NDISPLAY
-    #include "Cluster/IDisplayClusterClusterManager.h"
-    #include "Components/DisplayClusterCameraComponent.h"
-    #include "Config/IDisplayClusterConfigManager.h"
-    #include "DisplayClusterRootActor.h"
-    #include "DisplayClusterConfigurationTypes.h"
-    #include "Game/IDisplayClusterGameManager.h"
-    #include "IDisplayCluster.h"
+#include "DisplayClusterConfigurationTypes.h"
+#include "DisplayClusterRootActor.h"
+#include "IDisplayCluster.h"
+#include "Cluster/IDisplayClusterClusterManager.h"
+#include "Components/DisplayClusterCameraComponent.h"
+#include "Config/IDisplayClusterConfigManager.h"
+#include "Game/IDisplayClusterGameManager.h"
 #endif
 
-#include "Engine/Engine.h"
-#include "IXRTrackingSystem.h"
-#include "IHeadMountedDisplay.h"
 #include "AudioDevice.h"
-#include "EnhancedInputComponent.h"
-#include "EnhancedInputSubsystems.h"
+#include "IHeadMountedDisplay.h"
+#include "IXRTrackingSystem.h"
+#include "Engine/Engine.h"
 #include "Engine/LocalPlayer.h"
 #include "Kismet/GameplayStatics.h"
-#include "Pawn/VirtualRealityPawn.h"
 
 
 DEFINE_LOG_CATEGORY(Toolkit);
@@ -47,8 +44,8 @@ bool UVirtualRealityUtilities::IsHeadMountedMode()
 bool UVirtualRealityUtilities::IsCave()
 {
 #if PLATFORM_SUPPORTS_NDISPLAY
-	if(!IsRoomMountedMode()) return false;
-	
+	if (!IsRoomMountedMode()) return false;
+
 	const UDisplayClusterConfigurationData* ClusterConfig = IDisplayCluster::Get().GetConfigMgr()->GetConfig();
 	return ClusterConfig->CustomParameters.Contains("Hardware_Platform")
 		&& ClusterConfig->CustomParameters.Find("Hardware_Platform")->Equals("aixcave", ESearchCase::IgnoreCase);
@@ -60,11 +57,12 @@ bool UVirtualRealityUtilities::IsCave()
 bool UVirtualRealityUtilities::IsTdw()
 {
 #if PLATFORM_SUPPORTS_NDISPLAY
-	if(!IsRoomMountedMode()) return false;
-	
+	if (!IsRoomMountedMode()) return false;
+
 	const UDisplayClusterConfigurationData* ClusterConfig = IDisplayCluster::Get().GetConfigMgr()->GetConfig();
 	return ClusterConfig->CustomParameters.Contains("Hardware_Platform")
-		&& ClusterConfig->CustomParameters.Find("Hardware_Platform")->Equals("TiledDisplayWall", ESearchCase::IgnoreCase);
+		&& ClusterConfig->CustomParameters.Find("Hardware_Platform")->Equals(
+			"TiledDisplayWall", ESearchCase::IgnoreCase);
 #else
 	return false;
 #endif
@@ -73,8 +71,8 @@ bool UVirtualRealityUtilities::IsTdw()
 bool UVirtualRealityUtilities::IsRolv()
 {
 #if PLATFORM_SUPPORTS_NDISPLAY
-	if(!IsRoomMountedMode()) return false;
-	
+	if (!IsRoomMountedMode()) return false;
+
 	const UDisplayClusterConfigurationData* ClusterConfig = IDisplayCluster::Get().GetConfigMgr()->GetConfig();
 	return ClusterConfig->CustomParameters.Contains("Hardware_Platform")
 		&& ClusterConfig->CustomParameters.Find("Hardware_Platform")->Equals("ROLV", ESearchCase::IgnoreCase);
@@ -87,7 +85,7 @@ bool UVirtualRealityUtilities::IsRolv()
 bool UVirtualRealityUtilities::IsMaster()
 {
 #if PLATFORM_SUPPORTS_NDISPLAY
-	if (!IDisplayCluster::IsAvailable()) 
+	if (!IDisplayCluster::IsAvailable())
 	{
 		return true;
 	}
@@ -118,15 +116,15 @@ FString UVirtualRealityUtilities::GetNodeName()
 
 float UVirtualRealityUtilities::GetEyeDistance()
 {
-	if(IsHeadMountedMode())
+	if (IsHeadMountedMode())
 	{
-	    return GEngine->XRSystem->GetHMDDevice()->GetInterpupillaryDistance();
+		return GEngine->XRSystem->GetHMDDevice()->GetInterpupillaryDistance();
 	}
-    else
+	else
 	{
 #if PLATFORM_SUPPORTS_NDISPLAY
-	    ADisplayClusterRootActor* RootActor = IDisplayCluster::Get().GetGameMgr()->GetRootActor();
-	    return (RootActor) ? RootActor->GetDefaultCamera()->GetInterpupillaryDistance() : 0.0f;
+		ADisplayClusterRootActor* RootActor = IDisplayCluster::Get().GetGameMgr()->GetRootActor();
+		return (RootActor) ? RootActor->GetDefaultCamera()->GetInterpupillaryDistance() : 0.0f;
 #else
 	    return 0.0f;
 #endif
@@ -137,7 +135,9 @@ EEyeStereoOffset UVirtualRealityUtilities::GetNodeEyeType()
 {
 #if PLATFORM_SUPPORTS_NDISPLAY
 	ADisplayClusterRootActor* RootActor = IDisplayCluster::Get().GetGameMgr()->GetRootActor();
-	return static_cast<EEyeStereoOffset>((RootActor) ? RootActor->GetDefaultCamera()->GetStereoOffset() : EDisplayClusterEyeStereoOffset::None);
+	return static_cast<EEyeStereoOffset>((RootActor)
+		                                     ? RootActor->GetDefaultCamera()->GetStereoOffset()
+		                                     : EDisplayClusterEyeStereoOffset::None);
 #else
 	return EDisplayClusterEyeStereoOffset::None;
 #endif
@@ -146,7 +146,7 @@ EEyeStereoOffset UVirtualRealityUtilities::GetNodeEyeType()
 USceneComponent* UVirtualRealityUtilities::GetClusterComponent(const FString& Name)
 {
 #if PLATFORM_SUPPORTS_NDISPLAY
-	ADisplayClusterRootActor* RootActor = IDisplayCluster::Get().GetGameMgr()->GetRootActor();
+	const ADisplayClusterRootActor* RootActor = IDisplayCluster::Get().GetGameMgr()->GetRootActor();
 	return (RootActor) ? RootActor->GetComponentByName<USceneComponent>(Name) : nullptr;
 #else
 	return nullptr;
@@ -155,7 +155,7 @@ USceneComponent* UVirtualRealityUtilities::GetClusterComponent(const FString& Na
 
 USceneComponent* UVirtualRealityUtilities::GetNamedClusterComponent(const ENamedClusterComponent& Component)
 {
-	switch(Component)
+	switch (Component)
 	{
 	case ENamedClusterComponent::NCC_CAVE_ORIGIN: return GetClusterComponent("cave_origin");
 	case ENamedClusterComponent::NCC_CAVE_CENTER: return GetClusterComponent("cave_center");
@@ -169,9 +169,9 @@ USceneComponent* UVirtualRealityUtilities::GetNamedClusterComponent(const ENamed
 	case ENamedClusterComponent::NCC_CALIBRATIO: return GetClusterComponent("calibratio");
 	case ENamedClusterComponent::NCC_TRACKING_ORIGIN:
 		USceneComponent* Result;
-		if((Result = GetClusterComponent("cave_origin"))) return Result;
-		if((Result = GetClusterComponent("rolv_origin"))) return Result;
-		if((Result = GetClusterComponent("tdw_origin_floor"))) return Result;
+		if ((Result = GetClusterComponent("cave_origin"))) return Result;
+		if ((Result = GetClusterComponent("rolv_origin"))) return Result;
+		if ((Result = GetClusterComponent("tdw_origin_floor"))) return Result;
 		return nullptr;
 	default: return nullptr;
 	}
@@ -185,5 +185,4 @@ void UVirtualRealityUtilities::ShowErrorAndQuit(UWorld* WorldContext, const FStr
 	FMessageDialog::Open(EAppMsgType::Ok, FText::FromString(Message), Title);
 #endif
 	UKismetSystemLibrary::QuitGame(WorldContext, nullptr, EQuitPreference::Quit, false);
-
 }
diff --git a/Source/RWTHVRToolkit/Public/Core/ClientTransformReplication.h b/Source/RWTHVRToolkit/Public/Core/ClientTransformReplication.h
index 347a8335a55f42b7b58e79a8ee293c0d7c700515..472a4f4581a2a37ba03b47403ef582bac31d4ac1 100644
--- a/Source/RWTHVRToolkit/Public/Core/ClientTransformReplication.h
+++ b/Source/RWTHVRToolkit/Public/Core/ClientTransformReplication.h
@@ -11,7 +11,7 @@
 /*
 * Simple Client Transform Replication Component. Replicates the owning actor's root transform from owning client to server,
 * from there to all other clients.
-*/	
+*/
 UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
 class RWTHVRTOOLKIT_API UClientTransformReplication : public UActorComponent
 {
@@ -21,7 +21,6 @@ public:
 	UClientTransformReplication();
 
 protected:
-	
 	/*
 	* For now, replicate in a naive sending every x ms if the transform has changed.
 	* This is way overkill, as we should only be sending input. However, I am not yet fully sure how
@@ -29,14 +28,15 @@ protected:
 	* As this modifies only the tracking origin, latency should not be that much of an issue, so theoretically
 	* Server-Authority should work here too, in which case we'd just send the x and y input.
 	* Try both ways.
-	*/	
-	
+	*/
+
 	/////////////////////////////////////////////////////////////////////////////////////////////////////
 	// Full transform update replication
 	/////////////////////////////////////////////////////////////////////////////////////////////////////
 
 	// Rate to update the position to the server, 100htz is default (same as replication rate, should also hit every tick).
-	UPROPERTY(EditAnywhere, BlueprintReadWrite, Replicated, Category = "Networking", meta = (ClampMin = "0", UIMin = "0"))
+	UPROPERTY(EditAnywhere, BlueprintReadWrite, Replicated, Category = "Networking",
+		meta = (ClampMin = "0", UIMin = "0"))
 	float ControllerNetUpdateRate;
 
 	// Accumulates time until next send
diff --git a/Source/RWTHVRToolkit/Public/Core/RWTHVRGameModeBase.h b/Source/RWTHVRToolkit/Public/Core/RWTHVRGameModeBase.h
index ba4db0209058f6d813a72a26519f7f79992cba85..9e84c8aa895da5dbc1ec31f1cbdb0f95d1e3da42 100644
--- a/Source/RWTHVRToolkit/Public/Core/RWTHVRGameModeBase.h
+++ b/Source/RWTHVRToolkit/Public/Core/RWTHVRGameModeBase.h
@@ -18,5 +18,5 @@ class RWTHVRTOOLKIT_API ARWTHVRGameModeBase : public AGameModeBase
 
 protected:
 	virtual FString InitNewPlayer(APlayerController* NewPlayerController, const FUniqueNetIdRepl& UniqueId,
-		const FString& Options, const FString& Portal) override;
+	                              const FString& Options, const FString& Portal) override;
 };
diff --git a/Source/RWTHVRToolkit/Public/Core/RWTHVRPlayerState.h b/Source/RWTHVRToolkit/Public/Core/RWTHVRPlayerState.h
index 4f9cc9d5639c09587cab91c1ed0bd9dcc0bc0ec3..cc453e4ca4433fbe83f6efc926f6a817d6f30495 100644
--- a/Source/RWTHVRToolkit/Public/Core/RWTHVRPlayerState.h
+++ b/Source/RWTHVRToolkit/Public/Core/RWTHVRPlayerState.h
@@ -28,12 +28,11 @@ private:
 	void SetPlayerType(EPlayerType NewPlayerType);
 
 public:
-
 	UFUNCTION(BlueprintGetter)
 	EPlayerType GetPlayerType() const
 	{
 		return PlayerType;
-	}	
+	}
 
 	UFUNCTION(BlueprintCallable)
 	void RequestSetPlayerType(EPlayerType NewPlayerType);
@@ -41,5 +40,5 @@ public:
 	virtual void CopyProperties(APlayerState* PlayerState) override;
 	virtual void OverrideWith(APlayerState* PlayerState) override;
 
-	virtual void GetLifetimeReplicatedProps(TArray< FLifetimeProperty > & OutLifetimeProps) const override;
+	virtual void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;
 };
diff --git a/Source/RWTHVRToolkit/Public/Fixes/ActivateConsoleInShipping.h b/Source/RWTHVRToolkit/Public/Fixes/ActivateConsoleInShipping.h
index ae67362545450edba46a852c9d318cf1cf073c19..140b05449e0b4dce98499a4190151a060e6e80fa 100644
--- a/Source/RWTHVRToolkit/Public/Fixes/ActivateConsoleInShipping.h
+++ b/Source/RWTHVRToolkit/Public/Fixes/ActivateConsoleInShipping.h
@@ -14,7 +14,7 @@ struct RWTHVRTOOLKIT_API FActivateConsoleInShipping
 
 	void Register();
 	void Unregister() const;
-	
+
 private:
 	void OnSessionStart(UWorld*, const UWorld::InitializationValues) const;
 
diff --git a/Source/RWTHVRToolkit/Public/Fixes/LiveLinkMotionControllerFix.h b/Source/RWTHVRToolkit/Public/Fixes/LiveLinkMotionControllerFix.h
index 208a0ad0d52eb3a99e1437bf0c8088f038862921..ad6e78c1e0e421bfa46de8ddac047db8f8c25aa3 100644
--- a/Source/RWTHVRToolkit/Public/Fixes/LiveLinkMotionControllerFix.h
+++ b/Source/RWTHVRToolkit/Public/Fixes/LiveLinkMotionControllerFix.h
@@ -33,7 +33,10 @@ class FLiveLinkMotionControllerFix : public IMotionController
 		// MotionSource name for interacting with Motion Controller system
 		FName MotionSource;
 
-		FLiveLinkMotionControllerEnumeratedSource(const FLiveLinkSubjectKey& Key, FName MotionSourceName) : SubjectKey(Key), MotionSource(MotionSourceName) {}
+		FLiveLinkMotionControllerEnumeratedSource(const FLiveLinkSubjectKey& Key, FName MotionSourceName) :
+			SubjectKey(Key), MotionSource(MotionSourceName)
+		{
+		}
 	};
 
 	// Built array of Live Link Sources to give to Motion Controller system
@@ -41,9 +44,10 @@ class FLiveLinkMotionControllerFix : public IMotionController
 
 public:
 	FLiveLinkMotionControllerFix(FLiveLinkClient& InClient) : Client(InClient)
-	{ 
+	{
 		BuildSourceData();
-		OnSubjectsChangedHandle = Client.OnLiveLinkSubjectsChanged().AddRaw(this, &FLiveLinkMotionControllerFix::OnSubjectsChangedHandler);
+		OnSubjectsChangedHandle = Client.OnLiveLinkSubjectsChanged().AddRaw(
+			this, &FLiveLinkMotionControllerFix::OnSubjectsChangedHandler);
 		WildcardSource = FGuid::NewGuid();
 	}
 
@@ -63,14 +67,17 @@ public:
 		IModularFeatures::Get().UnregisterModularFeature(GetModularFeatureName(), this);
 	}
 
-	virtual bool GetControllerOrientationAndPosition(const int32 ControllerIndex, const FName MotionSource, FRotator& OutOrientation, FVector& OutPosition, float) const override
+	virtual bool GetControllerOrientationAndPosition(const int32 ControllerIndex, const FName MotionSource,
+	                                                 FRotator& OutOrientation, FVector& OutPosition,
+	                                                 float) const override
 	{
 		FLiveLinkSubjectKey SubjectKey = GetSubjectKeyFromMotionSource(MotionSource);
 
 		FLiveLinkSubjectFrameData FrameData;
 		if (Client.EvaluateFrame_AnyThread(SubjectKey.SubjectName, ULiveLinkTransformRole::StaticClass(), FrameData))
 		{
-			if (FLiveLinkTransformFrameData* TransformFrameData = FrameData.FrameData.Cast<FLiveLinkTransformFrameData>())
+			if (FLiveLinkTransformFrameData* TransformFrameData = FrameData.FrameData.Cast<
+				FLiveLinkTransformFrameData>())
 			{
 				OutPosition = TransformFrameData->Transform.GetLocation();
 				OutOrientation = TransformFrameData->Transform.GetRotation().Rotator();
@@ -80,21 +87,39 @@ public:
 		return false;
 	}
 
-	virtual bool GetControllerOrientationAndPosition(const int32 ControllerIndex, const FName MotionSource, FRotator& OutOrientation, FVector& OutPosition, bool& OutbProvidedLinearVelocity, FVector& OutLinearVelocity, bool& OutbProvidedAngularVelocity, FVector& OutAngularVelocityAsAxisAndLength, bool& OutbProvidedLinearAcceleration, FVector& OutLinearAcceleration, float WorldToMetersScale) const override
+	virtual bool GetControllerOrientationAndPosition(const int32 ControllerIndex, const FName MotionSource,
+	                                                 FRotator& OutOrientation, FVector& OutPosition,
+	                                                 bool& OutbProvidedLinearVelocity, FVector& OutLinearVelocity,
+	                                                 bool& OutbProvidedAngularVelocity,
+	                                                 FVector& OutAngularVelocityAsAxisAndLength,
+	                                                 bool& OutbProvidedLinearAcceleration,
+	                                                 FVector& OutLinearAcceleration,
+	                                                 float WorldToMetersScale) const override
 	{
 		OutbProvidedLinearVelocity = false;
 		OutbProvidedAngularVelocity = false;
 		OutbProvidedLinearAcceleration = false;
-		return GetControllerOrientationAndPosition(ControllerIndex, MotionSource, OutOrientation, OutPosition, WorldToMetersScale);
+		return GetControllerOrientationAndPosition(ControllerIndex, MotionSource, OutOrientation, OutPosition,
+		                                           WorldToMetersScale);
 	}
-	
-	virtual bool GetControllerOrientationAndPositionForTime(const int32 ControllerIndex, const FName MotionSource, FTimespan Time, bool& OutTimeWasUsed, FRotator& OutOrientation, FVector& OutPosition, bool& OutbProvidedLinearVelocity, FVector& OutLinearVelocity, bool& OutbProvidedAngularVelocity, FVector& OutAngularVelocityAsAxisAndLength, bool& OutbProvidedLinearAcceleration, FVector& OutLinearAcceleration, float WorldToMetersScale) const override
+
+	virtual bool GetControllerOrientationAndPositionForTime(const int32 ControllerIndex, const FName MotionSource,
+	                                                        FTimespan Time, bool& OutTimeWasUsed,
+	                                                        FRotator& OutOrientation, FVector& OutPosition,
+	                                                        bool& OutbProvidedLinearVelocity,
+	                                                        FVector& OutLinearVelocity,
+	                                                        bool& OutbProvidedAngularVelocity,
+	                                                        FVector& OutAngularVelocityAsAxisAndLength,
+	                                                        bool& OutbProvidedLinearAcceleration,
+	                                                        FVector& OutLinearAcceleration,
+	                                                        float WorldToMetersScale) const override
 	{
 		OutTimeWasUsed = false;
 		OutbProvidedLinearVelocity = false;
 		OutbProvidedAngularVelocity = false;
 		OutbProvidedLinearAcceleration = false;
-		return GetControllerOrientationAndPosition(ControllerIndex, MotionSource, OutOrientation, OutPosition, WorldToMetersScale);
+		return GetControllerOrientationAndPosition(ControllerIndex, MotionSource, OutOrientation, OutPosition,
+		                                           WorldToMetersScale);
 	}
 
 	float GetCustomParameterValue(const FName MotionSource, FName ParameterName, bool& bValueFound) const override
@@ -121,7 +146,8 @@ public:
 		return 0.f;
 	}
 
-	virtual ETrackingStatus GetControllerTrackingStatus(const int32 ControllerIndex, const FName MotionSource) const override
+	virtual ETrackingStatus
+	GetControllerTrackingStatus(const int32 ControllerIndex, const FName MotionSource) const override
 	{
 		FLiveLinkSubjectKey SubjectKey = GetSubjectKeyFromMotionSource(MotionSource);
 
@@ -163,13 +189,18 @@ public:
 
 		for (const FGuid& Source : SourceGuids)
 		{
-			FText SourceName = (Source == WildcardSource) ? LOCTEXT("LiveLinkAnySource", "Any") : Client.GetSourceType(Source);
+			FText SourceName = (Source == WildcardSource)
+				                   ? LOCTEXT("LiveLinkAnySource", "Any")
+				                   : Client.GetSourceType(Source);
 			Headers.Emplace(Source, SourceName);
 		}
 
 		{
 			FGuid& CaptureWildcardSource = WildcardSource;
-			Headers.Sort([CaptureWildcardSource](const FHeaderEntry& A, const FHeaderEntry& B) { return A.Key == CaptureWildcardSource || A.Value.CompareToCaseIgnored(B.Value) <= 0; });
+			Headers.Sort([CaptureWildcardSource](const FHeaderEntry& A, const FHeaderEntry& B)
+			{
+				return A.Key == CaptureWildcardSource || A.Value.CompareToCaseIgnored(B.Value) <= 0;
+			});
 		}
 
 		//Build EnumeratedSources data
@@ -182,7 +213,7 @@ public:
 			Subjects.Sort(FNameLexicalLess());
 			for (FName Subject : Subjects)
 			{
-				FName FullName = *FString::Format(TEXT("{0} ({1})"), { Subject.ToString(), Header.Value.ToString() });
+				FName FullName = *FString::Format(TEXT("{0} ({1})"), {Subject.ToString(), Header.Value.ToString()});
 				EnumeratedSources.Emplace(FLiveLinkSubjectKey(Header.Key, Subject), FullName);
 			}
 		}
@@ -201,12 +232,16 @@ public:
 		}
 	}
 
-	virtual bool GetHandJointPosition(const FName MotionSource, int jointIndex, FVector& OutPosition) const override { return false; }
+	virtual bool GetHandJointPosition(const FName MotionSource, int jointIndex, FVector& OutPosition) const override
+	{
+		return false;
+	}
 
 private:
 	FLiveLinkSubjectKey GetSubjectKeyFromMotionSource(FName MotionSource) const
 	{
-		const FLiveLinkMotionControllerEnumeratedSource* EnumeratedSource = EnumeratedSources.FindByPredicate([&](const FLiveLinkMotionControllerEnumeratedSource& Item) { return Item.MotionSource == MotionSource; });
+		const FLiveLinkMotionControllerEnumeratedSource* EnumeratedSource = EnumeratedSources.FindByPredicate(
+			[&](const FLiveLinkMotionControllerEnumeratedSource& Item) { return Item.MotionSource == MotionSource; });
 		if (EnumeratedSource)
 		{
 			return EnumeratedSource->SubjectKey;
diff --git a/Source/RWTHVRToolkit/Public/Interaction/ClickBehaviour.h b/Source/RWTHVRToolkit/Public/Interaction/ClickBehaviour.h
index 435d852a8ee90c47fc72180d6c077912912c248f..c2116085249b761ec8e3bfe486817fea669bc06c 100644
--- a/Source/RWTHVRToolkit/Public/Interaction/ClickBehaviour.h
+++ b/Source/RWTHVRToolkit/Public/Interaction/ClickBehaviour.h
@@ -8,33 +8,36 @@
 #include "ClickBehaviour.generated.h"
 
 
+DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnClickStart, USceneComponent*, TriggeredComponent,
+                                             const FInputActionValue&, Value);
 
-DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnClickStart, USceneComponent*, TriggeredComponent, const FInputActionValue&, Value);
-DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnClicktEnd, USceneComponent*, TriggeredComponent, const FInputActionValue&, Value);
+DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnClicktEnd, USceneComponent*, TriggeredComponent,
+                                             const FInputActionValue&, Value);
 
-UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) )
+UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
 class RWTHVRTOOLKIT_API UClickBehaviour : public USceneComponent
 {
 	GENERATED_BODY()
 
-public:	
+public:
 	// Sets default values for this component's properties
 	UClickBehaviour();
 
 	UPROPERTY(BlueprintAssignable)
-		FOnClickStart OnClickStartEvent;
+	FOnClickStart OnClickStartEvent;
+	
 	UPROPERTY(BlueprintAssignable)
-		FOnClicktEnd OnClickEndEvent;
+	FOnClicktEnd OnClickEndEvent;
 
 protected:
 	UFUNCTION()
-		virtual void OnClickStart(USceneComponent* TriggeredComponent,const FInputActionValue& Value);
-	UFUNCTION()
-		virtual void OnClickEnd(USceneComponent* TriggeredComponent,const FInputActionValue& Value);
+	virtual void OnClickStart(USceneComponent* TriggeredComponent, const FInputActionValue& Value);
 	
+	UFUNCTION()
+	virtual void OnClickEnd(USceneComponent* TriggeredComponent, const FInputActionValue& Value);
+
 	virtual void BeginPlay() override;
-	
-	virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
 
-		
+	virtual void TickComponent(float DeltaTime, ELevelTick TickType,
+	                           FActorComponentTickFunction* ThisTickFunction) override;
 };
diff --git a/Source/RWTHVRToolkit/Public/Interaction/Clickable.h b/Source/RWTHVRToolkit/Public/Interaction/Clickable.h
index 1382df7778e27354799b420cccccae8d3b616c83..f7ec15ba39d5dfe6099fb4f9b31cc500b7a9e096 100644
--- a/Source/RWTHVRToolkit/Public/Interaction/Clickable.h
+++ b/Source/RWTHVRToolkit/Public/Interaction/Clickable.h
@@ -11,16 +11,15 @@ UINTERFACE(BlueprintType)
 class RWTHVRTOOLKIT_API UClickable : public UInterface
 {
 	// has to be empty, this is Unreals syntax to make it visible in blueprints
-	GENERATED_UINTERFACE_BODY()
+	GENERATED_BODY()
 };
 
 class RWTHVRTOOLKIT_API IClickable
 {
-	GENERATED_IINTERFACE_BODY()
+	GENERATED_BODY()
 
 public:
 	// function that will be called when clickable actor got clicked, and passed the world pos of the click
 	UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = Gameplay)
 	void OnClick(FVector WorldPositionOfClick);
 };
-
diff --git a/Source/RWTHVRToolkit/Public/Interaction/GrabComponent.h b/Source/RWTHVRToolkit/Public/Interaction/GrabComponent.h
index 3165dc1b3ad32ad87cdd0f539c720b5360eff625..dd0676c12a3d9bbb0716ff0d6c50373c2f528901 100644
--- a/Source/RWTHVRToolkit/Public/Interaction/GrabComponent.h
+++ b/Source/RWTHVRToolkit/Public/Interaction/GrabComponent.h
@@ -4,41 +4,38 @@
 
 #include "CoreMinimal.h"
 #include "Components/SceneComponent.h"
+#include "Pawn/InputExtensionInterface.h"
 #include "GrabComponent.generated.h"
 
 class UGrabbableComponent;
 
-UCLASS(Abstract,Blueprintable)
-class RWTHVRTOOLKIT_API UGrabComponent : public USceneComponent
+UCLASS(Abstract, Blueprintable)
+class RWTHVRTOOLKIT_API UGrabComponent : public USceneComponent, public IInputExtensionInterface
 {
 	GENERATED_BODY()
 
-public:	
+public:
 	// Sets default values for this component's properties
 	UGrabComponent();
 
-	virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
-	
+	virtual void TickComponent(float DeltaTime, ELevelTick TickType,
+	                           FActorComponentTickFunction* ThisTickFunction) override;
+
 	UPROPERTY(EditDefaultsOnly, Category = "Input")
 	class UInputMappingContext* IMCGrab;
-	
+
 	UPROPERTY(EditAnywhere, Category = "Input")
 	class UInputAction* GrabInputAction;
 
-	UPROPERTY(EditAnywhere,BlueprintReadWrite,Category = "Grabbing")
+	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Grabbing")
 	float GrabSphereRadius = 15.0;
 
-	UPROPERTY(EditAnywhere,BlueprintReadWrite,Category = "Grabbing")
+	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Grabbing")
 	bool bShowDebugTrace = false;
 
-
-protected:
-	// Called when the game starts
-	virtual void BeginPlay() override;
+	virtual void SetupPlayerInput(UInputComponent* PlayerInputComponent) override;
 
 private:
-	void SetupInputActions();
-	
 	UFUNCTION()
 	void OnBeginGrab(const FInputActionValue& Value);
 
@@ -50,6 +47,4 @@ private:
 
 	UPROPERTY()
 	TArray<UGrabbableComponent*> CurrentGrabbableInRange;
-
-		
 };
diff --git a/Source/RWTHVRToolkit/Public/Interaction/Grabable.h b/Source/RWTHVRToolkit/Public/Interaction/Grabable.h
index fa3bc99db44228862c953576b894c0f71ab646fd..bcef67ff1591fe853ee8d517a11a9e8b1f993721 100644
--- a/Source/RWTHVRToolkit/Public/Interaction/Grabable.h
+++ b/Source/RWTHVRToolkit/Public/Interaction/Grabable.h
@@ -11,18 +11,18 @@ UINTERFACE(BlueprintType)
 class RWTHVRTOOLKIT_API UGrabable : public UInterface
 {
 	// has to be empty, this is Unreals syntax to make it visible in blueprints
-	GENERATED_UINTERFACE_BODY()
+	GENERATED_BODY()
 };
 
 class RWTHVRTOOLKIT_API IGrabable
 {
-	GENERATED_IINTERFACE_BODY()
+	GENERATED_BODY()
 
 public:
 	// function that will be called when grabbed by a pawn
 	UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = Gameplay)
 	void OnBeginGrab();
-	
+
 	// called when pawn released the object
 	UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = Gameplay)
 	void OnEndGrab();
diff --git a/Source/RWTHVRToolkit/Public/Interaction/GrabbableComponent.h b/Source/RWTHVRToolkit/Public/Interaction/GrabbableComponent.h
index cb32db53c62c29afbd873b547f0816c04007990b..5b628ecf2d705357d66f0594d8563926080eced7 100644
--- a/Source/RWTHVRToolkit/Public/Interaction/GrabbableComponent.h
+++ b/Source/RWTHVRToolkit/Public/Interaction/GrabbableComponent.h
@@ -9,9 +9,8 @@
 /**
  * 
  */
-UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) )
+UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
 class RWTHVRTOOLKIT_API UGrabbableComponent : public UInteractableBase
 {
 	GENERATED_BODY()
-	
 };
diff --git a/Source/RWTHVRToolkit/Public/Interaction/GrabbingBehaviorComponent.h b/Source/RWTHVRToolkit/Public/Interaction/GrabbingBehaviorComponent.h
index 91f6ec0a702c0c36c0199d6089868957c3f9c1b8..4f334e36c778eccbcebf4907a4a4be6c6655e38c 100644
--- a/Source/RWTHVRToolkit/Public/Interaction/GrabbingBehaviorComponent.h
+++ b/Source/RWTHVRToolkit/Public/Interaction/GrabbingBehaviorComponent.h
@@ -8,6 +8,7 @@
 
 
 DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnBeginGrabSignature, AActor*, GrabbedBy);
+
 DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnEndGrabSignature);
 
 UCLASS(ClassGroup = (Custom), meta = (BlueprintSpawnableComponent))
@@ -18,13 +19,13 @@ class RWTHVRTOOLKIT_API UGrabbingBehaviorComponent : public USceneComponent
 protected:
 	bool WasSimulatingPhysicsOnGrab;
 	UPROPERTY()
-		UPrimitiveComponent* MyPhysicsComponent;
-		
+	UPrimitiveComponent* MyPhysicsComponent;
+
 public:
 	UPROPERTY(BlueprintAssignable)
-		FOnBeginGrabSignature OnBeginGrab;
+	FOnBeginGrabSignature OnBeginGrab;
 	UPROPERTY(BlueprintAssignable)
-		FOnEndGrabSignature OnEndGrab;
+	FOnEndGrabSignature OnEndGrab;
 
 	// Sets default values for this component's properties
 	UGrabbingBehaviorComponent();
@@ -32,13 +33,14 @@ public:
 public:
 	// takes the hand ray and moves the parent actor to a new possible position, also might change rotation
 	virtual void HandleGrabHold(FVector Position, FQuat Orientation);
-	
+
 	virtual void HandleGrabStart(AActor* GrabbedBy);
 
 	virtual void HandleGrabEnd();
 
 	// Called every frame
-	virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
+	virtual void TickComponent(float DeltaTime, ELevelTick TickType,
+	                           FActorComponentTickFunction* ThisTickFunction) override;
 
 protected:
 	// Called when the game starts
diff --git a/Source/RWTHVRToolkit/Public/Interaction/GrabbingBehaviorOnLineComponent.h b/Source/RWTHVRToolkit/Public/Interaction/GrabbingBehaviorOnLineComponent.h
index 9488b25f6015069c2a5a0035c2be4452e8adb16c..7e257d5c3c4a4e062458d3ff76e558186b7c6599 100644
--- a/Source/RWTHVRToolkit/Public/Interaction/GrabbingBehaviorOnLineComponent.h
+++ b/Source/RWTHVRToolkit/Public/Interaction/GrabbingBehaviorOnLineComponent.h
@@ -7,32 +7,34 @@
 #include "GrabbingBehaviorOnLineComponent.generated.h"
 
 
-UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) )
+UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
 class RWTHVRTOOLKIT_API UGrabbingBehaviorOnLineComponent : public UGrabbingBehaviorComponent
 {
 	GENERATED_BODY()
 
-public:	
+public:
 	// Sets default values for this component's properties
 	UGrabbingBehaviorOnLineComponent();
 
 	// defining a constraint line with these 3 parameters
-	UFUNCTION(BlueprintCallable) void SetDistance(float Dist);
-	UFUNCTION(BlueprintCallable) float GetDistance() const;
-	UFUNCTION(BlueprintCallable) void SetDiscreteNumberOfPoints(int Num);
+	UFUNCTION(BlueprintCallable)
+	void SetDistance(float Dist);
 
-	virtual void HandleGrabHold(FVector position, FQuat orientation) override;
+	UFUNCTION(BlueprintCallable)
+	float GetDistance() const;
 
-protected:
-	// Called when the game starts
-	virtual void BeginPlay() override;
+	UFUNCTION(BlueprintCallable)
+	void SetDiscreteNumberOfPoints(int Num);
 
-public:
-	// Called every frame
-	virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
+	virtual void HandleGrabHold(FVector position, FQuat orientation) override;
 
 private:
-	UPROPERTY(EditAnywhere)	float Distance = 100; // distance the object can be moved from the center 
-	UPROPERTY(EditAnywhere) bool bIsDiscrete = false;
-	UPROPERTY(EditAnywhere) int NumPoints = 1;
+	UPROPERTY(EditAnywhere)
+	float Distance = 100; // distance the object can be moved from the center
+
+	UPROPERTY(EditAnywhere)
+	bool bIsDiscrete = false;
+
+	UPROPERTY(EditAnywhere)
+	int NumPoints = 1;
 };
diff --git a/Source/RWTHVRToolkit/Public/Interaction/GrabbingBehaviorOnPlaneComponent.h b/Source/RWTHVRToolkit/Public/Interaction/GrabbingBehaviorOnPlaneComponent.h
index 6f74eb4fda19727b40b8217aef6aa88c6e75072d..fece01f15388ffb010cc88528d16de437809aa36 100644
--- a/Source/RWTHVRToolkit/Public/Interaction/GrabbingBehaviorOnPlaneComponent.h
+++ b/Source/RWTHVRToolkit/Public/Interaction/GrabbingBehaviorOnPlaneComponent.h
@@ -13,23 +13,12 @@ class RWTHVRTOOLKIT_API UGrabbingBehaviorOnPlaneComponent : public UGrabbingBeha
 	GENERATED_BODY()
 
 public:	
-	// Sets default values for this component's properties
-	UGrabbingBehaviorOnPlaneComponent();
 
 	// defining the constraint plane with these 3 parameters
 	UFUNCTION(BlueprintCallable) void SetDistance(float Dist);
 	UFUNCTION(BlueprintCallable) float GetDistance() const;
 	
 	virtual void HandleGrabHold(FVector position, FQuat orientation) override;
-
-protected:
-	// Called when the game starts
-	virtual void BeginPlay() override;
-
-public:	
-	// Called every frame
-	virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
-
 	
 private:
 	UPROPERTY(EditAnywhere) float Distance; // distance the object can be moved from the center 
diff --git a/Source/RWTHVRToolkit/Public/Interaction/HoverBehaviour.h b/Source/RWTHVRToolkit/Public/Interaction/HoverBehaviour.h
index e9d132e49b3a51f7faaac84b7c117108ab47cbc2..3bdcde4f47ed5bdfb91451f716070a494dda528d 100644
--- a/Source/RWTHVRToolkit/Public/Interaction/HoverBehaviour.h
+++ b/Source/RWTHVRToolkit/Public/Interaction/HoverBehaviour.h
@@ -16,7 +16,6 @@ class RWTHVRTOOLKIT_API UHoverBehaviour : public USceneComponent
 	GENERATED_BODY()
 
 public:	
-	UHoverBehaviour();
 	/**
 	* TriggeredComponent: Component that triggered this event (e.g. GrabComponent, RayCastComponent attached at the VRPawn)
 	* Hit: Hit Result of the trace to get access to e.g. contact point/normals etc.
@@ -34,6 +33,4 @@ protected:
 		virtual void OnHoverEnd(const USceneComponent* TriggeredComponent);
 	
 	virtual void BeginPlay() override;
-	virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
-	
 };
diff --git a/Source/RWTHVRToolkit/Public/Interaction/InteractableBase.h b/Source/RWTHVRToolkit/Public/Interaction/InteractableBase.h
index 1f4d92b20e16d3c0b754f82f5860c49a8ddbc56c..c291ff27c88f8df0bcd31158003abe38be5c32ef 100644
--- a/Source/RWTHVRToolkit/Public/Interaction/InteractableBase.h
+++ b/Source/RWTHVRToolkit/Public/Interaction/InteractableBase.h
@@ -11,47 +11,39 @@ struct FInputActionValue;
 class UClickBehaviour;
 class UHoverBehaviour;
 
-UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) )
+UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
 class RWTHVRTOOLKIT_API UInteractableBase : public UActorComponent
 {
 	GENERATED_BODY()
 
-public:	
-	// Sets default values for this component's properties
-	UInteractableBase();
-
+public:
 	UPROPERTY(EditAnywhere, BlueprintReadWrite)
 	bool IsInteractable = true;
-	
+
 	UPROPERTY(EditAnywhere, BlueprintReadWrite)
 	TArray<UHoverBehaviour*> OnHoverBehaviours;
-	
+
 	UPROPERTY(EditAnywhere, BlueprintReadWrite)
 	TArray<UClickBehaviour*> OnClickBehaviours;
-	
+
 	/**
 	 * @brief Restrict interactability to given components (e.g. if an object is grabbed, block interactions from other components)
 	 * @param Components 
 	 */
 	UFUNCTION()
-	void RestrictInteractionToComponents(TArray<USceneComponent*> Components);
-	
+	void RestrictInteractionToComponents(const TArray<USceneComponent*>& Components);
+
 	UFUNCTION()
 	void RestrictInteractionToComponent(USceneComponent* Component);
 
 	UFUNCTION()
 	void ResetRestrictInteraction();
 
-
 protected:
 	// Called when the game starts
 	virtual void BeginPlay() override;
 
-
-public:	
-	// Called every frame
-	virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
-	
+public:
 	void HandleOnHoverStartEvents(USceneComponent* TriggerComponent);
 	void HandleOnHoverEndEvents(USceneComponent* TriggerComponent);
 	void HandleOnClickStartEvents(USceneComponent* TriggerComponent, const FInputActionValue& Value);
@@ -75,7 +67,5 @@ public:
 	bool IsComponentAllowed(USceneComponent* Component) const;
 
 private:
-	
 	bool bInitOnce = true;
-		
 };
diff --git a/Source/RWTHVRToolkit/Public/Interaction/OnClickGrabBehavior.h b/Source/RWTHVRToolkit/Public/Interaction/OnClickGrabBehavior.h
index cb702f1e3dea67c2e09755b201f7813e57b99f0b..45022934b1670029f0f6257de7e855fa2e5cc7a4 100644
--- a/Source/RWTHVRToolkit/Public/Interaction/OnClickGrabBehavior.h
+++ b/Source/RWTHVRToolkit/Public/Interaction/OnClickGrabBehavior.h
@@ -8,29 +8,18 @@
 #include "OnClickGrabBehavior.generated.h"
 
 
-UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) )
+UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
 class RWTHVRTOOLKIT_API UOnClickGrabBehavior : public UClickBehaviour
 {
 	GENERATED_BODY()
 
-public:	
-	// Sets default values for this component's properties
-	UOnClickGrabBehavior();
-
+public:
 	UPROPERTY(EditAnywhere, Category="Grabbing")
 	bool bBlockOtherInteractionsWhileGrabbed = true;
 
-protected:
-	// Called when the game starts
-	virtual void BeginPlay() override;
-
-public:	
-	// Called every frame
-	virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
-	
 	virtual void OnClickStart(USceneComponent* TriggeredComponent, const FInputActionValue& Value) override;
 	virtual void OnClickEnd(USceneComponent* TriggeredComponent, const FInputActionValue& Value) override;
-	
+
 	UPrimitiveComponent* GetFirstComponentSimulatingPhysics(const AActor* TargetActor);
 
 	// recursively goes up the hierarchy and returns the highest parent simulating physics
@@ -38,7 +27,4 @@ public:
 
 	UPROPERTY()
 	UPrimitiveComponent* MyPhysicsComponent;
-
-
-		
 };
diff --git a/Source/RWTHVRToolkit/Public/Interaction/RaycastSelectable.h b/Source/RWTHVRToolkit/Public/Interaction/RaycastSelectable.h
index 14a90f73f97a6c1e0c6a6d9faf771c40521e863b..30ad490d474343dbcfa932bc4b1f606030181f7f 100644
--- a/Source/RWTHVRToolkit/Public/Interaction/RaycastSelectable.h
+++ b/Source/RWTHVRToolkit/Public/Interaction/RaycastSelectable.h
@@ -9,9 +9,8 @@
 /**
  * 
  */
-UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
+UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
 class RWTHVRTOOLKIT_API URaycastSelectable : public UInteractableBase
 {
 	GENERATED_BODY()
-	
 };
diff --git a/Source/RWTHVRToolkit/Public/Interaction/RaycastSelectionComponent.h b/Source/RWTHVRToolkit/Public/Interaction/RaycastSelectionComponent.h
index 718c54f24cc525415e6b242ed2e56c436739d5aa..8033c8c41bfac7b25c2b449d0db3759581375845 100644
--- a/Source/RWTHVRToolkit/Public/Interaction/RaycastSelectionComponent.h
+++ b/Source/RWTHVRToolkit/Public/Interaction/RaycastSelectionComponent.h
@@ -2,54 +2,53 @@
 
 #pragma once
 
+#include <Pawn/InputExtensionInterface.h>
+
 #include "CoreMinimal.h"
 #include "RaycastSelectable.h"
 #include "Components/SceneComponent.h"
 #include "RaycastSelectionComponent.generated.h"
 
 
-UCLASS(Abstract,Blueprintable)
-class RWTHVRTOOLKIT_API URaycastSelectionComponent : public USceneComponent
+UCLASS(Abstract, Blueprintable)
+class RWTHVRTOOLKIT_API URaycastSelectionComponent : public USceneComponent, public IInputExtensionInterface
 {
 	GENERATED_BODY()
 
-public:	
+public:
 	// Sets default values for this component's properties
 	URaycastSelectionComponent();
 
-protected:
-	// Called when the game starts
-	virtual void BeginPlay() override;
-
-public:	
 	// Called every frame
-	virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
+	virtual void TickComponent(float DeltaTime, ELevelTick TickType,
+	                           FActorComponentTickFunction* ThisTickFunction) override;
 
 
 	UPROPERTY(EditDefaultsOnly, Category = "Input")
 	class UInputMappingContext* IMCRaycastSelection;
-	
+
 	UPROPERTY(EditAnywhere, Category = "Input")
 	class UInputAction* RayCastSelectInputAction;
 
-	UPROPERTY(EditAnywhere,BlueprintReadWrite,Category = "Raycast")
+	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Raycast")
 	float TraceLength = 3000.0;
-	UPROPERTY(EditAnywhere,BlueprintReadWrite,Category = "Raycast")
+	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Raycast")
 	bool bShowDebugTrace = false;
 
 private:
-	void SetupInputActions();
-	
 	UFUNCTION()
 	void OnBeginSelect(const FInputActionValue& Value);
 
 	UFUNCTION()
 	void OnEndSelect(const FInputActionValue& Value);
 
+public:
+	virtual void SetupPlayerInput(UInputComponent* PlayerInputComponent) override;
+
+private:
 	UPROPERTY()
 	URaycastSelectable* PreviousRaycastSelectable;
 
 	UPROPERTY()
 	URaycastSelectable* CurrentRaycastSelectable;
-		
 };
diff --git a/Source/RWTHVRToolkit/Public/Interaction/Targetable.h b/Source/RWTHVRToolkit/Public/Interaction/Targetable.h
index 40cabccdc04820db80c6873375cf12d3f03f6b20..0b501d3008d0738f1b015a62dbcfec116665fe04 100644
--- a/Source/RWTHVRToolkit/Public/Interaction/Targetable.h
+++ b/Source/RWTHVRToolkit/Public/Interaction/Targetable.h
@@ -8,21 +8,21 @@
 #include "Targetable.generated.h"
 
 UINTERFACE(BlueprintType)
-class RWTHVRTOOLKIT_API UTargetable: public UInterface
+class RWTHVRTOOLKIT_API UTargetable : public UInterface
 {
 	// has to be empty, this is Unreals syntax to make it visible in blueprints
-	GENERATED_UINTERFACE_BODY()
+	GENERATED_BODY()
 };
 
 class RWTHVRTOOLKIT_API ITargetable
 {
-	GENERATED_IINTERFACE_BODY()
+	GENERATED_BODY()
 
 public:
 	// function that will be called when targetable actor is targeted, the world pos of the target is returned
 	UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = Gameplay)
 	void OnTargeted(FVector WorldPositionOfTarget);
-	
+
 	//function that will be called when a targetable actor gets focused
 	UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = Gameplay)
 	void OnTargetedEnter();
diff --git a/Source/RWTHVRToolkit/Public/Pawn/BasicVRInteractionComponent.h b/Source/RWTHVRToolkit/Public/Pawn/BasicVRInteractionComponent.h
index bf62656ecf13cb0e336c201ffc11d40c9a58ca0f..7732d693543b906a15c4699d299274a8ae4b11cc 100644
--- a/Source/RWTHVRToolkit/Public/Pawn/BasicVRInteractionComponent.h
+++ b/Source/RWTHVRToolkit/Public/Pawn/BasicVRInteractionComponent.h
@@ -14,77 +14,80 @@ UENUM()
 enum EInteractionRayVisibility
 {
 	Visible UMETA(DisplayName = "Interaction ray visible"),
-	VisibleOnHoverOnly UMETA(DisplayName = "Interaction ray only visible when hovering over Clickable or Targetable objects, or interactable widgets"),
+	VisibleOnHoverOnly UMETA(
+		DisplayName =
+		"Interaction ray only visible when hovering over Clickable or Targetable objects, or interactable widgets"),
 	Invisible UMETA(DisplayName = "Interaction ray invisible")
 };
 
 
-UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
+UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
 class RWTHVRTOOLKIT_API UBasicVRInteractionComponent : public UWidgetInteractionComponent
 {
 	GENERATED_BODY()
 
-public:	
+public:
 	// Sets default values for this component's properties
 	UBasicVRInteractionComponent();
 
 	virtual void BeginPlay() override;
 
-	virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
+	virtual void TickComponent(float DeltaTime, ELevelTick TickType,
+	                           FActorComponentTickFunction* ThisTickFunction) override;
 
 	UFUNCTION(BlueprintCallable)
 	void BeginInteraction();
-	
+
 	UFUNCTION(BlueprintCallable)
-	void EndInteraction();   	
+	void EndInteraction();
 
 	UFUNCTION(BlueprintCallable)
 	void Initialize(USceneComponent* RayEmitter);
-	
+
 	UFUNCTION(BlueprintCallable, BlueprintPure)
-	AActor* GetGrabbedActor() const { return GrabbedActor;}
-	
+	AActor* GetGrabbedActor() const { return GrabbedActor; }
+
 	UFUNCTION(BlueprintCallable, BlueprintPure)
-	USceneComponent* GetInteractionRayEmitter() const { return InteractionRayEmitter;	}
+	USceneComponent* GetInteractionRayEmitter() const { return InteractionRayEmitter; }
 
 	UFUNCTION(BlueprintCallable)
 	void SetInteractionRayVisibility(EInteractionRayVisibility NewVisibility);
 
 	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Pawn|Interaction")
 	UStaticMeshComponent* InteractionRay;
-	
-	UPROPERTY(EditAnywhere,BlueprintReadWrite)
+
+	UPROPERTY(EditAnywhere, BlueprintReadWrite)
 	float MaxGrabDistance = 50;
-	
-	UPROPERTY(EditAnywhere,BlueprintReadWrite)
+
+	UPROPERTY(EditAnywhere, BlueprintReadWrite)
 	float MaxClickDistance = 500;
-	
+
 	// Enable this if you want to interact with Targetable classes or use EInteractionRayVisibility::VisibleOnHoverOnly
 	UPROPERTY(EditAnywhere)
 	bool bCanRaytraceEveryTick = false;
-	
+
 	UPROPERTY(EditAnywhere)
 	TEnumAsByte<EInteractionRayVisibility> InteractionRayVisibility = EInteractionRayVisibility::Invisible;
-	
+
 private:
 	/* Holding a reference to the actor that is currently being grabbed */
 	UPROPERTY()
 	AActor* GrabbedActor;
-	
+
 	/* Holds a reference to the grabbed actors physics simulating component if there was one*/
 	UPROPERTY()
 	UPrimitiveComponent* ComponentSimulatingPhysics = nullptr;
-	
+
 	UPROPERTY()
 	UGrabbingBehaviorComponent* Behavior = nullptr;
-	
+
 	UPROPERTY()
 	USceneComponent* InteractionRayEmitter = nullptr;
-	
+
 	/* Stores the reference of the Actor that was hit in the last frame*/
 	UPROPERTY()
 	AActor* LastActorHit = nullptr;
-	
+
 	void HandlePhysicsAndAttachActor(const AActor* HitActor);
 	FTwoVectors GetHandRay(float Length) const;
 	TOptional<FHitResult> RaytraceForFirstHit(const FTwoVectors& Ray) const;
diff --git a/Source/RWTHVRToolkit/Public/Pawn/ContinuousMovementComponent.h b/Source/RWTHVRToolkit/Public/Pawn/ContinuousMovementComponent.h
index e4ea442da36c0d766be850c290f29183f7835184..0c1daf2fae9e03636e94c017acc2cb06eb68a545 100644
--- a/Source/RWTHVRToolkit/Public/Pawn/ContinuousMovementComponent.h
+++ b/Source/RWTHVRToolkit/Public/Pawn/ContinuousMovementComponent.h
@@ -3,7 +3,6 @@
 #pragma once
 
 #include "CoreMinimal.h"
-#include "InputExtensionInterface.h"
 #include "Pawn/VirtualRealityPawn.h"
 #include "Pawn/MovementComponentBase.h"
 #include "Components/ActorComponent.h"
@@ -26,42 +25,40 @@ class RWTHVRTOOLKIT_API UContinuousMovementComponent : public UMovementComponent
 	GENERATED_BODY()
 
 public:
-	
 	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "VR Movement")
 	EVRSteeringModes SteeringMode = EVRSteeringModes::STEER_HAND_DIRECTED;
-	
+
 	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "VR Movement")
 	bool bMoveWithRightHand = true;
-	
+
 	UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "VR Movement|Input")
 	UInputMappingContext* IMCMovementLeft;
 
 	UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "VR Movement|Input")
 	UInputMappingContext* IMCMovementRight;
-		
+
 	UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "VR Movement|Input|Actions")
 	UInputAction* Move;
 
 	UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "VR Movement|Input|Actions")
 	UInputAction* MoveUp;
-	
+
 	/*Movement Input*/
 	UFUNCTION(BlueprintCallable)
 	void OnMove(const FInputActionValue& Value);
 
 	UFUNCTION(BlueprintCallable)
 	void OnMoveUp(const FInputActionValue& Value);
-	
+
 	virtual void SetupPlayerInput(UInputComponent* PlayerInputComponent) override;
 
 private:
-
 	UPROPERTY()
 	class UInputMappingContext* IMCMovement;
-	
+
 	UPROPERTY()
 	UMotionControllerComponent* MovementHand;
-	
+
 	UPROPERTY()
-	UMotionControllerComponent* RotationHand;	
+	UMotionControllerComponent* RotationHand;
 };
diff --git a/Source/RWTHVRToolkit/Public/Pawn/InputExtensionInterface.h b/Source/RWTHVRToolkit/Public/Pawn/InputExtensionInterface.h
index 543fe244a7566c34651c353b3b60f392aa90f9e9..323049f53909e167dbd5997d18d03d07c657621a 100644
--- a/Source/RWTHVRToolkit/Public/Pawn/InputExtensionInterface.h
+++ b/Source/RWTHVRToolkit/Public/Pawn/InputExtensionInterface.h
@@ -27,6 +27,6 @@ public:
 	virtual void SetupPlayerInput(UInputComponent* PlayerInputComponent) {}
 
 	// Helper function to get the local player subsystem 
-	virtual UEnhancedInputLocalPlayerSubsystem* GetEnhancedInputLocalPlayerSubsystem(APawn* Pawn) const;
+	virtual UEnhancedInputLocalPlayerSubsystem* GetEnhancedInputLocalPlayerSubsystem(const APawn* Pawn) const;
 	
 };
diff --git a/Source/RWTHVRToolkit/Public/Pawn/ReplicatedCameraComponent.h b/Source/RWTHVRToolkit/Public/Pawn/ReplicatedCameraComponent.h
index b211d827423d8497ea2231354160f3b892e4c86a..8807531cc134733fbb6d8c8590dde1157a618be0 100644
--- a/Source/RWTHVRToolkit/Public/Pawn/ReplicatedCameraComponent.h
+++ b/Source/RWTHVRToolkit/Public/Pawn/ReplicatedCameraComponent.h
@@ -14,26 +14,27 @@ UCLASS()
 class RWTHVRTOOLKIT_API UReplicatedCameraComponent : public UCameraComponent
 {
 	GENERATED_BODY()
+
 public:
 	// Sets default values for this component's properties
 	UReplicatedCameraComponent();
-	
-protected:
 
+protected:
 	/////////////////////////////////////////////////////////////////////////////////////////////////////
 	// Full transform update replication
 	/////////////////////////////////////////////////////////////////////////////////////////////////////
 
 	// Rate to update the position to the server, 100htz is default (same as replication rate, should also hit every tick).
-	UPROPERTY(EditAnywhere, BlueprintReadWrite, Replicated, Category = "Networking", meta = (ClampMin = "0", UIMin = "0"))
+	UPROPERTY(EditAnywhere, BlueprintReadWrite, Replicated, Category = "Networking",
+		meta = (ClampMin = "0", UIMin = "0"))
 	float ControllerNetUpdateRate;
 
 	// Accumulates time until next send
 	float ControllerNetUpdateCount;
-	
+
 	UPROPERTY(EditDefaultsOnly, ReplicatedUsing = OnRep_ReplicatedTransform, Category = "Networking")
 	FVRTransformRep ReplicatedTransform;
-	
+
 	void UpdateState(float DeltaTime);
 
 	UFUNCTION()
@@ -50,5 +51,5 @@ protected:
 public:
 	// Called every frame
 	virtual void TickComponent(float DeltaTime, ELevelTick TickType,
-							   FActorComponentTickFunction* ThisTickFunction) override;
+	                           FActorComponentTickFunction* ThisTickFunction) override;
 };
diff --git a/Source/RWTHVRToolkit/Public/Pawn/ReplicatedMotionControllerComponent.h b/Source/RWTHVRToolkit/Public/Pawn/ReplicatedMotionControllerComponent.h
index 1d77aa634e2e74f0d35b24ab0ec131933fd81c4b..cd66693923c5fe86bb50b6103ef54617aa7b92e9 100644
--- a/Source/RWTHVRToolkit/Public/Pawn/ReplicatedMotionControllerComponent.h
+++ b/Source/RWTHVRToolkit/Public/Pawn/ReplicatedMotionControllerComponent.h
@@ -18,23 +18,23 @@ class RWTHVRTOOLKIT_API UReplicatedMotionControllerComponent : public UMotionCon
 public:
 	// Sets default values for this component's properties
 	UReplicatedMotionControllerComponent();
-	
-protected:
 
+protected:
 	/////////////////////////////////////////////////////////////////////////////////////////////////////
 	// Full transform update replication
 	/////////////////////////////////////////////////////////////////////////////////////////////////////
 
 	// Rate to update the position to the server, 100htz is default (same as replication rate, should also hit every tick).
-	UPROPERTY(EditAnywhere, BlueprintReadWrite, Replicated, Category = "Networking", meta = (ClampMin = "0", UIMin = "0"))
+	UPROPERTY(EditAnywhere, BlueprintReadWrite, Replicated, Category = "Networking",
+		meta = (ClampMin = "0", UIMin = "0"))
 	float ControllerNetUpdateRate;
 
 	// Accumulates time until next send
 	float ControllerNetUpdateCount;
-	
+
 	UPROPERTY(EditDefaultsOnly, ReplicatedUsing = OnRep_ReplicatedTransform, Category = "Networking")
 	FVRTransformRep ReplicatedTransform;
-	
+
 	void UpdateState(float DeltaTime);
 
 	UFUNCTION()
@@ -51,5 +51,4 @@ public:
 	// Called every frame
 	virtual void TickComponent(float DeltaTime, ELevelTick TickType,
 	                           FActorComponentTickFunction* ThisTickFunction) override;
-
 };
diff --git a/Source/RWTHVRToolkit/Public/Pawn/TeleportationComponent.h b/Source/RWTHVRToolkit/Public/Pawn/TeleportationComponent.h
index 867c122f412b8f2834285287a27d05d63f16ae4a..9946ed94f30691d481bba8c6649bde703d56574c 100644
--- a/Source/RWTHVRToolkit/Public/Pawn/TeleportationComponent.h
+++ b/Source/RWTHVRToolkit/Public/Pawn/TeleportationComponent.h
@@ -3,7 +3,6 @@
 #pragma once
 
 #include "CoreMinimal.h"
-#include "InputExtensionInterface.h"
 #include "Components/ActorComponent.h"
 #include "Pawn/VirtualRealityPawn.h"
 #include "NiagaraComponent.h"
@@ -76,7 +75,7 @@ private:
 
 	UPROPERTY()
 	UInputMappingContext* IMCMovement;
-	
+
 	bool bTeleportTraceActive;
 	float TeleportProjectileRadius = 3.6;
 	float RotationArrowRadius = 10.0;
diff --git a/Source/RWTHVRToolkit/Public/Pawn/VRPawnInputConfig.h b/Source/RWTHVRToolkit/Public/Pawn/VRPawnInputConfig.h
index c7dc01836521e9e606693c9d89599a8cfca3828c..c4f26cfbcf4af65e39664e350200dbea1f2ade53 100644
--- a/Source/RWTHVRToolkit/Public/Pawn/VRPawnInputConfig.h
+++ b/Source/RWTHVRToolkit/Public/Pawn/VRPawnInputConfig.h
@@ -16,16 +16,15 @@ class RWTHVRTOOLKIT_API UVRPawnInputConfig : public UDataAsset
 	GENERATED_BODY()
 
 public:
-
 	UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
 	UInputAction* MoveUp;
-	
+
 	UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
 	UInputAction* DesktopRotation;
 
 	UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
 	UInputAction* Fire;
-	
+
 	UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
 	UInputAction* Grab;
 
@@ -40,10 +39,7 @@ public:
 
 	UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
 	UInputAction* GrabLeft;
-	
+
 	UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
 	UInputAction* GrabRight;
-	
-
-
 };
diff --git a/Source/RWTHVRToolkit/Public/Pawn/VRPawnMovement.h b/Source/RWTHVRToolkit/Public/Pawn/VRPawnMovement.h
index 8e789de1235048a2733a0c4a983c402ac4f7984e..31ae483a88343dfb029b04e06bf3c6ef589f49aa 100644
--- a/Source/RWTHVRToolkit/Public/Pawn/VRPawnMovement.h
+++ b/Source/RWTHVRToolkit/Public/Pawn/VRPawnMovement.h
@@ -3,7 +3,6 @@
 #include "CoreMinimal.h"
 #include "GameFramework/FloatingPawnMovement.h"
 #include "Components/CapsuleComponent.h"
-#include "Camera/CameraComponent.h"
 
 #include "VRPawnMovement.generated.h"
 
@@ -34,7 +33,6 @@ class RWTHVRTOOLKIT_API UVRPawnMovement : public UFloatingPawnMovement
 	GENERATED_UCLASS_BODY()
 
 public:
-
 	virtual void BeginPlay() override;
 	void CheckAndRevertCollisionSinceLastTick();
 
@@ -57,7 +55,7 @@ public:
 
 	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "VR Movement", meta = (ClampMax="0.0"))
 	float GravityAcceleration = -981.0f;
-	
+
 	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "VR Movement", meta = (ClampMin="0.0"))
 	float UpSteppingAcceleration = 981.0f;
 
@@ -66,16 +64,18 @@ public:
 
 private:
 	//check for
-	FHitResult CreateCapsuleTrace(const FVector Start, FVector End, bool DrawDebug=false);
+	FHitResult CreateCapsuleTrace(const FVector& Start, const FVector& End, bool DrawDebug = false) const;
 	FVector GetOverlapResolveDirection();
-	void SetCapsuleColliderToUserSize();
+	void SetCapsuleColliderToUserSize() const;
 	void CheckForPhysWalkingCollision();
 	FVector GetCollisionSafeVirtualSteeringVec(FVector InputVector, float DeltaTime);
 	void MoveByGravityOrStepUp(float DeltaSeconds);
 	void ShiftVertically(float Distance, float VerticalAcceleration, float DeltaSeconds);
 
-	UPROPERTY(VisibleAnywhere) UCapsuleComponent* CapsuleColliderComponent = nullptr;
-	UPROPERTY() USceneComponent* HeadComponent = nullptr;
+	UPROPERTY(VisibleAnywhere)
+	UCapsuleComponent* CapsuleColliderComponent = nullptr;
+	UPROPERTY()
+	USceneComponent* HeadComponent = nullptr;
 
 	float VerticalSpeed = 0.0f;
 	FVector LastCollisionFreeCapsulePosition;
diff --git a/Source/RWTHVRToolkit/Public/RWTHVRToolkit.h b/Source/RWTHVRToolkit/Public/RWTHVRToolkit.h
index c1d682b4edf75806bf8d48debc8eb4bafbb0b06c..70a9cc7e7f437af6bdf21f5290abeacc0e83f43d 100644
--- a/Source/RWTHVRToolkit/Public/RWTHVRToolkit.h
+++ b/Source/RWTHVRToolkit/Public/RWTHVRToolkit.h
@@ -8,9 +8,9 @@
 class FRWTHVRToolkitModule : public IModuleInterface
 {
 public:
-	virtual void StartupModule () override;
+	virtual void StartupModule() override;
 	virtual void ShutdownModule() override;
-	
+
 private:
 	FActivateConsoleInShipping ConsoleActivation;
 	TUniquePtr<FLiveLinkMotionControllerFix> LiveLinkMotionController;
diff --git a/Source/RWTHVRToolkit/Public/UI/ExternalImage.h b/Source/RWTHVRToolkit/Public/UI/ExternalImage.h
index ddad2a83254611fb3d0342f982797a78bfe74c39..d566a6782262c65267c02c055044ae42ca5166cf 100644
--- a/Source/RWTHVRToolkit/Public/UI/ExternalImage.h
+++ b/Source/RWTHVRToolkit/Public/UI/ExternalImage.h
@@ -2,7 +2,6 @@
 
 #include "CoreMinimal.h"
 #include "Components/Image.h"
-#include "Runtime/ImageWrapper/Public/IImageWrapper.h"
 #include "ExternalImage.generated.h"
 
 /**
@@ -13,17 +12,21 @@ class RWTHVRTOOLKIT_API UExternalImage : public UImage
 {
 	GENERATED_BODY()
 
-    UExternalImage();
+	UExternalImage();
 
 public:
-    /* Loads an Image from either a file or an URL */
-    UFUNCTION(BlueprintCallable) void LoadImageFromURL(const FString& ImageURL);
+	/* Loads an Image from either a file or an URL */
+	UFUNCTION(BlueprintCallable)
+	void LoadImageFromURL(const FString& ImageURL);
 
 private:
-    TArray<uint8> CompressedData;
-    UPROPERTY() UTexture2D* NewTexture;
+	TArray<uint8> CompressedData;
+	UPROPERTY()
+	UTexture2D* NewTexture;
 
-    bool LoadCompressedDataIntoTexture2D(const TArray<uint8>& InCompressedData, UTexture2D*& OutTexture);
-    static void LoadDataFromURL(const FString& ImageURL, TArray<uint8>& OutCompressedData, TFunction<void()> OnSuccessCallback);
-    static void LoadDataFromFile(const FString& ImagePath, TArray<uint8>& OutCompressedData, TFunction<void()> OnSuccessCallback);
+	bool LoadCompressedDataIntoTexture2D(const TArray<uint8>& InCompressedData, UTexture2D*& OutTexture);
+	static void LoadDataFromURL(const FString& ImageURL, TArray<uint8>& OutCompressedData,
+	                            TFunction<void()> OnSuccessCallback);
+	static void LoadDataFromFile(const FString& ImagePath, TArray<uint8>& OutCompressedData,
+	                             TFunction<void()> OnSuccessCallback);
 };
diff --git a/Source/RWTHVRToolkit/Public/Utility/DemoConfig.h b/Source/RWTHVRToolkit/Public/Utility/DemoConfig.h
index 105f9fb48d50b28df50c8b45f91daac4abe87d12..51c20241f8809a3c63409682367809bf9ffb08bb 100644
--- a/Source/RWTHVRToolkit/Public/Utility/DemoConfig.h
+++ b/Source/RWTHVRToolkit/Public/Utility/DemoConfig.h
@@ -17,33 +17,34 @@ class RWTHVRTOOLKIT_API UDemoConfig : public UDeveloperSettings
 {
 	GENERATED_BODY()
 
-	virtual FName GetCategoryName() const override {return "Game";};
+	virtual FName GetCategoryName() const override { return "Game"; };
 
-	#if WITH_EDITOR
-	    virtual FText GetSectionText() const override {return FText::FromString("Demo");};
-    #endif
+#if WITH_EDITOR
+	virtual FText GetSectionText() const override { return FText::FromString("Demo"); };
+#endif
 
 	virtual void PostInitProperties() override
 	{
 		Super::PostInitProperties();
 
 		// Do not create/load this config file in the editor. We have the DefaultDemo.ini already
-		if(FApp::GetBuildTargetType() == EBuildTargetType::Editor) return; 
+		if (FApp::GetBuildTargetType() == EBuildTargetType::Editor) return;
 
 		// Load config file (does nothing if not exist)
-		const FString ConfigFile = FPaths::Combine(FPaths::ProjectConfigDir(), FPaths::GetCleanFilename(GetClass()->GetConfigName()));
-	    FConfigCacheIni Config(EConfigCacheType::DiskBacked);
+		const FString ConfigFile = FPaths::Combine(FPaths::ProjectConfigDir(),
+		                                           FPaths::GetCleanFilename(GetClass()->GetConfigName()));
+		FConfigCacheIni Config(EConfigCacheType::DiskBacked);
 		Config.LoadFile(ConfigFile);
 
 		// Check existence of correct section (fails if file does not exist)
-		if(Config.DoesSectionExist(*GetClass()->GetPathName(), ConfigFile))
+		if (Config.DoesSectionExist(*GetClass()->GetPathName(), ConfigFile))
 		{
-		    LoadConfig(GetClass(), *ConfigFile);
-        }
-	    else
-        {
-		    SaveConfig(CPF_Config, *ConfigFile, &Config); 
+			LoadConfig(GetClass(), *ConfigFile);
+		}
+		else
+		{
+			SaveConfig(CPF_Config, *ConfigFile, &Config);
 			Config.Flush(false);
-        }
+		}
 	};
 };
diff --git a/Source/RWTHVRToolkit/Public/Utility/VirtualRealityUtilities.h b/Source/RWTHVRToolkit/Public/Utility/VirtualRealityUtilities.h
index 67169f9935f37ae034e97e112e09e977fe61a154..cc23a4974a57e0b98d2e904b057dcd07682c1caf 100644
--- a/Source/RWTHVRToolkit/Public/Utility/VirtualRealityUtilities.h
+++ b/Source/RWTHVRToolkit/Public/Utility/VirtualRealityUtilities.h
@@ -7,7 +7,6 @@
 #include "VirtualRealityUtilities.generated.h"
 
 
-
 /**
  * Custom log category for all RWTHVRToolkit related components
  */
@@ -50,39 +49,51 @@ class RWTHVRTOOLKIT_API UVirtualRealityUtilities : public UBlueprintFunctionLibr
 	GENERATED_BODY()
 
 public:
-	UFUNCTION(BlueprintPure, Category = "DisplayCluster|Platform") static bool IsDesktopMode();
-	UFUNCTION(BlueprintPure, Category = "DisplayCluster|Platform") static bool IsRoomMountedMode();
-	UFUNCTION(BlueprintPure, Category = "DisplayCluster|Platform") static bool IsHeadMountedMode();
-	UFUNCTION(BlueprintPure, Category = "DisplayCluster|Platform") static bool IsCave();
-	UFUNCTION(BlueprintPure, Category = "DisplayCluster|Platform") static bool IsTdw();
-	UFUNCTION(BlueprintPure, Category = "DisplayCluster|Platform") static bool IsRolv();
-
-	UFUNCTION(BlueprintPure, Category = "DisplayCluster") static bool IsMaster();
-	UFUNCTION(BlueprintPure, Category = "DisplayCluster") static bool IsSlave();
-
-	UFUNCTION(BlueprintPure, Category = "DisplayCluster") static FString GetNodeName();
+	UFUNCTION(BlueprintPure, Category = "DisplayCluster|Platform")
+	static bool IsDesktopMode();
+	UFUNCTION(BlueprintPure, Category = "DisplayCluster|Platform")
+	static bool IsRoomMountedMode();
+	UFUNCTION(BlueprintPure, Category = "DisplayCluster|Platform")
+	static bool IsHeadMountedMode();
+	UFUNCTION(BlueprintPure, Category = "DisplayCluster|Platform")
+	static bool IsCave();
+	UFUNCTION(BlueprintPure, Category = "DisplayCluster|Platform")
+	static bool IsTdw();
+	UFUNCTION(BlueprintPure, Category = "DisplayCluster|Platform")
+	static bool IsRolv();
+
+	UFUNCTION(BlueprintPure, Category = "DisplayCluster")
+	static bool IsMaster();
+	UFUNCTION(BlueprintPure, Category = "DisplayCluster")
+	static bool IsSlave();
+
+	UFUNCTION(BlueprintPure, Category = "DisplayCluster")
+	static FString GetNodeName();
 	/* Distance in meters */
-	UFUNCTION(BlueprintPure, Category = "DisplayCluster") static float GetEyeDistance();
+	UFUNCTION(BlueprintPure, Category = "DisplayCluster")
+	static float GetEyeDistance();
 
-	UFUNCTION(BlueprintPure, Category = "DisplayCluster") static EEyeStereoOffset GetNodeEyeType();
+	UFUNCTION(BlueprintPure, Category = "DisplayCluster")
+	static EEyeStereoOffset GetNodeEyeType();
 
 	//Get Component of Display Cluster by it's name, which is specified in the nDisplay config
-	UFUNCTION(BlueprintPure, BlueprintCallable, Category = "DisplayCluster") static USceneComponent* GetClusterComponent(const FString& Name);
-	UFUNCTION(BlueprintPure, BlueprintCallable, Category = "DisplayCluster") static USceneComponent* GetNamedClusterComponent(const ENamedClusterComponent& Component);
-	
+	UFUNCTION(BlueprintPure, BlueprintCallable, Category = "DisplayCluster")
+	static USceneComponent* GetClusterComponent(const FString& Name);
+	UFUNCTION(BlueprintPure, BlueprintCallable, Category = "DisplayCluster")
+	static USceneComponent* GetNamedClusterComponent(const ENamedClusterComponent& Component);
+
 	/* Load and create an Object from an asset path. This only works in the constructor */
-    template <class T>
+	template <class T>
 	[[deprecated]]
-    static bool LoadAsset(const FString& Path, T*& Result);
-	
-    /* Finds and returns a class of an asset. This only works in the constructor */
-    template <class T>
+	static bool LoadAsset(const FString& Path, T*& Result);
+
+	/* Finds and returns a class of an asset. This only works in the constructor */
+	template <class T>
 	[[deprecated]]
-    static bool LoadClass(const FString& Path, TSubclassOf<T>& Result);
+	static bool LoadClass(const FString& Path, TSubclassOf<T>& Result);
 
 	UFUNCTION(BlueprintCallable)
-	static void ShowErrorAndQuit(UWorld* WorldContext,const FString& Message);
-	
+	static void ShowErrorAndQuit(UWorld* WorldContext, const FString& Message);
 };
 
 template <typename T>
@@ -95,9 +106,9 @@ bool UVirtualRealityUtilities::LoadAsset(const FString& Path, T* & Result)
 }
 
 template <typename T>
-bool UVirtualRealityUtilities::LoadClass(const FString& Path, TSubclassOf<T> & Result)
+bool UVirtualRealityUtilities::LoadClass(const FString& Path, TSubclassOf<T>& Result)
 {
-    ConstructorHelpers::FClassFinder<T> Loader(*Path);
+	ConstructorHelpers::FClassFinder<T> Loader(*Path);
 	Result = Loader.Class;
 	if (!Loader.Succeeded()) UE_LOG(LogTemp, Error, TEXT("Could not find %s. Have you renamed it?"), *Path);
 	return Loader.Succeeded();
diff --git a/Source/RWTHVRToolkitEditor/Private/Interaction/GrabbingBehaviorOnLineVisualizer.cpp b/Source/RWTHVRToolkitEditor/Private/Interaction/GrabbingBehaviorOnLineVisualizer.cpp
index 3cc4699ef9bac5e7415dcb0bece71552e5122117..2370043a0e0cd0e6c4a4ee6f2303d4a2a951962d 100644
--- a/Source/RWTHVRToolkitEditor/Private/Interaction/GrabbingBehaviorOnLineVisualizer.cpp
+++ b/Source/RWTHVRToolkitEditor/Private/Interaction/GrabbingBehaviorOnLineVisualizer.cpp
@@ -17,9 +17,9 @@ FGrabbingBehaviorOnLineVisualizer::~FGrabbingBehaviorOnLineVisualizer()
 
 // Fill out your copyright notice in the Description page of Project Settings.
 
-void FGrabbingBehaviorOnLineVisualizer::DrawVisualization(const UActorComponent* Component, const FSceneView* View, FPrimitiveDrawInterface* PDI) {
-
-
+void FGrabbingBehaviorOnLineVisualizer::DrawVisualization(const UActorComponent* Component, const FSceneView* View,
+                                                          FPrimitiveDrawInterface* PDI)
+{
 	const UGrabbingBehaviorOnLineComponent* LineBehavior = Cast<const UGrabbingBehaviorOnLineComponent>(Component);
 
 	if (LineBehavior != nullptr)
@@ -31,5 +31,3 @@ void FGrabbingBehaviorOnLineVisualizer::DrawVisualization(const UActorComponent*
 		PDI->DrawLine(Attachment + Forward * Distance, Attachment - Forward * Distance, FColor::Blue, SDPG_World);
 	}
 }
-
-
diff --git a/Source/RWTHVRToolkitEditor/Private/Interaction/GrabbingBehaviorPlaneVisualizer.cpp b/Source/RWTHVRToolkitEditor/Private/Interaction/GrabbingBehaviorPlaneVisualizer.cpp
index d2c940b6893374378ce7f41fa3d8dfa5449932fc..4af4d7723acc014a2ff440439bf4f6b779f621dc 100644
--- a/Source/RWTHVRToolkitEditor/Private/Interaction/GrabbingBehaviorPlaneVisualizer.cpp
+++ b/Source/RWTHVRToolkitEditor/Private/Interaction/GrabbingBehaviorPlaneVisualizer.cpp
@@ -13,9 +13,9 @@ FGrabbingBehaviorPlaneVisualizer::~FGrabbingBehaviorPlaneVisualizer()
 {
 }
 
-void FGrabbingBehaviorPlaneVisualizer::DrawVisualization(const UActorComponent* Component, const FSceneView* View, FPrimitiveDrawInterface* PDI) {
-
-
+void FGrabbingBehaviorPlaneVisualizer::DrawVisualization(const UActorComponent* Component, const FSceneView* View,
+                                                         FPrimitiveDrawInterface* PDI)
+{
 	const UGrabbingBehaviorOnPlaneComponent* PlaneBehavior = Cast<const UGrabbingBehaviorOnPlaneComponent>(Component);
 
 	if (PlaneBehavior != nullptr)
@@ -33,11 +33,10 @@ void FGrabbingBehaviorPlaneVisualizer::DrawVisualization(const UActorComponent*
 
 		for (int i = 1; i < Segments + 1; i++) // draw circle using lines
 		{
-			Next = Right.RotateAngleAxis(360/Segments, Forward);
+			Next = Right.RotateAngleAxis(360 / Segments, Forward);
 
-			PDI->DrawLine(Attachment + Right*Distance,Attachment + Next*Distance, FColor::Blue, SDPG_World);
+			PDI->DrawLine(Attachment + Right * Distance, Attachment + Next * Distance, FColor::Blue, SDPG_World);
 			Right = Next;
 		}
 	}
 }
-
diff --git a/Source/RWTHVRToolkitEditor/Private/RWTHVRToolkitEditor.cpp b/Source/RWTHVRToolkitEditor/Private/RWTHVRToolkitEditor.cpp
index ca8f91aab9430ac8b1617d1b1c365ad1d045f3d5..2f9907ec35bd3690e1bb37cb8e93e44b193a1d06 100644
--- a/Source/RWTHVRToolkitEditor/Private/RWTHVRToolkitEditor.cpp
+++ b/Source/RWTHVRToolkitEditor/Private/RWTHVRToolkitEditor.cpp
@@ -1,14 +1,11 @@
 #include "RWTHVRToolkitEditor.h"
 
-#include "ComponentVisualizers.h"
-#include "Interaction/GrabbingBehaviorOnLineVisualizer.h"
-#include "Interaction/GrabbingBehaviorPlaneVisualizer.h"
-
-#include "Interaction/GrabbingBehaviorOnPlaneComponent.h"
-#include "Interaction/GrabbingBehaviorOnLineComponent.h"
-
 #include "UnrealEdGlobals.h"
 #include "Editor/UnrealEdEngine.h"
+#include "Interaction/GrabbingBehaviorOnLineComponent.h"
+#include "Interaction/GrabbingBehaviorOnLineVisualizer.h"
+#include "Interaction/GrabbingBehaviorOnPlaneComponent.h"
+#include "Interaction/GrabbingBehaviorPlaneVisualizer.h"
 
 IMPLEMENT_GAME_MODULE(FRWTHVRToolkitEditorModule, RWTHVRToolkitEditor);
 
@@ -16,21 +13,23 @@ IMPLEMENT_GAME_MODULE(FRWTHVRToolkitEditorModule, RWTHVRToolkitEditor);
 
 void FRWTHVRToolkitEditorModule::StartupModule()
 {
-	if (GUnrealEd != NULL)
+	if (GUnrealEd != nullptr)
 	{
-		TSharedPtr<FComponentVisualizer> LineVisualizer = MakeShareable(new FGrabbingBehaviorOnLineVisualizer());
+		const TSharedPtr<FComponentVisualizer> LineVisualizer = MakeShareable(new FGrabbingBehaviorOnLineVisualizer());
 
 		if (LineVisualizer.IsValid())
 		{
-			GUnrealEd->RegisterComponentVisualizer(UGrabbingBehaviorOnLineComponent::StaticClass()->GetFName(), LineVisualizer);
+			GUnrealEd->RegisterComponentVisualizer(UGrabbingBehaviorOnLineComponent::StaticClass()->GetFName(),
+			                                       LineVisualizer);
 			LineVisualizer->OnRegister();
 		}
 
-		TSharedPtr<FComponentVisualizer> PlaneVisualizer = MakeShareable(new FGrabbingBehaviorPlaneVisualizer());
-		
+		const TSharedPtr<FComponentVisualizer> PlaneVisualizer = MakeShareable(new FGrabbingBehaviorPlaneVisualizer());
+
 		if (PlaneVisualizer.IsValid())
 		{
-			GUnrealEd->RegisterComponentVisualizer(UGrabbingBehaviorOnPlaneComponent::StaticClass()->GetFName(), PlaneVisualizer);
+			GUnrealEd->RegisterComponentVisualizer(UGrabbingBehaviorOnPlaneComponent::StaticClass()->GetFName(),
+			                                       PlaneVisualizer);
 			PlaneVisualizer->OnRegister();
 		}
 	}
@@ -38,11 +37,11 @@ void FRWTHVRToolkitEditorModule::StartupModule()
 
 void FRWTHVRToolkitEditorModule::ShutdownModule()
 {
-	if (GUnrealEd != NULL)
+	if (GUnrealEd != nullptr)
 	{
 		GUnrealEd->UnregisterComponentVisualizer(UGrabbingBehaviorOnLineComponent::StaticClass()->GetFName());
 		GUnrealEd->UnregisterComponentVisualizer(UGrabbingBehaviorOnPlaneComponent::StaticClass()->GetFName());
 	}
 }
 
-#undef LOCTEXT_NAMESPACE
\ No newline at end of file
+#undef LOCTEXT_NAMESPACE
diff --git a/Source/RWTHVRToolkitEditor/Public/Interaction/GrabbingBehaviorOnLineVisualizer.h b/Source/RWTHVRToolkitEditor/Public/Interaction/GrabbingBehaviorOnLineVisualizer.h
index 7cb7de8c1941ea5542bb9341c0b124348addeb95..cc220cde423bddf0bceba313ab732023b9971e0d 100644
--- a/Source/RWTHVRToolkitEditor/Public/Interaction/GrabbingBehaviorOnLineVisualizer.h
+++ b/Source/RWTHVRToolkitEditor/Public/Interaction/GrabbingBehaviorOnLineVisualizer.h
@@ -16,9 +16,6 @@ public:
 	FGrabbingBehaviorOnLineVisualizer();
 	~FGrabbingBehaviorOnLineVisualizer();
 
-	virtual void DrawVisualization(const UActorComponent* Component, const FSceneView* View, FPrimitiveDrawInterface* PDI) override;
+	virtual void DrawVisualization(const UActorComponent* Component, const FSceneView* View,
+	                               FPrimitiveDrawInterface* PDI) override;
 };
-
-
-
-
diff --git a/Source/RWTHVRToolkitEditor/Public/Interaction/GrabbingBehaviorPlaneVisualizer.h b/Source/RWTHVRToolkitEditor/Public/Interaction/GrabbingBehaviorPlaneVisualizer.h
index db020e56f9af7fc06ccb906db0803347505d1b54..43428d8aee836276a355523eaea20dba40650770 100644
--- a/Source/RWTHVRToolkitEditor/Public/Interaction/GrabbingBehaviorPlaneVisualizer.h
+++ b/Source/RWTHVRToolkitEditor/Public/Interaction/GrabbingBehaviorPlaneVisualizer.h
@@ -16,5 +16,6 @@ public:
 	FGrabbingBehaviorPlaneVisualizer();
 	~FGrabbingBehaviorPlaneVisualizer();
 
-	virtual void DrawVisualization(const UActorComponent* Component, const FSceneView* View, FPrimitiveDrawInterface* PDI) override;
+	virtual void DrawVisualization(const UActorComponent* Component, const FSceneView* View,
+	                               FPrimitiveDrawInterface* PDI) override;
 };
diff --git a/Source/RWTHVRToolkitEditor/Public/RWTHVRToolkitEditor.h b/Source/RWTHVRToolkitEditor/Public/RWTHVRToolkitEditor.h
index 0effe93208869a7327b30b31c88825d67aa7b9e6..ae6b38515ef20826c377f0386aec524f3bf0ff9c 100644
--- a/Source/RWTHVRToolkitEditor/Public/RWTHVRToolkitEditor.h
+++ b/Source/RWTHVRToolkitEditor/Public/RWTHVRToolkitEditor.h
@@ -11,5 +11,4 @@ public:
 	virtual void StartupModule() override;
 	virtual void ShutdownModule() override;
 	// End IModuleInterface implementation
-
-};
\ No newline at end of file
+};