You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
UE_LOG(LogBlueprintHookManager, Error, TEXT("Blueprint hook %s has invalid data, blueprint might need to be recompiled."), *HookBlueprintGeneratedClass->GetFullName());
605
+
// It could be invalid due to broken data, removal of the target class/function, or being on a dedicated server (ex. widget blueprints not on servers)
606
+
if (HookDefinition.TargetFunction == nullptr) {
607
+
if (HookDefinition.HookFunction == nullptr) {
608
+
// If the hook function is also invalid, we probably have invalid data
609
+
UE_LOG(LogBlueprintHookManager, Error, TEXT("Blueprint hook asset %s has invalid data and one of its hooks can't be applied. Target structure may have changed or blueprint might need to be recompiled."), *HookBlueprintGeneratedClass->GetFullName());
610
+
} else {
611
+
// If the hook function is still valid, we are probably on a dedicated server where the target blueprint doesn't exist
612
+
// Short form HookFunction name since the function must be defined in the hook blueprint
613
+
UE_LOG(LogBlueprintHookManager, Warning, TEXT("Blueprint hook asset %s hook which would call hook implementation '%s' has invalid Target Function and can't be applied. Either the target structure has changed, or we're running on a dedicated server where the target doesn't exist (for example, widgets) in which case this isn't a problem."), *HookBlueprintGeneratedClass->GetFullName(), *HookDefinition.HookFunction->GetName());
614
+
}
615
+
continue;
616
+
}
617
+
618
+
// Verify other hook required data
619
+
if (HookDefinition.HookFunction == nullptr || HookDefinition.TargetSpecifier == nullptr) {
620
+
UE_LOG(LogBlueprintHookManager, Error, TEXT("Blueprint hook asset %s for target function %s has invalid data and can't be applied. Blueprint might need to be recompiled."), *HookBlueprintGeneratedClass->GetFullName(), *HookDefinition.TargetFunction->GetFullName());
0 commit comments