[Resolved] &blueprint annotation seems broken


#1

I was just creating some new blueprint events, e.g.:

&blueprint
()

I can see and call these in my blueprint but when I start the game or relaunch the editor I’m getting this guy:

Any changes in this area recently?


#2

This seems related to my enum issue that I posted in the private section. I tried to man-handle a C++ enum that wasn’t being generated, this caused some odd behavior most likely because it was wiped out on the next UHT run.


#3

Yikes, maybe I spoke too soon. Seems like every editor restart I get the issue, even after getting rid of all the enum stuff. To fix temporarily I have to delete all of the :sk: nodes from my blueprint and add new ones.


#4

I just submitted a fix for this. Please get latest and let me know if it works for you!


#5

The fix looks good! Thanks.


#6

So I was adding some more functionality to my bot and after another engine restart seem to be experiencing a slightly different variation of this.

Now the symptom is that I trip on an ensure with the following stack:

UE4Editor-BlueprintGraph.dll!UEdGraphSchema_K2::CreateSubstituteNode(UEdGraphNode * Node, const UEdGraph * Graph, FObjectInstancingGraph * InstanceGraph, TArray<FName,FDefaultAllocator> & InOutExtraNames) Line 5723	C++
UE4Editor-UnrealEd.dll!`anonymous namespace'::FixOverriddenEventSignature(UK2Node_Event * EventNode, UBlueprint * Blueprint, UEdGraph * CurrentGraph) Line 5903	C++
UE4Editor-UnrealEd.dll!FBlueprintEditorUtils::ConformImplementedEvents(UBlueprint * Blueprint) Line 5944	C++
UE4Editor-KismetCompiler.dll!FKismetCompilerContext::Compile() Line 3618	C++
UE4Editor-KismetCompiler.dll!FKismet2CompilerModule::CompileBlueprintInner(UBlueprint * Blueprint, const FKismetCompilerOptions & CompileOptions, FCompilerResultsLog & Results, TSharedPtr<FBlueprintCompileReinstancer,0> Reinstancer, TArray<UObject *,FDefaultAllocator> * ObjLoaded) Line 100	C++
UE4Editor-KismetCompiler.dll!FKismet2CompilerModule::CompileBlueprint(UBlueprint * Blueprint, const FKismetCompilerOptions & CompileOptions, FCompilerResultsLog & Results, TSharedPtr<FBlueprintCompileReinstancer,0> ParentReinstancer, TArray<UObject *,FDefaultAllocator> * ObjLoaded) Line 200	C++
UE4Editor-UnrealEd.dll!FKismetEditorUtilities::CompileBlueprint(UBlueprint * BlueprintObj, bool bIsRegeneratingOnLoad, bool bSkipGarbageCollection, bool bSaveIntermediateProducts, FCompilerResultsLog * pResults, bool bSkeletonUpToDate, bool bBatchCompile, bool bAddInstrumentation) Line 784	C++
UE4Editor-SkookumScriptEditor.dll!FSkookumScriptEditor::recompile_blueprints_with_errors() Line 184	C++
UE4Editor-SkookumScriptEditor.dll!FSkookumScriptEditor::on_class_updated(UClass * ue_class_p) Line 237	C++
UE4Editor-SkookumScriptRuntime.dll!SkUEBlueprintInterface::reexpose_class(SkClass * sk_class_p, UClass * ue_class_p, AFunctionArgBase<UClass *> * on_class_updated_f, bool is_final) Line 154	C++
UE4Editor-SkookumScriptRuntime.dll!SkUEBlueprintInterface::reexpose_class(SkClass * sk_class_p, AFunctionArgBase<UClass *> * on_class_updated_f, bool is_final) Line 93	C++
UE4Editor-SkookumScriptRuntime.dll!SkUEBlueprintInterface::reexpose_class_recursively(SkClass * sk_class_p, AFunctionArgBase<UClass *> * on_class_updated_f, bool is_final) Line 161	C++
UE4Editor-SkookumScriptRuntime.dll!SkUEBlueprintInterface::reexpose_class_recursively(SkClass * sk_class_p, AFunctionArgBase<UClass *> * on_class_updated_f, bool is_final) Line 167	C++
UE4Editor-SkookumScriptRuntime.dll!SkUEBlueprintInterface::reexpose_class_recursively(SkClass * sk_class_p, AFunctionArgBase<UClass *> * on_class_updated_f, bool is_final) Line 167	C++
UE4Editor-SkookumScriptRuntime.dll!SkUEBlueprintInterface::reexpose_all(AFunctionArgBase<UClass *> * on_class_updated_f, bool is_final) Line 180	C++
UE4Editor-SkookumScriptRuntime.dll!SkUERuntime::reexpose_all_to_blueprints(bool is_final) Line 254	C++
UE4Editor-SkookumScriptEditor.dll!FSkookumScriptEditor::on_map_opened(const FString & file_name, bool as_template) Line 346	C++
UE4Editor-SkookumScriptEditor.dll!TBaseRawMethodDelegateInstance<0,FSkookumScriptEditor,void __cdecl(FString const & __ptr64,bool)>::ExecuteIfSafe(const FString & <Params_0>, bool <Params_1>) Line 639	C++
UE4Editor-UnrealEd.dll!TBaseMulticastDelegate<void,FString const & __ptr64,bool>::Broadcast(const FString & <Params_0>, bool <Params_1>) Line 922	C++
UE4Editor-UnrealEd.dll!FEditorFileUtils::LoadMap(const FString & InFilename, bool LoadAsTemplate, const bool bShowProgress) Line 2244	C++
UE4Editor-UnrealEd.dll!FEditorFileUtils::LoadDefaultMapAtStartup() Line 3496	C++
UE4Editor-UnrealEd.dll!FUnrealEdMisc::OnInit() Line 309	C++
UE4Editor-UnrealEd.dll!EditorInit(IEngineLoop & EngineLoop) Line 89	C++
UE4Editor.exe!GuardedMain(const wchar_t * CmdLine, HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, int nCmdShow) Line 136	C++
UE4Editor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Line 191	C++

Once I get back into my BP, if I hit compile, the :sk: nodes have errors on them and oddly enough the case on them looks incorrect. Example of bad vs good node.


#7

Hmm odd. Can you send me a test case, or steps to reproduce?


#8

Well a lot has changed in the project but related to this blueprint, apart from about an hour of writing new coroutines I:

  • Deleted 3 &blueprint annotated functions, state_idle, state_attack, state_vulnerable
  • Added a new &blueprint annotated function update_bot_animation

Contents:

&blueprint
(Integer state) 

Then just wired it up

It would take me a bit but I could package up the delta of changes between this and the last drop you have.


#9

Ok so I got this to happen once - but not a second time. I add new events and they all work fine, even after editor restart.


#10

I’ve done something different, may be hard to pinpoint what exactly. I might have to package up or illustrate remotely.


#11

So I just loaded up and now my project is working fine and I can’t reproduce. We’ll call it resolved for now.