This is the function to use.
When using hardware cursors, make sure the cursor file is not an imported .uasset, you need the files in the correct directory, but not actually imported to the engine.
Go to Project Settings → Engine - User Interface → Hardware Cursors and define a directory where your cursor images are stored. Use your game name (content root folder) for the relative path.
For example, you need cursor_hand.png not cursor_hand.uasset. The png file will not actually be visible in the content browser in engine, but can be read this way. No need to add the file extension for the function call either, just the name.
Finally, make sure to add your hardware cursor directory to be cooked when packaging your project.
Project Settings → Packaging → Additional Non-Asset Directories to Package

From the cursor path tooltip, you can also just add a Slate directory for your cursor files since that will always be cooked.


