Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

Decline Imported Universal Render Pipeline into Unity 2019.4.x and it ruined 4 projects!!!

HarveyBirdman

Arbiter
Joined
Jan 5, 2019
Messages
1,044
Sucks, but lesson learned. Good thing you didn't lose more than two weeks of data.
 

RPK

Scholar
Joined
Apr 25, 2017
Messages
337
What is the mechanism by which an update of external software can actually mess up your own code and data? I'd understand API calls not functioning properly any more, but it sounds like Cleve's own source code and assets were somehow altered - how does that work?

My understanding from Cleve's "Mucked up the shaders, destroyed the lightmapping, crashed 3/4s of the assets." and the bit about Enlighten later isn't that it messed up his actual code and data, but that the engine changed the way it treats shaders (especially lighting, since Enlighten is a lightmapping middleware used -among others- by Unity) and that was what messed up his work. Essentially it is as if you used some external library that had a SetPopStrength(float strength) function and in the newest version the function still has the same signature (so it is technically backwards compatible from an ABI perspective) as it had before, but the meaning of "strength" changed so even though nothing changed in your code that called that function, the actual behavior of your program did end up changing.

Note that this is just a guess, i do not use Unity myself so i have no knowledge about its quirks.

But i doubt he can do much about it and in the case i describe above a backup wouldn't help since it isn't his code that changed, it is Unity and unless he decides to never update to newer versions, at some point he'd have to adjust his assets to work with the changes.

i haven't messed around with it, but Unity has recently released a new rendering engine that runs parallelly to the "built in" renderer. They call it the "scripted render pipeline" and it allows much more control over how the rendering engine works, but yeah, shaders work completely differently in the new rendering engine as I understand it and you can't use both at the same time.

the scirpted render pipelines allow much more control over how the rendering engine works and are intended to let people with deeper knowledge of these things (which I don't have) push the Unity graphics envelope and make it complete more readily with Unreal on the graphics side of things.
 

The Avatar

Pseudodragon Studios
Developer
Joined
Jan 15, 2016
Messages
336
Location
The United States of America
URP is a horrible failure that has less features than the built-in pipeline and has no compatibility. This is one of those cases where the new engineer hires at Unity wanted to work on their own code instead of improving and maintaining the existing codebase- throwing away all backwards compatibility in the process. The only thing that URP has over the old built-in system is that it does single pass lighting with multiple lights, and I guess it does batching better. Would it really have killed them to just improve the existing pipeline instead of inventing this for NO REASON?

Sadly, this is happening with many different parts of Unity. They have already deprecated their second networking solution and are working on a third. There are now two completely different visual scripting systems. They deprecated realtime GI with no replacement, but they're working on a new one which will probably be in experimental for years.

It's like they're staffed by a bunch of bumbling idiots who each exist in their own bubble- completely cut off from communication with each other and the outside world. I'm using Unity for my project because I like to use C#, but after this I am done with them.

As for not backing up your stuff sooner- that one is on you.
 

RPK

Scholar
Joined
Apr 25, 2017
Messages
337
yeah, I've used c# at work for years, so that's why I chose Unity, but some of their stuff is...frustrating.
 

Bad Sector

Arcane
Patron
Joined
Mar 25, 2012
Messages
2,223
Insert Title Here RPG Wokedex Codex Year of the Donut Codex+ Now Streaming! Steve gets a Kidney but I don't even get a tag.
This is one of those cases where the new engineer hires at Unity wanted to work on their own code instead of improving and maintaining the existing codebase- throwing away all backwards compatibility in the process.

Considering Unity Technologies has more than 2000 employees as of 2018, i'm not sure how there is any hope for a consistent vision with the engine when there have been entire AAA games that were made with by companies having a tenth of that headcount (sure, not everyone works on the engine but still that is a huge number of people and it isn't like they work on a large number of projects anyway).
 

The Avatar

Pseudodragon Studios
Developer
Joined
Jan 15, 2016
Messages
336
Location
The United States of America
Considering Unity Technologies has more than 2000 employees as of 2018, i'm not sure how there is any hope for a consistent vision with the engine when there have been entire AAA games that were made with by companies having a tenth of that headcount (sure, not everyone works on the engine but still that is a huge number of people and it isn't like they work on a large number of projects anyway).

Epic games also has over 2000 employees, and they haven't managed to screw up their engine that bad. Granted, C++ is kind of terrible, but at least blueprints and the material editor are relatively consistent. Unreal does split their rendering tech between a mobile renderer, and the normal renderer(with optional Forward path), but the difference is all under the hood. The material editor inputs are mostly the same, and you can switch back and forth. I guess Epic are too busy making actual games rather than inventing features that no one needs(ie DOTs).
 

NPC451

Literate
Joined
Jun 20, 2020
Messages
46
Epic games also has over 2000 employees, and they haven't managed to screw up their engine that bad. Granted, C++ is kind of terrible, but at least blueprints and the material editor are relatively consistent. Unreal does split their rendering tech between a mobile renderer, and the normal renderer(with optional Forward path), but the difference is all under the hood. The material editor inputs are mostly the same, and you can switch back and forth. I guess Epic are too busy making actual games rather than inventing features that no one needs(ie DOTs).

Whats wrong Unreals use of C++? I only have minor experience with modern cpp, but with smart pointers and std algorithms it doesn't seem much worse then C# from a programming perspective.
 

Talby

Arcane
Patron
Joined
Mar 15, 2008
Messages
5,507
Codex USB, 2014
Unity is shit and you should stay as far away from it as possible. It's too late for Cleve but it's not too late for YOU!
 

The Avatar

Pseudodragon Studios
Developer
Joined
Jan 15, 2016
Messages
336
Location
The United States of America
Whats wrong Unreals use of C++? I only have minor experience with modern cpp, but with smart pointers and std algorithms it doesn't seem much worse then C# from a programming perspective.

Mostly the massive size of the code and heavy use of macros which confuses Visual Studio and makes Intellisense very slow when it works at all. Hot reloading of the editor when compiling C++ is unreliable. They have a new thing called Live Coding, but that doesn't always work either(can't change the structure of the class) so you have to constantly shut down the editor and rebuild from VS. I'm hoping that is something that can be improved upon in the future. Then there is the Gameplay Framework, so instead of the modern way of building classes from components(composition), Unreal has a huge monolithic inheritance chain straight from the 1990's.

And just generally C# is cleaner without having header files, forward declarations, or crashing whenever you accidentally dereference a null pointer.
 

NPC451

Literate
Joined
Jun 20, 2020
Messages
46
And just generally C# is cleaner without having header files, forward declarations, or crashing whenever you accidentally dereference a null pointer.

While I agree the lack of raw ptrs is nice, it imagine is easy for new developers to allocate heap memory like crazy and cause hitches from GC collects among other issues.
Memory churn in real time systems is problematic and Unity has had a reputation for runtime hitches.
 

Cleveland Mark Blakemore

Golden Era Games
Übermensch Developer
Joined
Apr 22, 2008
Messages
11,557
Location
LAND OF THE FREE & HOME OF THE BRAVE
OK, folks, I am genuinely curious and would hope to be educated by you (and condolences to Cleve...). My idea of software development is typing code into vi (that was a lie, actually I'm part of the unwashed EMACS masses) and then entering 'g++' into bash, linking against any external libraries as needed.

What is the mechanism by which an update of external software can actually mess up your own code and data? I'd understand API calls not functioning properly any more, but it sounds like Cleve's own source code and assets were somehow altered - how does that work?

The API I was calling into was literally vaporized and replaced with a new one. My shaders no longer even use the language that the new pipeline works in. Unity support gave the impression there would be changes coming but the legacy would be supported. They lied. They ditched the legacy code altogether.
 

Cleveland Mark Blakemore

Golden Era Games
Übermensch Developer
Joined
Apr 22, 2008
Messages
11,557
Location
LAND OF THE FREE & HOME OF THE BRAVE
URP is a horrible failure that has less features than the built-in pipeline and has no compatibility. This is one of those cases where the new engineer hires at Unity wanted to work on their own code instead of improving and maintaining the existing codebase- throwing away all backwards compatibility in the process. The only thing that URP has over the old built-in system is that it does single pass lighting with multiple lights, and I guess it does batching better. Would it really have killed them to just improve the existing pipeline instead of inventing this for NO REASON?

Sadly, this is happening with many different parts of Unity. They have already deprecated their second networking solution and are working on a third. There are now two completely different visual scripting systems. They deprecated realtime GI with no replacement, but they're working on a new one which will probably be in experimental for years.

It's like they're staffed by a bunch of bumbling idiots who each exist in their own bubble- completely cut off from communication with each other and the outside world. I'm using Unity for my project because I like to use C#, but after this I am done with them.

As for not backing up your stuff sooner- that one is on you.

All true. Unity has lost the plot.
 

Bad Sector

Arcane
Patron
Joined
Mar 25, 2012
Messages
2,223
Insert Title Here RPG Wokedex Codex Year of the Donut Codex+ Now Streaming! Steve gets a Kidney but I don't even get a tag.
Epic games also has over 2000 employees, and they haven't managed to screw up their engine that bad. [...] I guess Epic are too busy making actual games rather than inventing features that no one needs(ie DOTs).

Yeah, that is basically the reason they also have so many employees (they according to wikipedia it is 1000, not 2000) - Epic is making not only an engine but also have a few games in development (Fortnite being the big one, but they also have some smaller games) which needs support (online games need development, servers, etc) and beyond that they also have their own store.

As for the engine, AFAIK UE4 was largely Tim Sweeney's work before they opened it, so it is much easier to maintain consistency when there is a single person who writes the core and most of the code (especially when that person is also your boss :-P).
 

Shinji

Savant
Joined
Jan 10, 2017
Messages
313
Unity adds a lot of new features but never gets most of them at a stable level.

It really gives you the impression they make new stuff to appeal to investors instead of their users. Godot is kinda of heading in that direction.
 

RPK

Scholar
Joined
Apr 25, 2017
Messages
337
Unity adds a lot of new features but never gets most of them at a stable level.

It really gives you the impression they make new stuff to appeal to investors instead of their users. Godot is kinda of heading in that direction.
yes, that is by far the most frustrating thing about Unity. they keep adding new shit and never finishing any of it.
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom