UE5 Ds服务器编译调试遇到问题解决
shadercompileworker.build.cs(34, 28): [cs0103] 当前上下文中不存在名称“directx”
替换ShaderCompileWorker.Target.cs的路径:
if (Target.Platform == UnrealTargetPlatform.Win64)
{
//RuntimeDependencies.Add(DirectX.GetDllDir(Target) + "d3dcompiler_47.dll");
RuntimeDependencies.Add(Path.Combine(Target.RelativeEnginePath, "Binaries/ThirdParty/Windows/DirectX/x64/d3dcompiler_47.dll"));
}
编译完成运行起来各种模块缺失
Programs文件夹下的项目也需要编译:
rider 的 Build Solution可以一起编译构建这些
Vs的话,可以多选吧,自己摸索摸索就知道了,保底不是有个设置启动项吗(小编表示vs转rider,真香)
Corrupt data found, please verify your installation.
从下面代码可以猜测出需要Cook之后才有用,因此只需要Cook一遍就行
//UObjectGlobals.cpp 9
LoadPackageInternal()
{
if (ShouldAlwaysLoadPackageAsync(PackagePath))
{
}
}
//CoreUObject\Private\Serialization\AsyncLoading.cpp
bool FAsyncLoadingThread::ShouldAlwaysLoadPackageAsync(const FPackagePath& InPackagePath)
{
return FPlatformProperties::RequiresCookedData() && GEventDrivenLoaderEnabled && EVENT_DRIVEN_ASYNC_LOAD_ACTIVE_AT_RUNTIME;
}
//Core\Public\Windows\WindowsPlatformProperties.h
template<bool HAS_EDITOR_DATA, bool IS_DEDICATED_SERVER, bool IS_CLIENT_ONLY>
FWindowsPlatformProperties{
static FORCEINLINE bool RequiresCookedData()
{
return !HAS_EDITOR_DATA;
}
}
typedef FWindowsPlatformProperties<WITH_EDITORONLY_DATA, UE_SERVER, !WITH_SERVER_CODE && !WITH_EDITOR> FPlatformProperties;
小编在Cook完所对于场景内容之后就没有这个提醒了