Why is Addressables so difficult to make a standalone? Can you fix it so it runs out of the box?

Hello,

Can anyone look at my settings?

1 min 11 sec video, I lost a literal 100 hours on this over the past three weeks on Unity Standalone headaches.

Addressables should work out of the box with default settings.

,Jim

I promised my Steam players a patch. I have to tell em UNITY has problems that no other IDE since 1980 had: It can’t make a standalone. Unity started bugging out and not making Standalones since the Scriptable Build Pipeline was forced on us… I spent over 500 hours in fighting this in 1.5 years. Why can’t Unity make a windows.exe if it runs in the editor? It should be easy to do, but it is not. This is out of an experienced programmers hands, this is technical nonsense and bugs in Unity. If not even the best guys at Unity can help or solve this Unity problem when I bring it up, it leads me to believe those at UNITY don’t know how to solve the problems on their end. Compiling to Windows.exe should be one of the first tests they make sure work. Knowing that it doesn’t, they don’t even care to fix it, or they are unable. I hate to tell my steam users that Unity has too many bugs to make a standalone, but I promised them a patch today, and I spent 10 hours+ on this today alone, 100 hours in the past two weeks… I have to post a steam announcement now,ā€œUnity has bugs which will not allow a windows.exe standalone.ā€ You guys should fix your platform. I would have not got into Unity and instead used Unreal at this point if I knew something as basic as releasing games I made would be impossible.

I would try and help you but i have no idea what you are asking. What are you reffering to when you say ā€œmake a standaloneā€?

You did not show the issue in the Video. In order to build addressables you should be on the platform your building for then hit Build on addressables thats literally it. If your saying your addressables are the same after you done a build, thats because you need to rebuild the player as they are packaged addressables and not remote, if they are remote, then you need to reupload your addressables to your hosting space.

Without showing your actual problem its hard to understand your issue.

A standalone is a .exe for other people to play.

It truly is a bug of addressables, and the fix is hacky.

To make a .exe, you need to compile to a separate directory, set up addressables to build into your unity project to a sub directory of your .exe, then when you run the .exe you get an error of missing addressables. Take that error message of what it is missing, do a windows search in your Unity project directory to find the missing file. Copy that entire directory to your standalone directory’s sub directory you aimed addressables at. IT IS A SUPER HACK TO FIX AN EASILY FIXABLE BUG.

Quite simply, if you use the Scriptable Build Pipeline, it should know you want your addressables to come along… They don’t, you need to bring em by hand in windows.

I’d make a video to show you, but I’m concerned if I touched anything it would stop working, that’s what happened last time I tried to help someone overcome this.

This sounds like you fucked up some settings real good, because Addressables almost does work out of the box for the intended purpose you describe.

Let’s make sure the following is set correctly (which would the default values afaik):

  • In your AddressableAssetSettings object, make sure the profile used is set to ā€˜Default’.

  • In your Addressables profile window, review the following settings

  • Buildtarget: [UnityEditor.EditorUserBuildSettings.activeBuildTarget]

  • LocalBuildPath: [UnityEngine.AddressableAssets.Addressables.BuildPath]/[BuildTarget]

  • LocalLoadPath: {UnityEngine.AddressableAssets.Addressables.RuntimePath}/[BuildTarget]

  • In your Addressables group window, go over each group and make sure the build path and load path are set to the local build and local load path respectively, and that the Include in build checkbox is ticked.

Then, for the platform you want to build to, e.g. Windows Standalone build, make sure the current build target is set to Windows Standalone in your project’s build settings. Go to your Addressables group window, select from the Build dropdown on the top right → New Build → Default Build Script. This will build the Addressables content in a folder in your project’s Library folder. You can check them here: Library/com.unity.addressables/aa/Windows

After that, go to your project’s build settings window and start the player build. Your player build should now contain the Addressables content in the Streaming Assets folder of your player build: ProjectName_Data/StreamingAssets/aa/

If you want to make a iOS or Android build, first switch the build target to that platform, then rebuild Addressables and finally make your player build.

The answes from LuGus-Jan sounds about the same as my thoughts.

Any addition I would add, is that Addressables builds content, not the Player. If you want to make sure that the Addressables content files are build and up to date with the Player, then you can enable building Addressables content when ever you build a Player, using the following: Building content | Addressables | 1.20.5

This does not work, and its pretty silly you have to do anything like this for something that should be automatic. It’s bugged to crap and back, and badly designed ontop if you’re saying by design it should not compile your game properly out of the box. I actually posted on Steam and my website how the scriptable build pipeline is a failure the day before Unity stock tanked. I meant no ill will to Unity, but I did spend over 600 hours in 1.5 years simply not being able to compile my game, and I had promised my users a patch. I felt kinda bad, but now I don’t as much… If the unity devs actually think it is acceptable behavior for your game to not compile naturally to windows out of the box, Unity’s future is doomed. Did they get a new CEO or something? They should fire him.

Name one IDE where it is acceptable that your working code cannot compile to standalone and be acceptable. This is unacceptable business practice on top of a terrible bug.

2 Likes

Everyone already reviewed this on discord. Hundreds of people saw my videos. I have default settings, did not work. I had to finangle to even get it to compile standalone by manually copying. I’m not the only person with this bug. People as old as two years ago experience it, it is very common and hasn’t been fixed: https://discussions.unity.com/t/784205

There’s many many more people with the same issue of addressables not compiling to standalone.
I think it is because I choose an Output Build Directory in my Scriptable Build Pipeline and the Unity coder didn’t account for it.

Either way, this is not my problem anymore. If Unity wants to fix it, its up to you. I fixed it by hacking the filesystem to undo a Unity coder’s error. No one really could help. But I do appreciate everyone for trying or maybe I couldn’t have narrowed it down. It would have been nice if this didn’t take me literal months of non stop tech monkeying over 1.5 years having wasting over 600 hours. I still think Unity is valuable despite nonsense like this.

1 Like

Let’s start from the beginning and make sure we have correctly identified your issues.

Firstly. Addressables doesn’t compile anything, there is no building the Player (.exe), which you will need for steam.
Your setting look correct, to build to the locally managed file system, to be included in the player build.
On building Addressables, this builds your content that is marked as addressable (Meshs, serialised prefab data, textures etc. Not your standalone executable).
With the settings you have, they are stored in the Library ready to be included in the standalone build.
You then have to build the standalone build as normal, which will take in the Addressables content build for use.
I have not used steam, but I believe it then has a patching system you create from two different builds (player, not addressables).

Can you specify where exactly your having the problem and what errors or behaviour is happening that you do not expect.

The addressable system is indeed very hard to use.

Ideally, the editor should keep track of what addressable groups are changed. When doing a build, it should automatically patch everything up and give a report about whether an update build or a new build is applied (so that dev can upload remote content accordingly and issue a new release). Many part of the addressable that should be automated are now requiring developer intervention and the workflow is kind of error prone.

1 Like

I think the main issue with Addressables is the lack of understanding, i did at first find it quite difficult to get my head around, but ever issue i faced was down to human error or lack of knowledge. Im running an app that uses 200+ remote Addressables, locked behind a pay wall using IAP (Server Side). Platforms are ios, android, windows store, apple store etc. Had no issues with Addressables.

Setup a small project on git and reproduce the issue and send me. Will fix in no time.

Exactly. Unity’s CEO is making a terrible terrible mistake and deviating from the reason many of us chose UNITY in the first place: Reliability and Predictability of compiling. The CEO is a window dressing guy from EA, looking for fast money, and flashy things. He’s throwing out stability, dependability, usability and mechanics in favor of fancy features not many people care about in order to sound like it is high tech. One more reason Unity needs a new CEO, and I was saying this before he got in trouble with the press, I just did a read on the guy from the philosophy of tech he’s pushing. I already knew who he was by looking how he’s messing up Unity even though I knew nothing about him personally. Stuff should work right out of the gate for the most basic of tasks people expect. It isn’t like Addressables is high tech anyway, Adobe Flash had em in 2008 to load things on the fly, and I’m pretty sure other programming languages made it easy too.

I just found a 3rd bug: https://discussions.unity.com/t/888491

1 Like

Yeah well that doesn’t work for me. Would you assist me in figuring out what bugs this out please? I am on a very late schedule, its been a month since i am switching editor versions, addressables versions and doing 36 hours first builds (no joke) and 6 hours 2nd builds to no end. I’m sorry I dont mean to sound entitled, I’m just exhausted and at the same time I’m watching my game die while I just do endless builds with no end. I wouldn’t start this addressables journey but my game at the current time has a big number of guns, attachments and 500+ skins (3 textures each material) and, well, I wasn’t fully aware that everything that is referenced will load into ram, and that made people say our game was a crypto miner because the game would eat much ram, boot up in 10+ minutes, especially on HDDs, or not start at all if the page file wouldnt be 20gb.

I made this thread with my 2 problems: https://discussions.unity.com/t/926726

I will be forever in your debt for your help! Thank you!

1 Like

I didn’t know how bad addressables were untill I read this thread. I came here to fix a bug with addressables that has been tormenting me for my entire time on Unity and I wish I knew what I was dealing with earlier. Even though I didn’t find a fix for it here I think it is better for my time that I’d see this thread and end up trying to find an alterniative.

1 Like

Yeah addressables is a complete bug fest. I wouldn’t even use it if I didn’t have to but unfortunately a specific consol platform demands I use it. Way too much issues and not the best documentation around it.

1 Like