Add cursor customization or allow use of system cursor

Appreciate the replies, @DJSamhein and @Llama8. I’ll give Yolomouse a try as it appears to be the only real option for people with accessibility needs to be able to play the game without major frustrations. It’s a shame, becaues it’s a great game. While I doubt it will ever happen, I guess I’ll keep hoping Unity’s team decides to show their heads some sunshine and add this functionality at some point.

All, please consider this the close of my thread.

2 Likes

Sorry, but no. If third party softwares like Yolomouse can change the cursor in your game, then you as a developer can also change the cursor in your game natively. There can be many valid reasons to not do it (you lack the knowledge, the time or the interest, for example), but “it can´t be done” is obviously not one of them, since it HAS been done by other developers that don´t even have access to your source code.

Yolomouse doesn’t change how Unity renders the cursor which is what would be required to do what everybody wants.

Yolomouse allows the player SEE their cursor the way they want, which IS what everybody wants. I could not care less about Unity or how it renders the cursor. I care about how I end up seeing it. It is absolutely irrelevant whether Unity itself can do X or Y. The only relevant issue is that the GAME renders the cursor the way we want. It is obvious that if you make Last Epoch = Current Last Epoch + Yolomouse, the resulting game WOULD give us the functionality we request (i.e. it can be done). Therefore it is quite misleading to say “Unity can or can not do X”, to convey the FALSE idea that the functionality can not be introduced in the game (implying it would require something as drastic as an engine change).

You are suggesting to build a new rendering engine on top of the existing game engine. This sounds like a colossaly stupid idea, but I’m open to it. Stupid ideas sometimes lead to genious ideas.

Which is why the devs let you use Yolomouse without fear of being banned for it.
Yolomouse already does what you want. Why would the devs need to waste time creating another Yolomouse, using a completely different programming tool and having to publish it as an addon/DLC (since it can’t be bundled with Unity, it’s a separate program altogether)?
Especially since Yolomouse already has a free version and you don’t even need to pay to use it.

It’s isn’t misleading, though. Unity can’t do this. To do this, the devs would need to use another engine (even if it’s just .Net framework or whatever) just for hacking the cursor like Yolomouse does. And it would have to be published separately.

1 Like

I am suggesting to add cursor customization in a game in 2025. The only stupid thing here is saying it can not be made.

First, Yolomouse has to be PURCHASED separately and second, Yolomouse is Windows-only. I only use Linux. I paid 50 bucks in the Kickstarter for a Last Epoch that promised a Linux version. I kept playing it when they removed the Linux client just because it runs decently with Proton. Asking me to pay extra for a separate Windows-only software, just to provide me with a pretty basic functionality is, frankly, quite insulting. I would rather be told “we could do it, but it is very low in our priority list”, or just “we don’t wanna”, rather than having my intelligence insulted by saying that it can not be done “because Unity can not do it”. Any game using any engine does TONS more things than the engines can not do. A game USES an engine, is NOT an engine. Stop making it look like what Yolomouse does is a titanic endeavour that “would have to be published separately” (I wonder what makes you think that, or think I would be fooled into believing it), or that “they would have to use another engine”. They might have to use .NET, or Python, or C++ or whatever other language or framework in addition to the 100 they already use on top of Unity, which is only an engine. A game is MUCH more than just an engine.

How’d you get a custom profile picture on the forum???

It does not. There is a free version on github.

It is not. It can be used with linux and many people do.
Besides, LE is “windows-only” as well. And if the devs were to make another Yolomouse, it would also be “windows-only”.

I honestly don’t know why you would think the devs wasting time making another Yolomouse would be a good use of their time. Especially when Yolomouse has been around for years and has dealt with most issues that came up, whereas EHG would have to deal with them all from the start, using a team that isn’t dedicated to making a software for this.

And, like I pointed out, it wouldn’t even be a part of LE. It would have to be bundled separately as an addon/DLC. So you’re basically asking the devs to waste a few months (more likely years) creating and maintaining a tool that already exists for free. And how many new players would LE get with that to justify the investment?

1 Like

The same devs that did this great game are, according to you, so inept that they would have to spend “more likely years” creating and maintaining the ground breaking and titanic in scope feature of… allowing the user to change the cursor. Sure.
Does the game ship with a fixed cursor that Unity provides? Do all Unity games ship with the exact same holy PNG cursor that Unity provides? Why not? Because the cursor is an asset. It is an element that the developers introduce in the game via data files, and is loaded by the engine, as all other assets that the engine renders. Maybe Unity does not allow for dynamic loading of that specific asset. But OBVIOUSLY it allows for loading of a custom asset for the cursor at start time. I would find it massively unbelievable for it to be impossible to easily change the asset and then have Unity load the new asset on game restart. I would perfectly understand if a dev told me that changing the cursor requires a restart of the game, in the scenario I described. But saying that the cursor can not be changed “because Unity”, and that the only solution would be a massive waste of effort from the devs is not serious.

It is, though. Unity doesn’t define the cursor at game start. It compiles it into an asset during build. So when it’s published, that’s it.

They can, and obviously have, changed the default cursor. LE’s cursor is obviously one they made and isn’t the default one. But once they build the game so they can release the new patch, the cursor gets locked in and can’t change anymore. To change it, they would need to make the changes to the cursor and then build it again and release once more.
There is no way in Unity where you can have one cursor style and I can have another cursor style. Once it’s in, it’s locked and it’s the same for everyone.

What Yolomouse does is a hack. They detect the mouse render and superimpose their own renders on it. It’s the same thing EHG would have to do to accomplish this. They would need to create an external tool for it.
And yes, it would likely take months, even copying their code. Which, again, would be a totally futile thing to do when you already have software that does exactly that.
At least the Yolomouse team has the option to sell it and gain something from it. EHG wouldn’t have even that.

EDIT: Maybe this will make it clearer to you. It’s Mike’s reply to the other thread I linked above:

And do note that he says it gets locked in “as soon as we make a game build”. Not when we start the game.

By the way, I just asked chatGPT that, and it seems that that Unity limitation is bullshit. Of course, chatGPT could be wrong, would not be the first time. I asked:

I have been told that Unity games can not be made to allow the user to change mouse cursor. Were they lying to me?

chatGPT answered:

They were incorrect — or at best, misinformed.
Truth: Unity absolutely supports custom, user-changeable mouse cursors.
Unity has built-in APIs that let developers load and change cursors at runtime. For example:
Cursor.SetCursor(myCursorTexture, hotspot, CursorMode.Auto);
This means a Unity developer can:
* Dynamically change the mouse cursor
* Load different cursor images at runtime
* Even expose an in-game cursor customization setting

Of course, chatGPT could be hallucinating, but I tend to believe it is not. It even points to actual Unity documentation: Unity - Scripting API: Cursor.SetCursor. The cursor can even be made to change depending on where it is pointing to.

It is. Or rather, it answered a different question.
EHG can define dozens of different cursors for dozens of different cursors. And yes, EHG can say that when you hover the chest it shows one and when you hover an NPC it shows another.
What they can’t do is say that the cursor for chest hovering for you is different from the cursor for chest hovering for me. It’s always the same.

Do you seriously think you know more than a team of programmers that are very clearly saying it cannot be done?
Or the dozens of threads asking for this feature in the Unity forums that are yet unanswered?

As Mike said, if this could be done, it would be done already. If Unity supported this, it would be a low effort for great gains change, so you can be sure it would already be in there.
There is no one that wouldn’t like cursor customization. At most some people would ignore it. It’s not in the game because they don’t want to and are just lying to you (EHG has always been very honest about these things). It’s because they don’t have a way to do it with the current engine.

I don’t want to have MY cursor while you have YOUR cursor. I want LE to COMPILE INTO THE BUILD a SET of a few different cursors, so that you and I and freaking everyone has the SAME set, yes, but we all can select one from the set. Yes, the SET of cursors will be baked into the build, and it will not be possible to change it without making a new release. Of freaking course. But what you (and EHG apparently) are trying to tell me is that this set of available cursors has to be a set of just ONE cursor, and that is a lie.

Yes, but also no. chatGPT clearly states that Unity games could allow the user to select a cursor, so it is not a mistake. The AI is lying to me here.

EHG could make a set of transparent layers that would sit always on top of everything else, and make each one of them have a different hovering cursor. Then, it could let the user select which one of these layers is active/visible, which in turn would make the cursor always have the shape of that hovering cursor. It would be similar to how you can hide an object on the ground with a filter, and in turn this makes it so that any pop-up that would show when you hover over the object will now not be shown, as if there was no item at all. You can not customize which cursor appears “when you hover over a chest”, but you might be able to customize what “is a chest”, or when the games believes that you are “hovering over a chest”.

Anyway, thanks for your patience and the great responses. I don’t think further discussion could yield anything of use.

No. What we’re saying is that the cursor for normal playing is the same for everyone. And the cursor for hovering a chest is the same for everyone. And the cursor for talking to an NPC is the same for everyone. And those all get defined when they make a game build and can’t be changed after that. They become an embedded asset.

No one is lying to you (other than maybe ChatGPT). Just look at all the Unity forums asking for this and everyone saying that it’s not possible. Is everyone lying about this? Or is it simply a limitation of Unity.
You seem to imply that there is a conspiracy of thousands of random people just to spite you.

Not only that, EHG wants to do this. If it was possible, it would already be done. It has been requested for way more often than WASD and for much longer. EHG has nothing to gain on refusing to do this (which they don’t, quite the contrary, as you can see on the quote of Mike I posted) and everything to gain by doing it.

So what is more likley? That thousands of people around the world are conspiring to spite you by denying the possibility of doing this, or that this isn’t possible and you just don’t understand it because you’re not a programmer? And that ChatGPT is incorrect in what it says (yet again)?

Not only would this be clunky and degrade performance, it would also take a long time to achieve.
It would be much simpler to just create a clone of Yolomouse. At least that one doesn’t impact performance.

EDIT: As a last argument, I’ll just point out that doing this would let them do what PoE does, which is to enable a few cursor choices and then sell cursor MTX. So if they could do this they would, because it would mean more money coming in.

2 Likes

Hey, I know this is quite delayed but I can clear some stuff up. TLDR you’re both right but we still aren’t able to make it work without compromising on things we aren’t prepared to.

The short version is that there are 2 main ways of setting a cursor image in unity. The “good” way and the “bad” way. The good way is more efficient and sticks to the cursor location perfectly. The bad way can lag slightly behind, this gets worse in the event if a lag spike.

The good way does not allow for a set of images to be used and switched between. It only gives the option for one image. This image is baked at build time and does require rebuilding the entire game to be changed.

The bad way allows for any number of images which can be switched out on the fly. I believe that this method is what chatGPT is referencing. So while it is not technically wrong, it’s not understanding the situation as a whole.

We are still attempting to find a way to use multiple image options in the good way as we are not prepared to take the plunge into the bad way.

3 Likes

That is wrong. I provided sourses to this in a different thread on this topic. Yes u in fact can have it for other players as well.

The issue is the current way LE cursor is. Is baked into the game my understanding is with unity once it in like it is. Theres nothing EHG can do to change it

Yes, in Unity, online multiplayer games can be designed to display different cursors for each player. This is typically achieved by:
Disabling the default system cursor:
The first step is usually to hide or lock the operating system’s default cursor within the game window using Cursor.visible = false; or Cursor.lockState = CursorLockMode.Locked;

Some of what i posted in a different thread.

Will say tho i was told this is basically what yolomouse does.

Insane we’re arguing about cursor customization like it’s some groundbreaking technology in 2025. Take me back.