Steam not detecting when Aseprite is open via the Unity Game Engine

I specifically bought Aseprite on Steam because I wanted to track how much time I use it. I’m a game dev and therefor use the Unity Game Engine a lot. Anytime I open an image within the Unity Editor it’ll load up but Steam never recognizes that it’s open and therefore doesn’t track time spent.

I’m currently using Aseprite V1.3.3 however the issue persists with all versions available in the beta tab on Steam.

To be clear this issue only occurs when opening Aseprite in Unity, when opening an in image through file explored for example it works perfectly fine.

Hi @Legendary_Swordsman2, this issue is already fixed in v1.3.3, but it is (and will be) present in previous version (I don’t remember from where because this was an internal modification in the Steam SDK that broke our communication with Steam client).

We have no plans to fix/re-release previous versions of Aseprite for this issue.

Ya I understand why the issue wouldn’t be fixed for previous versions. However I’m on V1.3.3 right now and the issue still persists. Could the fix only be in the beta version or something?

Oh sorry, in that way I misunderstood you first post. Not sure how Unity is opening Aseprite because just running the .exe should start the communication with the Steam client (if it’s running).

I imagine you have Steam open all the time and when you run Aseprite from Unity Steam is already running. Where/how is configured to run Aseprite.exe to edit sprites from Unity? (I don’t have Unity installed to give a try to this.)

Ya that’s why I was confused. I figured no matter how the exe was run it should always connect with Steam. Steam is indeed already running and always in the background. I’m not entirely sure how Unity opens Aseprite, within Unitys settings in preferences there’s a way to change how “Image Applications” are opened, it’s default is open by file extension which is what I’ve been using. I attempted to change it to specifically use the aseprite.exe from Steam however that had the same result of Aseprite opening but not connecting to Steam

I’ve also tried installing Aseprite on different drives to see if that would change anything however it didn’t. The issue persisted either way.

Update: The game I’m working on in Unity has a Steam page and is connected to Steam so whenever I play the game in the editor it shows me playing it on Steam. I noticed that when I launch Aseprite through Unity it for some reason starts playing my game on Steam instead of Aseprite.

I’ve uploaded a video to YouTube showcasing the issue in action https://youtu.be/Gc8lrvBJb_U

Ok, that’s super strange. Check if there is a steam_appid.txt in the Aseprite folder with the app ID: 431730 (the file should contain just one line).

One thing I’m thinking could be happening is that Aseprite is executed from other folder where a steam_appid.txt file exists and other file (the one from your game) is being read. But it’s quite confusing.

There is a Steam_appid text file in my Unity project which it needs in order to be able to connect with Steam. As you said maybe it’s reading that instead for some reason?

I do indeed see the Steam_appid in the Aseprite directory

Just check if renaming your file temporarily fix the problem. If that is the case I will try to search an option to see if you can specify the working directory for the external sprite editor/running Aseprite.

Way ahead of ya, renaming the file stops it from launching my game but it still doesn’t launch Aseprite. Even if it did fix the issue it wouldn’t be a valid fix because I need my game to be able to connect to Steam to function.

Thanks for taking the time to bug fix this with me btw.

Update: Turns out after renaming the file it does actually still run a game. However it’s not my game and it’s not Aseprite. Instead it’s running Spacewar lmao

It auto generated a new steam_appid.text file in my game’s project directory and added the ID 480 which is the ID for Spacewar

I suspect that my game was the one that created the new appid file though and not Aseprite

I’m running another test now…

----------UPDATE----------
I’ve apparently run out of replies for the day so I’m forced to edit previous messages instead. Which is gonna make communicating a lot harder lol.

It is confusing lol. I just confirmed it’s my game thats creating the appID automatically when the editor is opened or the game is run. Aseperite it’s never creates the file. Which makes sense as I’m aware that as you said the file is included with the rest of the files for Aseprite and not created after the fact.

If I delete the file manually after the editor opens and I don’t run the game so the file stays the deleted, then I open Aseprite through Unity it will successfully connect to Steam and show Aseprite as running. However this requires that I manually delete that fille every time I launch my game lol

----------UPDATE 2------------
I don’t think I ever programmed it to create the file (If I did I don’t remember it), + if I did I would have never had it put the ID of Spacewar in there. I’m pretty sure that’s built in behavior from the Steam Unity SDK. Therefore there’s no easy way for me to stop it from creating the file.

PS: Is there somewhere else we could talk where I don’t have to edit past messages? Or are you able to allow me to send messages again?

:hushed: Now that’s confusing. Probably a Steam client bug / mixing steamapp files. (Aseprite doesn’t create the file, it’s included/distributed through Steam packages).

What happen if you don’t create the steam_appid.txt file from your game (comment out the lines that create the file)? i.e. running your game without steam_appid.txt file. Does it show that something (aseprite?) is running?

I’m on the discord server right now: Aseprite

Just in case probably this is a bug (feature?) in Steamworks.NET: