I am using this cursor Niagara plugin and its a lil bit out dated and I would like some help. I am trying to make the cursor have effect while its in “Crosshair” mode. I am trying to make a basic spark effect and it still isn’t working. Can someone help me out on this?
What kind of camera setup/control scheme are you using First/third-person, top down, side scroller? And do you want the sparks to always stick to crosshair, or only when pressing some botton? Can’t really put Niagara effects in the ui itself without plugin. Generally need to do a line trace from camera, or get world loc under mouse (depending on camera type) and spawn/move the Niagara system to that point. So if the linked plugin doesn’t work anymore, need to fake it by putting system in the world.
I just downloaded plugin and it won’t install.
I am using first person camera. I just want the sparks to happen when click/hold like they are welding something. I went through a guide for a computer set up system in UE5 but it still wont work. I am taking a break from it so I don’t burn myself out of wanting to finish the project. Thank you for helping!
https://www.youtube.com/watch?v=jLRIbAzVtE8 this is what guide I am using but for some reason its not leting my camera switch from actor to pawn camera.
That tut is kinda overkill for just sticking particles to center of view, and requires some other actor to work.
For a simple welding effect, you could calI a function from triggered pin on an enhanced input action event like so:
I just used IA_shoot in first person template with shooter variant since it was already mapped to mouse 1.
Weld function looks like this mess:
After the line trace, I check if sparks var is valid. If not, I spawn Niagara system and set sparks from it.
From is valid, I set its world loc so it follows camera. That select node there is choosing between hit location or trace end, so effect will stay centered even if line trace doesn’t hit anything.
To change the max distance from camera the effect can be, tweak the float value in that multiply node on the left side of graph.
Might want to destroy the system (or hide it) from completed pin on in the input event too.
I don’t have that input somehow. I think I can figure it out from this but I will update when I am able to get to it, ty again. If I do the call function in the player controller will it work for my UI mechanic?
I might just do a image and make it appear on the cursor when clicked to make it easier
Won’t really interact with widget on its own, as my example was just spawning the effect in world space. Don’t need to use the same IA event, any enhanced input action will work as long as the binding uses button down as the trigger type. But, yea, if this is mainly a ui mechanic (like a mini-game on a screen in the game world or something, it might be easier to just use an image in widget).
I appreciate the help sm ty!
Do you have any idea how i can do it with images? I am trying to do it with data table like i found in another post so i can grab a image from a random set and have it placed on the area of the cursor (which i think i can do).
You can animate a material used by an image in widget.
Really rough example mat:
The material domain there is ui, mode translucent.
And here’s the texture for it, rendered with blender in like 5 min:
Turned out too uniform as I just used an icosohere as emitter, and not enough jitter.
Could use a sine node off of time to make it loop back asnd forth instead of restarting.
for a first person crosshair effect skip the outdated cursor plugin entirely, two solid patterns:
world space at the crosshair: hide the hardware cursor, then from the player controller get mouse position, deproject screen to world, and keep a niagara component positioned a few hundred units along that ray. activate on click or hold, deactivate on release. this is the standard fps approach since the effect renders in world space and interacts with depth and lighting properly.
at the impact point instead: while holding, trace from the crosshair every tick and play the weld sparks at the hit location with the hit normal as orientation. usually reads better than sparks floating on the screen plane.
for the hold to charge feel: expose a user float like Charge in the system and set it from blueprint every frame while holding (set variable float), then multiply emitter scale, spawn rate or color intensity by it in the modules. on release deactivate with a fadeout.
set variable float covers the basic case, but if the effect needs types stock does not expose (vector4, bools, arrays, position), the Expose Niagara Variables C++ & Blueprints plugin exposes 18 variable types across all 8 niagara namespaces with the getters, in blueprint and c++, so the charge wiring works for any parameter: Expose Niagara Variables C++ & Blueprints | Fab



