def _getThirdPartyLibs(self, platformIdentifier, configuration):
		cachedList = CachedDataManager.getCachedDataKey(self.engineVersionHash, 'ThirdPartyLibraries')
		if cachedList != None:
			return cachedList
		tempDir = tempfile.mkdtemp()
		jsonFile = os.path.join(tempDir, 'ubt_output.json')
		sentinelFile = os.path.join(self.engineRoot, 'Engine', 'Build', 'InstalledBuild.txt')
		sentinelBackup = sentinelFile + '.bak'
		renameSentinel = os.path.exists(sentinelFile) and os.environ.get('UE4CLI_SENTINEL_RENAME', '0') == '1'
		if renameSentinel == True:
			shutil.move(sentinelFile, sentinelBackup)
		try:
			args = ['-Mode=JsonExport', '-OutputFile=' +jsonFile ] if self.engineVersion['MinorVersion'] >= 22 else ['-gather', '-jsonexport=' + jsonFile, '-SkipBuild']
			self.runUBTFunc('UE4Editor', platformIdentifier, configuration, args)
		finally:
			if renameSentinel == True:
				shutil.move(sentinelBackup, sentinelFile)
		result = json.loads(Utility.readFile(jsonFile))
		modules = [result['Modules'][key] for key in result['Modules']]
		thirdPartyRoot = os.path.join(self.engineRoot, 'Engine', 'Source', 'ThirdParty')
		thirdparty = list([m for m in modules if thirdPartyRoot in m['Directory']])
		try:
			shutil.rmtree(tempDir)
		except:
			pass
		CachedDataManager.setCachedDataKey(self.engineVersionHash, 'ThirdPartyLibraries', thirdparty)
		return thirdparty