copied code from one blueprint to another and now unreal crashes everytime i press play.

So, I had a camera blueprint that was being controlled by mobile controls. When i Updated to 4.26 unreal was constantly crashing, and some of the blueprints got corrupted. I noticed that the camera blueprint was giving me errors for seemingly no reason, so i copied every variable, function, macro, and event over to a brand new blueprint. Unreal now seems to crash for no reason. I should also note, this blueprint was 100% functional in 4.25, and no new code was added to it after updating to 4.26. and it compiles fine with no errors. Here is the Log, somebody please help!


Assertion failed: Src [File:D:/Build/++UE4/Sync/Engine/Source/Runtime/CoreUObject/Private/UObject/Class.cpp] [Line: 3028]

UE4Editor_Core!AssertFailedImplV() [D:\Build++UE4\Sync\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:102]
UE4Editor_Core!FDebug::CheckVerifyFailedImpl() [D:\Build++UE4\Sync\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:458]
UE4Editor_CoreUObject!UScriptStruct::CopyScriptStruct() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Class.cpp:3028]
UE4Editor_Engine!UKismetSystemLibrary::Generic_SetStructurePropertyByName() [D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Private\KismetSystemLibrary.cpp:1222]
UE4Editor_Engine!UKismetSystemLibrary::execSetStructurePropertyByName() [D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Classes\Kismet\KismetSystemLibrary.h:860]
UE4Editor_CoreUObject!UFunction::Invoke() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Class.cpp:5588]
UE4Editor_CoreUObject!UObject::CallFunction() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:990]
UE4Editor_CoreUObject!UObject::ProcessContextOpcode() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:2863]
UE4Editor_CoreUObject!ProcessLocalScriptFunction() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:1060]
UE4Editor_CoreUObject!ProcessScriptFunction<void (__cdecl*)(UObject *,FFrame &,void *)>() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:891]
UE4Editor_CoreUObject!ProcessLocalFunction() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:1121]
UE4Editor_CoreUObject!ProcessLocalScriptFunction() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:1060]
UE4Editor_CoreUObject!UObject::ProcessInternal() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:1148]
UE4Editor_CoreUObject!UFunction::Invoke() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Class.cpp:5588]
UE4Editor_CoreUObject!UObject::ProcessEvent() [D:\Build++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:1985]
UE4Editor_Engine!AActor::ProcessEvent() [D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Private\Actor.cpp:864]
UE4Editor_Engine!AActor::BeginPlay() [D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Private\Actor.cpp:3577]
UE4Editor_Engine!AActor::DispatchBeginPlay() [D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Private\Actor.cpp:3517]
UE4Editor_Engine!AWorldSettings::NotifyBeginPlay() [D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Private\WorldSettings.cpp:247]
UE4Editor_Engine!AGameStateBase::HandleBeginPlay() [D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Private\GameStateBase.cpp:205]
UE4Editor_Engine!UWorld::BeginPlay() [D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Private\World.cpp:4342]
UE4Editor_Engine!UGameInstance::StartPlayInEditorGameInstance() [D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Private\GameInstance.cpp:483]
UE4Editor_UnrealEd!UEditorEngine::CreateInnerProcessPIEGameInstance() [D:\Build++UE4\Sync\Engine\Source\Editor\UnrealEd\Private\PlayLevel.cpp:2930]
UE4Editor_UnrealEd!UEditorEngine::OnLoginPIEComplete_Deferred() [D:\Build++UE4\Sync\Engine\Source\Editor\UnrealEd\Private\PlayLevel.cpp:1503]
UE4Editor_UnrealEd!UEditorEngine::CreateNewPlayInEditorInstance() [D:\Build++UE4\Sync\Engine\Source\Editor\UnrealEd\Private\PlayLevel.cpp:1750]
UE4Editor_UnrealEd!UEditorEngine::StartPlayInEditorSession() [D:\Build++UE4\Sync\Engine\Source\Editor\UnrealEd\Private\PlayLevel.cpp:2700]
UE4Editor_UnrealEd!UEditorEngine::StartQueuedPlaySessionRequestImpl() [D:\Build++UE4\Sync\Engine\Source\Editor\UnrealEd\Private\PlayLevel.cpp:1116]
UE4Editor_UnrealEd!UEditorEngine::StartQueuedPlaySessionRequest() [D:\Build++UE4\Sync\Engine\Source\Editor\UnrealEd\Private\PlayLevel.cpp:1019]
UE4Editor_UnrealEd!UEditorEngine::Tick() [D:\Build++UE4\Sync\Engine\Source\Editor\UnrealEd\Private\EditorEngine.cpp:1623]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [D:\Build++UE4\Sync\Engine\Source\Editor\UnrealEd\Private\UnrealEdEngine.cpp:426]
UE4Editor!FEngineLoop::Tick() [D:\Build++UE4\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:4834]
UE4Editor!GuardedMain() [D:\Build++UE4\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:169]
UE4Editor!GuardedMainWrapper() [D:\Build++UE4\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:137]
UE4Editor!WinMain() [D:\Build++UE4\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:268]
UE4Editor!__scrt_common_main_seh() [d:\agent_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]

This happened because of an internal file overwrite.

okay cool… how do i fix that?

File overwrites cannot be fixed unfortunately. You will have to make a new blueprint

You could also try updating to a later version, that would purge only the overwritten code.

im on 4.26, this is the latest version there is nothing higher. And i DID make a new blueprint, i simply copied and pasted all the code from inside the old one to the new one and this happened. Are you saying ill have to do that a second time? How do i prevent this from happening again?

I would actually like to point out, i literally just did this. For the second time i copied and pasted the blueprint to a brand new one. As soon as it gets spawned in the game the game crashes with the same errors… Ive basically come to the conclusion that 4.26 is an unstable and unusable piece of ■■■■, and there is no fixing this…

There’s a lot of reasons to get these errors from copying code from one to another. I’m curious why this needed to happen in the first place. As for prevention in the future, again, why did this need to happen in the first place? Are you duplicating it because you want the same code to start from but want to alter things from that point? Duplicating the asset is better than just the code. Is that not possible because the new blueprint is a different class type? That’s prone to errors.

The error log is a lot to read through and unfortunately I can’t determine the issue from that info. What do the two blueprints look like, is there a lot of code?
This issue could be caused from a duplication of a function, event, timeline, possibly a variable. I couldn’t say without knowing what’s in it though (that’s me anyways).

great question, i was working in a project in 4.25, updated it to 4.26, then the editor was constantly crashing like every 10 minutes. I had to reinstall windows visual studio unreal, etc. to make this stop happening. Upon trying to work in the same project again, the blueprints were giving errors for things that didnt make any sense (like int and boolean variables being “invalid” and being unable to compile the blueprints i was working in) after a lot of research it turned out something with the blueprint files got corrupted, since we had to add multiplayer functionality anyway, i started the entire project over from scratch.
After starting the project over, I realized the camera was giving me similar nonsense errors so i tried to copy and paste all the event variables and functions over, and then as soon as i press play the game crashes, whether its spawned in the level or dragged in (and again, nothing in the blueprint was ever changed before the crashes started and it was always working perfectly).
So yes, the blueprint would be a different type, however nothing in the other blueprints was even referencing it yet (other than the one blueprint spawning it in). Even if i delete the line of code spawning it, and just drag it in the level, same result, crash.

Well i finally figured out what the problem is, i was passing my controller as an expose on spawn variable in the camera blueprint, it was then taking an array of characters from the controller and setting it to an array variable in the camera blueprints. Apparently, you cant get arrays from other blueprints in the current blueprint in 4.26, this should probably be reported as a bug or something

I am passing arrays between blueprints in my project and using 4.26. It might be an odd matter of changing the variable back to single then array again and that might help the editor. Copy/pasting blueprints tend to be unreliable.

Sorry to hear that there was this issue when transitioning between versions. General advice is to stay locked into the current engine version for the project for this very reason. Cpp is a bit less volatile because it’s text already, blueprints on the otherhand…

As for redoing everything with concern over multiplayer implementation, it’s a good decision to start from the ground up. I would test more often though, in editor, and make builds constantly. Sometimes there are odd errors even without custom code that could be a cause of issues. Plugins, VS, project directories, duplicated enums/structs, these are sensitive items to test.

thanks for the reply, I am sort of still having this error, although unreal still crashes, it seems to be a memory issue.
First let me say, this game is very UI heavy, a lot going on with that
From what I have read online, Garbage Collection doesnt work properly on UI widgets, and you cant manually make them collect garbage like other blueprints, so i think memory is just leaking into the widgets and then cant be freed so the game crashes
Ive been working on this for months, and still havent been able to fix the issue, The logs dont tell me what actually caused it to crash so i have no way of actually knowing