UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PackageUtils.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Misc/PackageName.h"
7#include "Misc/Paths.h"
8
9//Interchange namespace
10namespace UE
11{
12 namespace Interchange
13 {
15 {
16 public:
17 static bool IsMapPackageAsset(const FString& ObjectPath)
18 {
19 FString MapFilePath;
21 }
22
23 static bool IsMapPackageAsset(const FString& ObjectPath, FString& MapFilePath)
24 {
25 const FString PackageName = FPackageUtils::ExtractPackageName(ObjectPath);
26 if (PackageName.Len() > 0)
27 {
28 FString PackagePath;
29 if (FPackageName::DoesPackageExist(PackageName, &PackagePath))
30 {
31 const FString FileExtension = FPaths::GetExtension(PackagePath, true);
32 if (FileExtension == FPackageName::GetMapPackageExtension())
33 {
34 MapFilePath = PackagePath;
35 return true;
36 }
37 }
38 }
39
40 return false;
41 }
42
43 static FString ExtractPackageName(const FString& ObjectPath)
44 {
45 // To find the package name in an object path we need to find the path left of the FIRST delimiter.
46 // Assets like BSPs, lightmaps etc. can have multiple '.' delimiters.
49 {
51 }
52
53 return ObjectPath;
54 }
55 };
56 } //ns Interchange
57} //ns UE
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
static COREUOBJECT_API const FString & GetMapPackageExtension()
Definition PackageName.cpp:2523
static bool DoesPackageExist(const FString &LongPackageName, const FGuid *Guid, FString *OutFilename, bool InAllowTextFormats=true)
Definition PackageName.h:368
static CORE_API FString GetExtension(const FString &InPath, bool bIncludeDot=false)
Definition Paths.cpp:955
Definition PackageUtils.h:15
static FString ExtractPackageName(const FString &ObjectPath)
Definition PackageUtils.h:43
static bool IsMapPackageAsset(const FString &ObjectPath, FString &MapFilePath)
Definition PackageUtils.h:23
static bool IsMapPackageAsset(const FString &ObjectPath)
Definition PackageUtils.h:17
@ CaseSensitive
Definition CString.h:23
@ FromStart
Definition CString.h:36
Definition AdvancedWidgetsModule.cpp:13