function CameraModule.OnCameraSubjectChanged(l)if l.activeTransparencyController then l.activeTransparencyController:SetSubject(game.Workspace.CurrentCamera.CameraSubject)end if l.activeOcclusionModule then l.activeOcclusionModule:OnCameraSubjectChanged(game.Workspace.CurrentCamera.CameraSubject)end end function CameraModule.OnCameraTypeChanged(E,l)if l==Enum.CameraType.Scriptable then if UserInputService.MouseBehavior==Enum.MouseBehavior.LockCenter then UserInputService.MouseBehavior=Enum.MouseBehavior.Default end end E:ActivateCameraController(nil,l)end

function CameraModule:OnCameraSubjectChanged()
	if self.activeTransparencyController then
		self.activeTransparencyController:SetSubject(game.Workspace.CurrentCamera.CameraSubject)
	end
	
	if self.activeOcclusionModule then
		self.activeOcclusionModule:OnCameraSubjectChanged(game.Workspace.CurrentCamera.CameraSubject)
	end
end

function CameraModule:OnCameraTypeChanged(newCameraType)
	if newCameraType == Enum.CameraType.Scriptable then
		if UserInputService.MouseBehavior == Enum.MouseBehavior.LockCenter then
			UserInputService.MouseBehavior = Enum.MouseBehavior.Default
		end
	end
	
	-- Forward the change to ActivateCameraController to handle
	self:ActivateCameraController(nil, newCameraType)	
end
