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
{{ message }}
This repository has been archived by the owner on Oct 19, 2020. It is now read-only.
If there is a C# defined class which has a name ending in "Actor" and inherits from AActor there will be warnings on overridden functions (e.g. ReceiveBeginPlay) when opening a Blueprint editor.
This also happens in C++ if you were to create a class UMyActor : UObject and add an exposed function called ReceiveBeginPlay. There would be a warning that there is an ambiguous function conflicting with AActor even though UMyActor has nothing to do with AActor or its ReceiveBeginPlay function.
It doesn't seem like there is any obvious way to deal with this. Is there some way to set up our C# classes so that they are somehow skipped in this check? Blueprints seem to be skipped possibly due to their internal classes having _C suffixed onto their names.
If there isn't any work around for our C# class setup then possibly submit an issue to UE4?
Example: LogUObjectHash: Warning: Ambiguous search, could be Function /Script/Engine.Actor:ReceiveBeginPlay or Function /Script/USharp.TestActor:ReceiveBeginPlay
To reproduce this warning manually: FindObject<UFunction>(ANY_Package, TEXT("Actor:ReceiveBeginPlay"), true);
Callstack:
UE4Editor-CoreUObject.dll!StaticFindObjectFastInternalThreadSafe(FUObjectHashTables & ThreadHash, UClass * ObjectClass, UObject * ObjectPackage, FName ObjectName, bool bExactClass, bool bAnyPackage, EObjectFlags ExcludeFlags, EInternalObjectFlags ExclusiveInternalFlags) Line 517 C++
UE4Editor-CoreUObject.dll!StaticFindObjectFastInternal(UClass * ObjectClass, UObject * ObjectPackage, FName ObjectName, bool bExactClass, bool bAnyPackage, EObjectFlags ExcludeFlags, EInternalObjectFlags ExclusiveInternalFlags) Line 542 C++
UE4Editor-CoreUObject.dll!StaticFindObjectFast(UClass * ObjectClass, UObject * ObjectPackage, FName ObjectName, bool ExactClass, bool AnyPackage, EObjectFlags ExclusiveFlags, EInternalObjectFlags ExclusiveInternalFlags) Line 288 C++
UE4Editor-CoreUObject.dll!StaticFindObject(UClass * ObjectClass, UObject * InObjectPackage, const wchar_t * OrigInName, bool ExactClass) Line 365 C++
UE4Editor-Kismet.dll!FBlueprintSpawnNodeCommands::RegisterCommands() Line 328 C++
UE4Editor-Kismet.dll!TCommands<FBlueprintSpawnNodeCommands>::Register() Line 57 C++
UE4Editor-Kismet.dll!FBlueprintEditor::CreateDefaultCommands() Line 2375 C++
UE4Editor-Kismet.dll!FBlueprintEditor::CommonInitialization(const TArray<UBlueprint *,FDefaultAllocator> & InitBlueprints) Line 1650 C++
UE4Editor-Kismet.dll!FBlueprintEditor::InitBlueprintEditor(const EToolkitMode::Type Mode, const TSharedPtr<IToolkitHost,0> & InitToolkitHost, const TArray<UBlueprint *,FDefaultAllocator> & InBlueprints, bool bShouldOpenInDefaultsMode) Line 1768 C++
UE4Editor-Kismet.dll!FBlueprintEditorModule::CreateBlueprintEditor(const EToolkitMode::Type Mode, const TSharedPtr<IToolkitHost,0> & InitToolkitHost, UBlueprint * Blueprint, bool bShouldOpenInDefaultsMode) Line 257 C++
UE4Editor-AssetTools.dll!FAssetTypeActions_Blueprint::OpenAssetEditor(const TArray<UObject *,FDefaultAllocator> & InObjects, TSharedPtr<IToolkitHost,0> EditWithinLevelEditor) Line 87 C++
UE4Editor-UnrealEd.dll!FAssetEditorManager::OpenEditorForAsset(UObject * Asset, const EToolkitMode::Type ToolkitMode, TSharedPtr<IToolkitHost,0> OpenedFromLevelEditor, const bool bShowProgressWindow) Line 378 C++
UE4Editor-AssetTools.dll!FAssetTypeActions_Base::AssetsActivated(const TArray<UObject *,FDefaultAllocator> & InObjects, EAssetTypeActivationMethod::Type ActivationType) Line 57 C++
UE4Editor-ContentBrowser.dll!SContentBrowser::OnAssetsActivated(const TArray<FAssetData,FDefaultAllocator> & ActivatedAssets, EAssetTypeActivationMethod::Type ActivationMethod) Line 2085 C++
UE4Editor-ContentBrowser.dll!TBaseSPMethodDelegateInstance<0,SContentBrowser,0,void __cdecl(TArray<FAssetData,FDefaultAllocator> const & __ptr64,enum EAssetTypeActivationMethod::Type)>::ExecuteIfSafe(const TArray<FAssetData,FDefaultAllocator> & <Params_0>, EAssetTypeActivationMethod::Type <Params_1>) Line 345 C++
UE4Editor-ContentBrowser.dll!SAssetView::OnListMouseButtonDoubleClick(TSharedPtr<FAssetViewItem,0> AssetItem) Line 4046 C++
UE4Editor-ContentBrowser.dll!TBaseSPMethodDelegateInstance<0,SAssetView,0,void __cdecl(TSharedPtr<FAssetViewItem,0>)>::ExecuteIfSafe(TSharedPtr<FAssetViewItem,0> <Params_0>) Line 345 C++
UE4Editor-ContentBrowser.dll!TBaseDelegate<void,TSharedPtr<FAssetViewItem,0> >::ExecuteIfBound(TSharedPtr<FAssetViewItem,0> <Params_0>) Line 624 C++
UE4Editor-ContentBrowser.dll!SListView<TSharedPtr<FAssetViewItem,0> >::Private_OnItemDoubleClicked(TSharedPtr<FAssetViewItem,0> TheItem) Line 815 C++
UE4Editor-ContentBrowser.dll!STableRow<TSharedPtr<FAssetViewItem,0> >::OnMouseButtonDoubleClick(const FGeometry & InMyGeometry, const FPointerEvent & InMouseEvent) Line 310 C++
UE4Editor-Slate.dll!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FPointerEvent,<lambda_eeb33fd1b480e3cad58a1531d90d2e14> >(FSlateApplication * ThisApplication, FEventRouter::FBubblePolicy RoutingPolicy, FPointerEvent EventCopy, const FSlateApplication::RoutePointerDoubleClickEvent::__l2::<lambda_eeb33fd1b480e3cad58a1531d90d2e14> & Lambda) Line 268 C++
UE4Editor-Slate.dll!FSlateApplication::RoutePointerDoubleClickEvent(FWidgetPath & WidgetsUnderPointer, FPointerEvent & PointerEvent) Line 5922 C++
UE4Editor-Slate.dll!FSlateApplication::ProcessMouseButtonDoubleClickEvent(const TSharedPtr<FGenericWindow,0> & PlatformWindow, FPointerEvent & InMouseEvent) Line 5909 C++
UE4Editor-Slate.dll!FSlateApplication::OnMouseDoubleClick(const TSharedPtr<FGenericWindow,0> & PlatformWindow, const EMouseButtons::Type Button, const FVector2D CursorPos) Line 5885 C++
UE4Editor-ApplicationCore.dll!FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage & DeferredMessage) Line 1740 C++
UE4Editor-ApplicationCore.dll!FWindowsApplication::DeferMessage(TSharedPtr<FWindowsWindow,0> & NativeWindow, HWND__ * InHWnd, unsigned int InMessage, unsigned __int64 InWParam, __int64 InLParam, int MouseX, int MouseY, unsigned int RawInputFlags) Line 2182 C++
UE4Editor-ApplicationCore.dll!FWindowsApplication::ProcessMessage(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 895 C++
UE4Editor-ApplicationCore.dll!FWindowsApplication::AppWndProc(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 732 C++
user32.dll!0000000077249bbd() Unknown
user32.dll!00000000772498c2() Unknown
UE4Editor-ApplicationCore.dll!FWindowsPlatformApplicationMisc::PumpMessages(bool bFromMainLoop) Line 129 C++
UE4Editor.exe!FEngineLoop::Tick() Line 3417 C++
UE4Editor.exe!GuardedMain(const wchar_t * CmdLine, HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, int nCmdShow) Line 166 C++
UE4Editor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Line 209 C++
UE4Editor.exe!__scrt_common_main_seh() Line 283 C++
kernel32.dll!00000000771259cd() Unknown
ntdll.dll!000000007738385d() Unknown
The text was updated successfully, but these errors were encountered:
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
If there is a C# defined class which has a name ending in "Actor" and inherits from AActor there will be warnings on overridden functions (e.g. ReceiveBeginPlay) when opening a Blueprint editor.
This also happens in C++ if you were to create a class UMyActor : UObject and add an exposed function called ReceiveBeginPlay. There would be a warning that there is an ambiguous function conflicting with AActor even though UMyActor has nothing to do with AActor or its ReceiveBeginPlay function.
Example:
LogUObjectHash: Warning: Ambiguous search, could be Function /Script/Engine.Actor:ReceiveBeginPlay or Function /Script/USharp.TestActor:ReceiveBeginPlay
To reproduce this warning manually:
FindObject<UFunction>(ANY_Package, TEXT("Actor:ReceiveBeginPlay"), true);
Callstack:
The text was updated successfully, but these errors were encountered: