local e=CFrame.new()function CameraModule.Update(Z,l)if Z.activeCameraController then if FFlagUserCameraToggle then Z.activeCameraController:UpdateMouseBehavior()end local j,v=Z.activeCameraController:Update(l)Z.activeCameraController:ApplyVRTransform()if Z.activeOcclusionModule then j,v=Z.activeOcclusionModule:Update(l,j,v)end Players.LocalPlayer.CAM.Value=j local D=j if _G.COFF then local l=_G.COFF or CFrame.new()game.Workspace.CurrentCamera.CFrame=e:lerp(D*l,.4)else workspace.CurrentCamera.CFrame=j end game.Workspace.CurrentCamera.Focus=v e=D if Z.activeTransparencyController then Z.activeTransparencyController:Update()end end end

local last=CFrame.new()
function CameraModule:Update(dt)
	--local Framerate = dt / (1/60)
	if self.activeCameraController then
		if FFlagUserCameraToggle then
			self.activeCameraController:UpdateMouseBehavior()
		end

		local newCameraCFrame, newCameraFocus = self.activeCameraController:Update(dt)
		self.activeCameraController:ApplyVRTransform()
		if self.activeOcclusionModule then
			newCameraCFrame, newCameraFocus = self.activeOcclusionModule:Update(dt, newCameraCFrame, newCameraFocus)
		end
		
		Players.LocalPlayer.CAM.Value=newCameraCFrame
		
		local new=newCameraCFrame

		-- Here is where the new CFrame and Focus are set for this render frame
		if _G.COFF then
			local off=_G.COFF or CFrame.new()
			game.Workspace.CurrentCamera.CFrame = last:lerp(new*off,0.4)--newCameraCFrame
		else
			workspace.CurrentCamera.CFrame = newCameraCFrame
		end
		game.Workspace.CurrentCamera.Focus = newCameraFocus
		
		last=new

		-- Update to character local transparency as needed based on camera-to-subject distance
		if self.activeTransparencyController then
			self.activeTransparencyController:Update()
		end
	end
end
