Everyone can agree on VLC being the best video player, right? Game developers can agree on it too, since it is a great utility for playing multimedia in games, and/or have a video player included. However, disaster struck; Unity has now banned VLC from the Unity Store, seemingly due to it being under the LGPL license which is a "Violation of section 5.10.4 of the Provider agreement." This is a contridiction however. According to Martin Finkel in the linked article, "Unity itself, both the Editor and the runtime (which means your shipped game) is already using LGPL dependencies! Unity is built on libraries such as Lame, libiconv, libwebsockets and websockify.js (at least)." Unity is swiftly coming to it's demise.
There was a plugin on Unity Store that acted a bridge between Unity and libVLC, which allowed developers to make video players inside the game engine. As the post says, it got removed.
This plugin isn't made by VideoLAN, it's made by a company named Videolabs that includes several people who supposedly have contributed a lot on VLC and FFMPEG.
VideoLabs is made up of many of the same contributors of VideoLAN, including Jean-Baptiste Kempf themself. It is arguable that this is in fact Unity banning VideoLAN's VLC bridges for media playback in Unity.
I also thought VLC was a bit shaky on their legality as well, but since their HQ was in a Nordic country (iirc) with more lax copyright laws, they got away with it.
So I wouldn't blame an app store for not wanting to take on legal gray area risk.
VLC is just a media player. It isn't on them if anyone is using it to watch or listen pirated content just as much as it isn't on Adobe or Microsoft if people use them to read pirated books. They aren't the one hosting or distributing the pirated content
Really, I get an off feeling just by trying to parse out what is your reasoning here. Did we get to a point that technology is so corporately-controlled that the idea of a program can freely open files of a certain type is inherently subversive, as opposed to a service or storefront where everything is tied to some corporately-owned licenses?
But I shouldn't be alarmist and make too many assumptions. What is the "legal gray area risk" that you mean here?
If Unity had a problem with VLC playing copyrighted content they should have said so, not issued a takedown on LGPL grounds. Regardless of whether they're right or not from a lawyer perspective, it's a bad look for Unity to show the double standard here.
Wait, people are still using Unity after they clearly demonstrated they'll fuck you on a whim? Honestly, seems like everyone's been given a fair warning about dealing with these scumbags. I get migrating a codebase is a motherfucker, and sometimes it is even easier to redevelop much or all of the project. But again, if you're renting retail space from someone who is a psychopath, bipolar, and an arsonist (Unity in this case), and they might burn your shop down at any moment, sometimes you gotta move!
I've said it before, and I'll say it again: when a company does something that shows it doesn’t have its customers’ best interests in mind, it's imperative that it be immediately and wholly abandoned.
Companies have long since learned that we'll ignore major red flags for the sake of convenience, and at this point they're not even trying to hide the flags - they're proudly flying them and laughing as we continue to give them business.
This is a good policy, but it's not always that simple for people who have been making games on the engine. Many people have spent years of their lives working on projects using Unity, or have already released products using Unity which they are now supporting. Changing a project to another game engine is a massive undertaking, so Unity has a semi-captive consumer base in the short term.
Yeah! Everyone stop using Microsoft products today! I'm serious.
I took this same advice in 1999. Been using Linux on my desktop ever since 👍
Just like with unity: You have to learn some new skills if you switch to something else but the benefits outweigh the costs. It's so much easier today than it was back then and this seems to be a universal truth: The sooner you switch off of any abusive platform the more quickly you'll reap the rewards.
Even better: Later, after everyone who didn't switch is bitching about the latest nonsense from their abusive vendor of choice you can rub it in their faces and be like, "I switched to Godot ages ago and I am so glad I don't have to deal with this kind of shit anymore." Just like how Linux users say similar things about the latest bullshit from Microsoft whenever it comes up in the news (which is often, which is why it's become a trope).
New stuff would go well to end up under Godot. Porting your old s*** over and replicating all the assets and plugins is an insurmountable feet for most.
Even after all this I'm about to start a new game using unity. Why?
Because there's no way I can bring it to market with the ecosystems available in any other major engine given the type of game that it is. I've already prototyped for almost a year using various options to narrow it down.
I would be forced to build so much from scratch for the mapping tech that I'd never ship it in say Godot.
Do I want to use unity? Hell no, but am I going to give up on my dream because screw unity? Hell no. I'm not into pyric victories.
There are a lot of ways to bring a game to market without Unity or Unreal.
But if you can't envision doing an input mapping system yourself just stop right now. It's only going to get worse, engine or not.
It is classic internet outrage complely disconnected from what smaller game devs have to go through. Don't get in the way of a good internet outrage as a legit, actual gamedev who knows why this is damn near impossible, or you'll get downvoted.
The whole argument of leaving Unity hinge on the fact that Godot is a close replacement, it is not.
"After months of slow back-and-forth over email trying to find a compromise, including offering to exclude LGPL code from the assets, Unity basically told us we were not welcome back to their Store, ever. Even if we were to remove all LGPL code from the Unity package.
Where it gets fun is that there are currently hundreds if not thousands of Unity assets that include LGPL dependencies (such as FFmpeg) in the Store right now. Enforcement is seemingly totally random, unless you get reported by someone, apparently."
I suppose there are a lot of companies who would be glad to make you pay for their proprietary video standard, we would just pay for something formerly free 😟
According to the article, unity is literally built on software that uses this licensing, so it's weird that they'd start going against it now. Their runtime literally includes it
Depends on the reason they chose to have selective enforcement.
A good analogy is kicking someone out of a bar. If you do it because they're a dickhead... perfectly fine. But if it's because they're black... not OK.
What pisses me off about the whole Unity thing is that if Unity makes itself eat shit then it just further consolidates engines into fewer hands. Godot is great and all but it doesn't have everything Unreal has (I'm not throwing shade it'll get there dw) and I really really don't want Epic to have a bigger stranglehold on the games industry than it already does.
Unity had its niche and if the executives could stop fucking around it would be lovely to have as a competitor in the landscape.
Also to everyone saying "just don't use Unity": there are a lot of people who have put a lot of time and money and effort into learning Unity and it's not exactly as easy as you think to just switch to an entirely new workflow. You also have to consider how impractical it is to switch engines mid-development. There's a reason why Unreal 5 has been out for multiple years and we're only just seeing games developed with it now. Developers (especially ones with big budgets and all the caveats they come with) don't want to ship a game with the latest and greatest engine if there's kinks to be worked out. This is why you still see Unreal 4 in games released today.
It almost makes me think the higher ups got paid to kill Unity. All the C-suite got golden parachutes if they kill the project now.
Then I remember OGL and the fat lack of competition they had, and remember C-suite often don't know what they're actually in charge of. Malice vs stupidity and such.
Epic donated hundreds of thousands of dollars to Godot when Unity was being dumb this summer, so either they think an open-source project is on the brink of making their competitor unprofitable and collapse, and think enough of the studios jumping ship will come to Unreal to cover that sum, or they're concerned that someone will start enforcing antitrust laws and want something to point at to say they're not a monopoly.
Epic is just a troll company. They donated to Godot when it served as a jab in the side of their competition (unity). Their entire business model is to inflict Stockholm Syndrome on their users via free games.
You are 100% correct of course. I do want to add that depending on the works/software of others is also a risk as well. It's the tradeoff made when the developer decided not to build an engine from scratch. If the game engine company becomes shaky, the developers have to weigh that in when looking at the cost of switching or not. Or maybe everything will be fine.
there are a lot of people who have put a lot of time and money and effort into learning Unity and it’s not exactly as easy as you think to just switch to an entirely new workflow.
Honestly, that's the price they pay we pay for not doing things right the first time.
I'm not sure why people have convinced themselves that they can just ignore problems and they will go away. Software licensing is an issue that pervades all development. Ignoring it is asinine and will lead you to wasting time and money on bullshit.
When I was picking an engine to learn, I chose Godot. Now I'm not bitching when Unity is dying because I said it was going to die years ago. People just like to ignore problems until they can't.
Godot is fine for solo/very small indies and people trying to learn gamedev, but it is not ready quite yet. Most devs still are stuck using proprietary engines.
Go help out Godot or perhaps Bevy, financially, by contributing code &/or bug reports or by any other means you may be capable of.
When Unity dies you'll be thankful you did.
LGPL requires distributing the license with any code. I imagine unity does that with the core code, but it would be difficult to enforce that for assets distributed in their store, which they would be liable for legally. I imagine this will be resolved, but I no longer use Unity so idfc
Is there any information on them being given a pass?
Generally stuff like this goes in waves. I have no experience with the unity store, but it wouldn't shock me to find out they haven't always (and still might not...) required "apps" to list their licensing. Meaning this would be a somewhat manual effort done by a severely reduced staff.
And I'll just add on that I expect this to happen to the other "asset" stores. In industry, "GPL is cancer" and "LGPL is herpes". GPL can straight up "kill" a project and LGPL is usually a mass of headaches that are mostly manageable but can still "cause problems" at times.
No it won't. This is 5.10.4 of the Unity Provider agreement, it's total bullshit.
Provider represents and warrants that its Assets shall not contain (a) any software licensed under the GNU General Public License or GNU Library or Lesser General Public License, or any other license with terms that include a requirement to extend such license to any modification or combined work and provide for the distribution of the combined or modified product’s source code upon demand so that Customer content becomes subject to the terms of such license; or (b) any software that is a modification or derivative of any software licensed under the GNU General Public License or Library or Lesser Public License, or any other license with terms similar thereto so that Customer content become subject to the terms of such license.
Why is it bullshit? AFAIK, Unity wouldn't be able to comply with LGPL without supplying their own source code, so then this would be the only logical outcome.
Not just license. You also need to link to it as a shared library and allow users to replace it with their own build of the library. Meaning you can't use stuff like DRM and anticheats.
Yup fair point I didn't know that. Unity presumably does this with dlls that a technical user can easily swap out. In principle an asset store script could do this, but it would be very difficult to verify and enforce so I can see why they'd just ban the license outright as a CYA thing.
Maybe the answer is to distribute a vlc dll separately and only ship a linking/driving script via the asset store.
Technically it can be statically linked, but then you would need to provide artifacts (for example, object files for the non-LGPL modules) enabling the end user to "recombine or relink" the program with a modified version of the LGPL code.
Dynamic linking is usually simpler, though. And the DRM issues apply either way.
Not exactly. The LGPL inherits the methods of conveying source code from section 6 of the GPL, which has a number of different options. You can bundle the source code along with the compiled version, but you can also do it simply by including an offer the end user can redeem to get a copy of the source. For example you could include a link to the source code.
Yeah, VLC is great and has been great for a long time. But the MPV-based stuff is amazing too and just seems faster, cleaner, etc. Which I'm sure is due to being much more focused, just using ffmpeg, without decades of legacy code, etc.
My biggest problem has been that I find nearly all of the MPV-based players I've used (mpv-player itself, or stuff like IINA or Celluloid) either have a massive lack of configuration options, overly minimal UI, or both. On Windows, Mac, or Linux
I don't need integration with some obscure external timing system by default like VLC offers, and that kind of thing. But it's weird that so many players don't offer you the ability to enable basic plugins. Or change playback speed. Or configure keybinds. Or continue playing the next file in a directory automatically. Or even offer the ability to display the most basic info about the file being played, like codecs. Etc etc.
Or in a couple of cases they seem like more of a mess than VLC.
My biggest problem has been that I find nearly all of the MPV-based players I’ve used (mpv-player itself, or stuff like IINA or Celluloid) either have a massive lack of configuration options, overly minimal UI, or both. On Windows, Mac, or Linux
Have you checked the manual? The amount of options is staggering, bordering on esoteric. The only catch is most of them need to be setup either through CLI or .ini files.
But it’s weird that so many players don’t offer you the ability to enable basic plugins. Or change playback speed. Or configure keybinds. Or continue playing the next file in a directory automatically. Or even offer the ability to display the most basic info about the file being played, like codecs. Etc etc.
I can't say anything for the frontends, but you can use plugins for basically anything in mpv itself, including the issues you've listed. Again, you need to setup the whole thing and read the manual, but it's there. And yes, I see the irony in all the effort needed to do basic stuff like this when something like VLC just works™, but to me that's the beauty of mpv, it's basic and minimalistic yet you can make it work however you like given time and patience.
Off topic: ff2mpv is awesome. It supports many video sites (I believe everything youtube-dl does) and opens the video on a page/link in an external mpv window.
This helped me mirror a video without downloading to read the embedded subtitles (why uploads a mirrored video with subtitles?). Also playback speed and all other advanced features mpv supports are really useful
I went out for a walk earlier, not too far just couple of miles to clear my head. Get some fresh air. Anyway, regardless of how many signs my council like to spend money on to display the consequence of leaving your dogs shit, people still do it. Fact is, I saw a dog shit and it's getting harder to differentiate that dog shit and Unity.
Despite the name, MadVR doesn't have anything to do with virtual reality. It's a no-compromise video renderer that uses custom shaders to play media instead of the GPU's built in codecs, with the goal to display content at the absolute highest quality possible.
In my case it's because I'm too far along in my project and would lose probably a years worth of work. My next project will be Godot or something else though
Lack of important features, no asset store, not as mature (more bugs), no native console support, no low-level rendering access, no texture streaming, and on and on.
I don't envy you that miserable decision. And I get that you've evaluated everything and personally feel it's worth gambling that they don't fuck you and make it pointless, all that effort, bringing the game to market.
I'm rooting for you here, and I hope everything works out!
I feel just as awful for anyone who has an overwhelming port or even an impossible port. It's just miserable.
Even if they're currently shipping some LGPL components, they may want to prevent new LGPL components from being added if they eventually want to be LGPL-free in the future.