The section about dependencies in the recent news post worries me a bit. It seems to imply that not only is dependency management a non-goal, but that the notion of addons is also not really being considered.
My understanding is that s&box is meant to be based around more monolithic multiplayer gamemodes instead of individual addons, which is fine, but the end result is that some gamemodes (like sandbox, roleplay, and TTT) will become ubiquitous, and people will want a way of managing addons for them. A lot of developers, myself included, don’t have the time or energy to build an entire game in s&box, but might wish to create a tool or a few models for a sandbox gamemode.
Furthermore, I doubt non-technical users are going to want to manually fiddle with the gamemode in order to play a singleplayer or locally hosted game. I have fond memories of downloading addons off garrysmod.org and throwing them in a folder, but to bring back that sort of thing seems like a couple of evolutionary backward steps.
I can actually agree that handling this stuff at run-time is a mess, especially with C#. If an addon is missing a dependency, then it probably shouldn’t compile. Maybe package management could be more closely integrated with development tooling and act more like a traditional package manager like cargo or npm. Maybe it could be achieved with an existing system like nuget, but I don’t know enough about the .NET ecosystem or s&box’s way of building gamemodes to say whether that’s a stupid idea.
I also understand that dependency management is a difficult problem that you might not want to tackle right now. Version conflicts, deleted dependencies, and the risk micro packages taking over are all valid concerns. I don’t think it’s an unassailable problem though. Recently I’ve been playing modded factorio, and I was astonished at how well the game handles mod versioning, dependencies, and conflicts. In factorio mods are a secondary distraction, but for s&box it would be crazy for this to not be a consideration.
The bottom line is that there needs to be some system for handling addons and dependencies between them. If there isn’t, the same kind of problems are going to present themselves again. People will invent their own ways of solving them, that are hopefully less brain damaged than “throw .cs files in this directory”.