Steamworks.NET icon indicating copy to clipboard operation
Steamworks.NET copied to clipboard

Unity Engine 6.00 does not finish compiling

Open ninpl opened this issue 1 year ago • 16 comments

Hi, when importing package "Release 2024.8.0" into Unity Engine version "6000.0.23f1", the engine keeps compiling the files over and over again.

A temporary solution is to comment out the files:

  • Steamworks.NET/Editor/RedistCopy.cs
  • Steamworks.NET/Editor/RedistInstall.cs

I have verified that the functionality to create the steam_appid.txt file is executed, but it fails to create the DefineSymbols. I'll check it out in depth when I have more time.

ninpl avatar Nov 20 '24 11:11 ninpl

#602 Seems to fix it

ninpl avatar Nov 20 '24 18:11 ninpl

Seeing this as well with the latest

Library\PackageCache\com.rlabrecque.steamworks.net\Editor\RedistInstall.cs(65,67): error CS0103: The name 'NamedBuildTarget' does not exist in the current context

JamesMcGhee avatar Nov 24 '24 23:11 JamesMcGhee

I managed to quick fix "Library\PackageCache\com.rlabrecque.steamworks.net\Editor\RedistInstall.cs(65,67): error CS0103: The name 'NamedBuildTarget' does not exist in the current context" error by adding missing "using UnityEditor.Build" into the start of the RedistInstall.cs file.

SSormunen avatar Nov 24 '24 23:11 SSormunen

Unity 6 (6000.0.26f1) still has an infinite loop with the latest package installed from the git URL and with the fixes above for the RedistInstall.cs merge from, #602.

Only fix was to remove both Redist files when importing the unitypackage and copy the app id file by hand.

leonard4 avatar Nov 25 '24 16:11 leonard4

Unity 6 (6000.0.26f1) still has an infinite loop with the latest package installed from the git URL and with the fixes above for the RedistInstall.cs merge from, #602.

Only fix was to remove both Redist files when importing the unitypackage and copy the app id file by hand.

I'm also using 6000.0.26f1 and i dont have any infinite loops or other issues with building. Except that i needed to add that "using UnityEditor.Build" line in RedistInstall.cs

SSormunen avatar Nov 25 '24 16:11 SSormunen

Same for me on 6000.0.25f1 all I needed was the using statement.

And I didn't need that until I updated Steamworks.NET Not sure what changed but I imported Steamworks.NET a few weeks maybe a month ago and updated the project as you do.

Just today a user reported this issue so I updated Steamworks.NET to check and see if I could reproduce and yes ... yes I can

I looked at the change logs and didn't see anything that jumped out at me as a recent change that could cause this issue so it is a bit of a head-scratcher as to how/why this started.

The solution of adding statement though does correct the issue for me.

JamesMcGhee avatar Nov 25 '24 17:11 JamesMcGhee

Can one of you two make that PR? I'll check back and get it in ASAP.

I'll also try some of this out on multiple engine versions tonight.

rlabrecque avatar Nov 25 '24 19:11 rlabrecque

Sure will do that in just a min

JamesMcGhee avatar Nov 25 '24 20:11 JamesMcGhee

Done however check the note in that

So whatever caused this isn't Unity, it has to be some change to Steamworks.NET that was made in the past few days ... I didn't notice anything when I looked at the history of this file but I haven't looked to deeply past that.

Same issue happens on Unity 2022 with the current latest so the issue introduced has to be from a change made to Steamworks.NET in the past couple days. Its not a change that I noticed when I looked at the file history but its not specific to Unity v6000.x

JamesMcGhee avatar Nov 25 '24 21:11 JamesMcGhee

I've ran into this issue, and my fix was to add STEAMWORKS_NET define/reset custom build profile to global.

For me, the issue was likely SetScriptingDefineSymbolsForGroup + https://github.com/ValveSoftware/steam-audio/issues/384. I was using custom build profiles, so I'm guessing the continuous loop kept trying readd itself, but failing to add to the Custom profile, ad Infinitum.

I believe a potential long-term fix is either on Unity's side, or updating SetScriptingDefineSymbolsForGroup to some newer variant that considers build profiles. For a quick glance, didn't see anything super interesting, so I'm guessing this is more a Unity problem.

thejonliu avatar Dec 01 '24 08:12 thejonliu

I also encountered issue. Is there any workaround without resetting the build profile to global?

wagenheimer avatar Mar 17 '25 00:03 wagenheimer

I have this as of 4/21/2025 on Unity 6.0.25f1

wmcnamara avatar Apr 21 '25 21:04 wmcnamara

Running into this issue on Unity 6000.0.40f1 with Release 2024.8.0

PascCl avatar Jun 12 '25 09:06 PascCl

@PascCl For our users we always tell them

NEVER use the releases :)

Use Unity Package Manager and pull live off the repo using Git URL or clone the repo and use Unity Package Manager to Add from Disk

My guess is release hasn't been updated in some time, also MUCH better to install via Unity Package Manager than as a lose .unitypacklage it will make updates much easier for you and will play nice with other tools you might use

Like the great tools created by Heathen ;)

JamesMcGhee avatar Jun 12 '25 10:06 JamesMcGhee

@JamesMcGhee someone should probably update this page then: https://steamworks.github.io/installation/

It does work with the package manager, but there's no steam_appid.txt file being generated and if I add it myself it doesn't work. My Steam shows me playing Spacewar instead of my game. I saved the file as UTF-8 (without BOM)

PascCl avatar Jun 12 '25 10:06 PascCl

@PascCl steam_appid.txt will be generated in the root of the Unity project

Image

As to it showing your playing Spacewars, that is because 480 is the hinted app ID, so if it was initialised and wasn't launched from Steam then steam_appid.txt is there and the App ID it initialised as is the app ID found in that file

I agree that the "standard" method of installation should be to install from Package Manager, not the .unitypackage approach It's also worth noting that the Releases page is just generally very out of date.

We have a little community that is mostly built around Steam as well as some tools built up around it, so at this point it's just something you get used to ... which, really, if you can install a thing via Unity Package manager, you should. never install something via .unitypackage unless there is just no other way or that is our approach these days.

JamesMcGhee avatar Jun 13 '25 01:06 JamesMcGhee