diff --git a/Content/Blueprints/OptiXVRPawnStandaloneBP.uasset b/Content/Blueprints/OptiXVRPawnStandaloneBP.uasset
index 7f898a4ba1f46f175d2df1fb2ddd575165f8938b..ae3b9477e3e1166137063662e02e1335b141003a 100644
Binary files a/Content/Blueprints/OptiXVRPawnStandaloneBP.uasset and b/Content/Blueprints/OptiXVRPawnStandaloneBP.uasset differ
diff --git a/Source/OptiX/Private/OptiXContext.cpp b/Source/OptiX/Private/OptiXContext.cpp
index c084ecbe2e2eca2b48bfb59ba78c2063dc267006..20e2a2eeee7adbfb10284279ff0900fcb537ba45 100644
--- a/Source/OptiX/Private/OptiXContext.cpp
+++ b/Source/OptiX/Private/OptiXContext.cpp
@@ -18,9 +18,18 @@ UOptiXContext::UOptiXContext(const FObjectInitializer& ObjectInitializer)
 
 optix::Context UOptiXContext::Init()
 {
-	NativeContext = optix::Context::create();
-	LaserContext = optix::Context::create();
-	UE_LOG(LogTemp, Warning, TEXT("OptiX Context Constructor"));
+	UOptiXGeometryGroup* Group = NewObject<UOptiXGeometryGroup>(this, UOptiXGeometryGroup::StaticClass());
+	try
+	{
+		NativeContext = optix::Context::create();
+	}
+	catch (optix::Exception& E)
+	{
+		FString Message = FString(E.getErrorString().c_str());
+		UE_LOG(OptiXPluginContext, Fatal, TEXT("OptiX Error: %s"), *Message);
+		GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, FString::Printf(TEXT("OptiX Error %s"), *Message));
+	}
+	UE_LOG(LogTemp, Warning, TEXT("OptiX Context Init"));
 	return NativeContext;
 }
 
diff --git a/Source/OptiX/Public/OptiXContext.h b/Source/OptiX/Public/OptiXContext.h
index 9575de5eb4888eed04f95a021843059f8985a8f9..03ed1f73207191de24b6d29019b082a2656227b2 100644
--- a/Source/OptiX/Public/OptiXContext.h
+++ b/Source/OptiX/Public/OptiXContext.h
@@ -404,7 +404,6 @@ private:
 
 
 	optix::Context NativeContext;
-	optix::Context LaserContext;
 
 	UPROPERTY() // Just here for now so we the objects don't ge GC'd
 	TMap<FString, UOptiXBuffer*> BufferMap;
diff --git a/Source/OptiX/Public/OptiXContextManager.h b/Source/OptiX/Public/OptiXContextManager.h
index 2634494b20ae6565db5bf26fb0aa8ecd1231a31f..a76d4f0516ea452fa62749b51eba4e3d7b4e563b 100644
--- a/Source/OptiX/Public/OptiXContextManager.h
+++ b/Source/OptiX/Public/OptiXContextManager.h
@@ -115,11 +115,12 @@ public:
 
 	void EndPlay()
 	{
+		//bEndPlay.AtomicSet(true);
+
 		//CleanupOptiXOnEnd();
 		//bCleanup.AtomicSet(true);
 		//bStartTracing.AtomicSet(false);
 		//bCleanup.AtomicSet(false);
-		//bEndPlay.AtomicSet(true);
 	}
 
 	UOptiXContext* GetOptiXContext()