多人Tps教程学习遇到的问题记录

遇到的问题根据学习课程的顺序记录:
课程链接:
https://www.bilibili.com/video/BV1Zr4y1G79Z/?spm_id_from=333.999.0.0

某些编译,生成的问题:
1.无法识别某些函数变量,多半是visual studio intenllisense的问题,到淘宝买一下小番茄插件(visual assist)或使用Rider for unreal基本能解决。

2.新建c++文件或使用某些宏会有红色波浪线(但不影响编译),保存文件后删掉项目文件夹中的临时文件(Binary,Intermediate,Saved)再重新生成solution文件一般可以解决,如果是插件c++文件则需要删除插件文件夹中的临时文件再重新生成solution。

3.在Editor打开的情况下,在vs中Build会失败。可尝试在Editor右下角关掉Enable Live Coding再Build。

当然也有一定的几率Build failed,最稳妥的一定是把editor也关掉后再悬着Start Without Debugging重新打开你的Editor,特别是涉及头文件的改动时。

4.无法Start without Debugging

查看vs solution启动项是否改为了UE5,应该是要你的项目名才对:

AnimationBP相关问题(约第33个视频开始):

在Editor中创建AnimInstance BP用自己写的C++ AnimInstance做父类会Crash,或者Reparant成自己的也会Crash。
对照老师代码发现是自己在c++中少加了这句if check导致崩溃:

p35:
Build报错

1>D:\unreal_project\Tutorial_MultiPlayerTPS\Blaster\Source\Blaster\HUD\OverheadWidget.h(28): error C3668: 'UOverheadWidget::OnLevelRemovedFromWorld': method with override specifier 'override' did not override any base class methods
1>[2/5] Compile OverheadWidget.cpp
1>D:\unreal_project\Tutorial_MultiPlayerTPS\Blaster\Source\Blaster\HUD\OverheadWidget.h(28): error C3668: 'UOverheadWidget::OnLevelRemovedFromWorld': method with override specifier 'override' did not override any base class methods
1>D:\unreal_project\Tutorial_MultiPlayerTPS\Blaster\Source\Blaster\HUD\OverheadWidget.cpp(41): error C2039: 'OnLevelRemovedFromWorld': is not a member of 'UUserWidget'
1>D:\UnrealEngine\UE_5.1\Engine\Source\Runtime\UMG\Public\Blueprint\UserWidget.h(209): note: see declaration of 'UUserWidget'
在UE5.1中此方法已取消,改为NativeDestruct()详情请看:
https://forums.unrealengine.com/t/where-is-uuserwidget-onlevelremovedfromworld-in-5-1/692215

持续更新...