unreal报错 System.ArgumentException: Path fragment '"Document/\345\215\225\346\234\272\

当在Unreal项目中使用git进行版本管理时,可能会遇到类似于System.ArgumentException的错误。本文介绍了一种解决方案,建议通过git status检查未更改的文件,并提交NewWorld.uproject等关键文件。

Unreal 项目在使用git进行版本管理的时候如果出现了

System.ArgumentException: Path fragment '"Document/\345\215\225\346\234\272\

类似的报错,可以尝试git status查看一下当前未更改的文件,并将 NewWorld.uproject文件和其他一些代码相关的文件提交一下

UATHelper: 打包 (Windows): LogPackageUtilities: Warning: Engine.ini:[Core.System]:Paths entry '../../../Engine/Plugins/Bridge/Content' is not mounted. Skipping it. PackagingResults: Warning: Engine.ini:[Core.System]:Paths entry '../../../Engine/Plugins/Bridge/Content' is not mounted. Skipping it. UATHelper: 打包 (Windows): LogPackageUtilities: Warning: Engine.ini:[Core.System]:Paths entry 'C:/Users/Administrator/Documents/Unreal Projects/bhhnr/Plugins/UltraleapTracking/Content' is not mounted. Skipping it. PackagingResults: Warning: Engine.ini:[Core.System]:Paths entry 'C:/Users/Administrator/Documents/Unreal Projects/bhhnr/Plugins/UltraleapTracking/Content' is not mounted. Skipping it. UATHelper: 打包 (Windows): LogPackageUtilities: Warning: Engine.ini:[Core.System]:Paths entry '../../../Engine/Plugins/Bridge/Content' is not mounted. Skipping it. PackagingResults: Warning: Engine.ini:[Core.System]:Paths entry '../../../Engine/Plugins/Bridge/Content' is not mounted. Skipping it. UATHelper: 打包 (Windows): LogPackageUtilities: Warning: Engine.ini:[Core.System]:Paths entry 'C:/Users/Administrator/Documents/Unreal Projects/bhhnr/Plugins/UltraleapTracking/Content' is not mounted. Skipping it. UATHelper: 打包 (Windows): LogCook: Display: Discovering localized assets for cultures: en UATHelper: 打包 (Windows): LogCook: Display: Cooked packages 0 Packages Remain 882 Total 882 UATHelper: 打包 (Windows): LogCook: Display: Cook Diagnostics: OpenFileHandles=166, VirtualMemory=1279MiB PackagingResults: Warning: Engine.ini:[Core.System]:Paths entry 'C:/Users/Administrator/Documents/Unreal Projects/bhhnr/Plugins/UltraleapTracking/Content' is not mounted. Skipping it. UATHelper: 打包 (Windows): LogScript: Warning: Script Msg: No world was found for object (/Script/BodyState.Default__BodyStateAnimInstance) passed in to UEngine::GetWorldFromContextObject(). PackagingResults: Warning: Script Msg: No world was found for object (/Script/BodyState.Default__BodyStateAnimInstance) passed in to UEngine::GetWorldFromContextObject(). UATHelper: 打包 (Windows): BodyStateLog: Warning: SkeletonForDevice:: Wrong world context UATHelper: 打包 (Windows): LogCook: Display: Garbage collection triggered (Soft). Triggered by conditions: UATHelper: 打包 (Windows): CookSettings.bUseSoftGC: Available physical memory 26286MiB is less than the current target for SoftGC 32587MiB. PackagingResults: Warning: SkeletonForDevice:: Wrong world context
最新发布
08-12
<think>我们正在解决Unreal Engine打包时出现的两个警告: 1. Engine.ini Paths entry not mounted. Skipping it. 2. Wrong world context. 根据经验,这些警告通常与配置文件(如Engine.ini)中的路径设置或世界上下文的使用有关。 首先,对于第一个警告“Paths entry not mounted. Skipping it”,这通常是因为在Engine.ini(或其他ini文件)中配置了路径,但这些路径在打包时没有被正确挂载。在Unreal Engine中,路径是通过虚拟文件系统(VFS)挂载的。如果路径不存在或者没有被正确注册,就会出现这个警告。 解决方案步骤: 1. 检查Engine.ini(或DefaultEngine.ini)中[Core.System]部分的Paths设置。确保这些路径指向有效的目录,并且这些目录在打包时存在。 2. 如果路径是项目特定的,确保这些路径在打包时被包含在项目中。有时,可能需要调整路径设置,使用相对路径或者确保路径大小写正确(在Linux和Mac上尤其重要)。 3. 如果路径是引用引擎内容的,确保在打包时包含这些内容。但通常,引擎内容路径是固定的,不应该出现未挂载的情况,除非你手动添加了自定义路径。 4. 检查项目中是否有不必要的路径设置。如果有,可以删除或注释掉这些行。 第二个警告“Wrong world context”通常与蓝图或代码中获取世界上下文的方式有关。在Unreal Engine中,有些函数需要正确的世界上下文(World Context)来执行。如果传递了错误的世界上下文(比如在服务器上使用了客户端的上下文),就会出现这个警告。 解决方案步骤: 1. 检查出现警告的代码或蓝图节点。通常,这个警告会在使用“GetWorld”或类似函数时出现,尤其是在Actor或组件之外的地方获取世界上下文。 2. 确保在正确的对象上获取世界上下文。例如,在Actor中,可以直接使用GetWorld();而在非Actor对象(如UObject)中,可能需要通过外部传入一个有效的World Context Object。 3. 在蓝图中,检查节点是否传递了正确的World Context Object。有些节点有一个可选的World Context Object输入引脚,确保它连接到了正确的对象(通常是Level Blueprint中的Self,或者是一个有效的Actor)。 4. 如果是在C++代码中,确保使用正确的UWorld指针。在游戏线程中,可以通过GWorld来获取,但更推荐使用从当前对象中获取(如果该对象属于某个World)。注意,在编辑器环境下,GWorld可能指向编辑器世界,而打包后则指向游戏世界。 另外,参考站内引用中并没有直接相关的信息,但我们可以根据经验给出建议。 如果问题仍然存在,可以尝试以下通用步骤: - 清理中间文件(Intermediate)和缓存(Saved)文件夹,然后重新生成项目文件。 - 确保所有资源都正确迁移到项目目录中,没有引用引擎目录外的内容(除非有正确设置)。 - 检查日志文件以获取更详细的错误信息,定位具体是哪个路径或哪个蓝图/代码引起的警告。 由于问题描述中没有提供具体的ini文件内容或代码/蓝图位置,以上是通用的解决方案。 下面,我们将按照用户要求生成相关问题。</think>### Unreal Engine 打包警告解决方案 #### 1. **`Engine.ini Paths entry not mounted. Skipping it` 警告** **原因**:此警告表示 `Engine.ini` 中配置了无效的文件路径(如未正确挂载的虚拟路径或已删除的路径)。 **解决方案**: 1. 打开项目目录下的 `Config/DefaultEngine.ini` 文件。 2. 检查 `[Core.System]` 或 `[Paths]` 部分,定位无效路径(如 `+Paths=...` 条目)。 3. 删除或注释掉无效路径行(行首添加 `;`): ```ini [Core.System] ; 注释掉无效路径 ; +Paths=../../../Engine/InvalidPath ``` 4. 确保所有路径指向实际存在的目录(如 `Content` 子目录需用 `/Game/` 虚拟路径)。 5. 清理缓存后重新打包:删除 `Saved/` 和 `Intermediate/` 文件夹,再执行打包操作[^1]。 #### 2. **`Wrong world context` 警告** **原因**:蓝图脚本中引用了错误的世界上下文(如 UI 蓝图中直接访问关卡 Actor)。 **解决方案**: 1. **检查蓝图节点**: - 在蓝图编辑器中搜索 `Get Player Controller`、`Get Game Mode` 等节点。 - 确保节点输入的 `World Context Object` 正确(如 UI 蓝图应使用 `Get Player Controller` 而非 `Get All Actors Of Class`)。 2. **修复上下文传递**: - 若需跨蓝图通信,使用 **事件分发器(Event Dispatcher)** 或 **蓝图接口(Blueprint Interface)** 传递数据。 - 避免在非关卡蓝图中直接访问关卡专属对象。 3. **验证世界类型**: - 在脚本中添加检查逻辑,确保操作仅在正确的世界类型(如游戏世界而非编辑器预览)执行: ```cpp if (GetWorld()->WorldType == EWorldType::Game) { /* 安全操作 */ } ``` 4. **更新过时节点**: - 替换弃用节点(如旧版 `Get Actor Of Class`),使用推荐的 `Get Actor Of Class` 节点并连接有效上下文[^2]。 --- ### 通用修复流程 1. **清理项目**: - 执行编辑器菜单的 `File > Refresh Visual Studio Project`。 - 删除 `Binaries/`, `Intermediate/`, `Saved/` 文件夹。 2. **验证路径配置**: - 检查 `DefaultEngine.ini` 中所有路径是否有效(如 `/Game/` 开头表示 `Content/` 目录)。 3. **打包命令**: - 使用命令行确保配置正确: ```bash RunUAT BuildCookRun -project="ProjectPath.uproject" -platform=Win64 -noP4 ``` 4. **调试日志**: - 打包时添加 `-LogCmds="LogInit verbose"` 参数,通过输出日志定位具体错误位置。 --- ### 相关问题 1. 如何排查 Unreal Engine 打包失败的其他常见错误(如材质丢失或引用错误)? 2. 在多人协作项目中,如何避免蓝图上下文错误导致的打包警告? 3. Unreal Engine 的虚拟文件路径(如 `/Game/`)有哪些使用规则和注意事项? 4. 如何通过命令行参数优化 Unreal Engine 的打包速度和输出体积? [^1]: 配置文件路径错误常见于自定义引擎路径或迁移项目时,需确保路径与项目结构匹配。 [^2]: 世界上下文错误多发生在 UI 与关卡逻辑混合的蓝图中,需严格分离逻辑层次。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值