UE4 Maps路径问题

大家好,(新手学习UE4)本人在学习制作关卡类游戏demo时,设计是想在蓝图的父类里暴露一个选择关卡资源的接口,然后在切换Level时使用这个值来进行切换,即如何将物理路径转换为虚拟路径,“Content/Maps/ActionRPG_P.umap” 转换为“/Game/Maps/ActionRPG_P”

我的笨拙做法如下: (现在想问问大家有没有更好的解决版本。)

暴露给蓝图的接口
protected:
UPROPERTY(EditAnywhere, meta=(FilePathFilter = “umap”, RelativeToGameDir))
FFilePath LevelPath;

// 这个LevelPath在蓝图里配置后的形式可以是 Content/Maps/ActionRPG_P.umap

然后切换关卡时需要使用的字符串为 /Game/Maps/ActionRPG_P ,代码如下

LevelPath.FilePath = LevelPath.FilePath.LeftChop(5);//去掉.umap
LevelPath.FilePath = LevelPath.FilePath.RightChop(7);//去掉Content
LevelPath.FilePath = TEXT(“/Game”) + LevelPath.FilePath;//将 /Game 和 /Maps/ActionRPG_P 拼接起来
GetWorld()->ServerTravel(LevelPath.FilePath);

大家有没有更好的解决办法。(上面对应路径转换的方法有点硬编码了,感觉不好)

答案见后面链接的回答,UE4 Maps资源路径在C++里使用的问题 - C++ - Epic Developer Community Forums