

Void FWindowsCursor::ResetCursor(EMouseCursor::Type CursorToReset) HCURSOR CursorHandle = LoadCursorFromFile((LPCTSTR)*PathToCursor) ĬursorHandles = CursorHandle We ignore CursorHotSpot parameter and taking hotspot coords from resource. If (IFileManager::Get().FileSize(*PathToCursor) = INDEX_NONE || !(PathToCursor.EndsWith(TEXT(".cur")) || PathToCursor.EndsWith(TEXT(".ani")))) Void FWindowsCursor::SetCustomCursor(EMouseCursor::Type CursorToChange, FString PathToCursor, FIntPoint CursorHotSpot) Virtual void ResetCursor(EMouseCursor::Type CursorToReset) override

Virtual void SetCustomCursor(EMouseCursor::Type CursorToChange, FString PathToCursor, FIntPoint CursorHotSpot) override First lets edit Engine/Source/Runtime/Core/Public/Windows/WindowsCursor.h and Engine/Source/Runtime/Core/Private/Windows/WindowsCursor.cpp: Next, let’s implement these functions for both platforms. Virtual void ResetCursor(EMouseCursor::Type CursorToReset) = 0 * Sets default image for cursor of certain type */ Virtual void SetCustomCursor(EMouseCursor::Type CursorToChange, FString PathToCursor, FIntPoint CursorHotSpot) = 0 * Sets image from file for cursor of certain type */

Open file Engine/Source/Runtime/Core/Public/GenericPlatform/ICursor.h and add inside class ICursor: Ok, let’s edit basic engine cursor interface and add a couple of functions there.
