function CameraModule.Update(l,i)if l.activeCameraController then local T,S=l.activeCameraController:Update(i)l.activeCameraController:ApplyVRTransform()if l.activeOcclusionModule then T,S=l.activeOcclusionModule:Update(i,T,S)end game.Workspace.CurrentCamera.CFrame=T game.Workspace.CurrentCamera.Focus=S if l.activeTransparencyController then l.activeTransparencyController:Update()end end end

function CameraModule:Update(dt)
	if self.activeCameraController then
		local newCameraCFrame, newCameraFocus = self.activeCameraController:Update(dt)
		self.activeCameraController:ApplyVRTransform()
		if self.activeOcclusionModule then
			newCameraCFrame, newCameraFocus = self.activeOcclusionModule:Update(dt, newCameraCFrame, newCameraFocus)
		end

		-- Here is where the new CFrame and Focus are set for this render frame
		game.Workspace.CurrentCamera.CFrame = newCameraCFrame
		game.Workspace.CurrentCamera.Focus = newCameraFocus

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