解决虚幻引擎5.4无法编译插件问题

适应症:UAT编译插件报错,退出代码为6,错误信息表明验证版本是否符合条件的一个函数值为意外的null。

解决方法:用VS打开UE_5.4\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.sln,编辑Configuration/ModuleRules.cs。

找到IsValidForTarget这一方法(这一方法有多个,找到其中第一行赋值了supportedTargetTypes的那一个)。将其中的第一行赋值代码改为

IEnumerable<TargetType> supportedTargetTypes = new TargetType[] { };
			try
			{
				supportedTargetTypes = moduleType
					.GetCustomAttributes<SupportedTargetTypesAttribute>().SelectMany(x => x.TargetTypes).Distinct();
			}
			catch
			{
				string module_name = (moduleType != null) ? moduleType.Name : "<null>";
				invalidReason = $"TargetType '{targetRules.Type}' : Failed to get SupportedTargetTypesAttribute from '{module_name}'";
				return false;
			}

重新编译项目,正常情况下应能生成新的UE_5.4\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll。这将使其正常返回并解决问题。

参考资料:[UBT Bug] No longer able to compile plugins in standalone since 5.3 - Development / Pipeline & Plugins - Epic Developer Community Forums (unrealengine.com)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值