function CameraModule.Update(U,a)if U.activeCameraController then U.activeCameraController:UpdateMouseBehavior()local q,y=U.activeCameraController:Update(a)if not FFlagUserFlagEnableNewVRSystem then U.activeCameraController:ApplyVRTransform()end if U.activeOcclusionModule then q,y=U.activeOcclusionModule:Update(a,q,y)end game.Workspace.CurrentCamera.CFrame=q game.Workspace.CurrentCamera.Focus=y if U.activeTransparencyController then U.activeTransparencyController:Update(a)end if CameraInput.getInputEnabled()then CameraInput.resetInputForFrameEnd()end end end

function CameraModule:Update(dt)
	if self.activeCameraController then
		self.activeCameraController:UpdateMouseBehavior()

		local newCameraCFrame, newCameraFocus = self.activeCameraController:Update(dt)
		if not FFlagUserFlagEnableNewVRSystem then
			self.activeCameraController:ApplyVRTransform()
		end
		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(dt)
		end

		if CameraInput.getInputEnabled() then
			CameraInput.resetInputForFrameEnd()
		end
	end
end
