Search Unity

Has Unity Ever Truly Been Refactored?

Discussion in 'General Discussion' started by landon912, Jul 20, 2015.

  1. Deleted User

    Deleted User

    Guest

    I believe so, as myself @Chariots and @Dantus is saying modularisation and core exposure in areas might provide tangible benefits. But it's outside the scope of this thread, the re-factoring thing has gone out the window..
     
  2. Alex-Lian

    Alex-Lian

    Guest

    @Chariots - Something to point out that A*Pathfinding Project is relying on recast. The author of Recast has been at Unity for a couple years while working on updating and addressing the Navmesh system here. He and Jakob are indeed working on modularizing that part of the code. The listed: "AI: NavMesh workflow and bake API" on the Unity roadmap is all pre-requisites for that.

    I'll finally pipe in that @Dantus is giving us a bit more leeway on this "arm-chair development session." Unless you're seeing the code, it's all speculation and not terribly helpful. Needless to say, as Scobi pointed out, we're hard at work trying to do this, but also while juggling support for older versions, handling platforms, and trying to incorporate the feedback from you all at a scope that dwarfs any of the other game engines or asset store vendors.

    We are still working on improving the communications to share what we can, but it's still a process of change and improvement we're working towards.
     
    UndeadButterKnife and hippocoder like this.
  3. Archania

    Archania

    Joined:
    Aug 27, 2010
    Posts:
    1,662
    Think one of the biggest issues is the constant need for it to be backward support as stated above. And all the different platforms that Unity supports might be holding them back in terms of pushing to what Unity wants to achieve.
     
  4. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Will get easier over time. Unity 5 can be seen as an awkward teenager :p
     
  5. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    No
     
  6. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    When you mean by modularization that certain parts can be replaced with other solutions, I fear I don't share that point of view. More exposure on the other hand would be welcome in some areas.
     
  7. Deleted User

    Deleted User

    Guest

    Going by Unity's history isn't speculation, but re-factoring code is of course neither here or there as nobody but yourselves know if it's any benefit (which is of course pointless).

    Also on the point raised in red, Epic get 100's of requests (for major features) every week. They've implemented more in a quarter than what's been implemented in the past couple of years with Unity.

    Not to say it's always necessary, or it's specifically always a good thing. Probably best to check back in a couple of years and see how you guys are doing.. I wish you the best of luck.

    @Dantus

    Why would you believe modularisation to be a bad thing? It gives developers choice.
     
    Last edited by a moderator: Jul 24, 2015
    UndeadButterKnife likes this.
  8. 3agle

    3agle

    Joined:
    Jul 9, 2012
    Posts:
    508
    Do you have a source for that?
    I'm not denying it may be true, but there is far too much wild speculation being thrown around in this thread right now.

    And I honestly don't know why anyone cares if Unitys code looks like one thing or another, none of you see it anyway, how does it affect you?
     
  9. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    The theory of it sounds exciting, but I don't believe it is practically viable without significantly slowing down the development. I believe it might be possible to do it at a certain point in time, but I don't believe it would be practical to maintain it in the long run.
     
  10. Deleted User

    Deleted User

    Guest

    I was looking through the release notes for major features between 5 and UE4 4.5 - 4.8 (also road-map comparisons), but look don't let it take away from Unity's accomplishments.. They have done a lot, they have done great work and they are continuing to listen and improve and that's important.

    Epic has put themselves in a certain position, which took them 4 years. Epic have been building their engine longer, they've been at it longer, they support less platforms and they probably have less customers. From a developers side I can understand, I really can.

    I know Unity has some VERY talented, VERY experienced people working for them and they'll do great. It's a matter of time, we all know Unity 5 was forced out the door and that wasn't the dev's fault.

    Let's face it, many of us wouldn't be around to complain about Unity if it hadn't existed in the first place. I really do hope they take the negatives on the chin and get through it over the next couple of years.

    P.S Hippo brought up a good point, what other engine has been able to do what Epic has done? You don't see CE anywhere near. Unity has potential.!
    .................................................................................

    As for what they do with code? I care about as much as gamers care about what I do..
     
    TechiTech likes this.
  11. 3agle

    3agle

    Joined:
    Jul 9, 2012
    Posts:
    508
    This kinda just highlights the point that this thread is pretty useless.
    I don't see any point in discussing the off-topic comparison of 2 engines with vastly different goals and budgets, in a thread about a subject that no-one has any actual facts about.
    Someone think of the internet trees.
     
  12. Deleted User

    Deleted User

    Guest

    Do they have different goals? They are two engines that support PC / Console and Mobile. Biggest difference is one cares about legacy hardware, the other doesn't give a flying monkey's.. (a balance would be best IMO)..

    Back on the actual topic, the question was has Unity been re-factored? But the OP explains the following:

    So the actual question is what's the problem?
     
  13. the_motionblur

    the_motionblur

    Joined:
    Mar 4, 2008
    Posts:
    1,774
    A strong +1 for still not working in 2D (though it is being worked on) - but it's really been way too long already.
    Also: yes - dynamic navmeshes for things like roguelikes should be possible for the integrated solution.

    Though I also say that in terms of handling I do like to work with navmeshes over any 3rd party A* integration so far.
     
  14. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    "such a large and complex code base" and refactoring should go hand-in-hand. Great point. It does make sense from that perspective. Actually I think many people (including me) refactor code habitually. It's better to nip it in the bud so to speak. And when dealing with legacy code as I often do at work I generally spend time refactoring before even thinking about adding an enhancement or fixing a bug. Often the process of refactoring the code actually fixes the bug too.

    So basically the OP is just asking "what is being done about this (large complex codebase) or is it just seen as this is the way it is and we deal with it as is"? lol
     
  15. 3agle

    3agle

    Joined:
    Jul 9, 2012
    Posts:
    508
    I'd argue that UE4 does the bare minimum to be able to say it supports mobile, whereas Unity is the engine of the majority of the mobile games industry. And yes, legacy hardware support (incredibly useful for our company in particular). Iteration speed also makes our programs possible in Unity but not UE4, so I'm throwing that in there too (though we have very strict timelines and are not a great litmus test).

    And note I'm not defending Unity, as much as it may sound it. It's just that you seem to have a bias towards UE4 so I feel I should play devils advocate.

    So, we have no idea of the state of the engine code, and no idea if it has been re factored or not. We also have no idea if that would even help. And we have no proof that that is the cause of "slow, delayed, extremely buggy first releases" (which I also suggest is exaggerated, but mileage varies and all that).
    So why are we even commenting on such vague speculation? Particularly when it serves no constructive purpose?
    If it was a topic on how modularisation may help Unity focus on problem areas, sure, great topic. But this has ended up as a thread full of noise. Which I am ironically now adding to.
    This thread should probably be split into about 4 different topics, at least 2 of which I'd lock if I had any choice (probably a good thing that I don't, I'm a rather bitter man).
     
  16. landon912

    landon912

    Joined:
    Nov 8, 2011
    Posts:
    1,579
    Thank you. Everyone jumped on that fact that the "spaghetti code" statement is indeed speculation. I should've made that more clear. But I wasn't debating that fact. I was inquiring about how development is akin to a project in that state at times. Maybe the thread title was misplaced, but the real question is why is stuff so slow? I gave one speculation of what I can deduct from the limited communication from Unity. So maybe another topic, is why do we have to make these speculations instead of getting actual information from Unity. The road map is a good start, but it's still a "PR" like resource. How about actually talking to developers about the state of their work? The terrain system is in "Research", what does that actually entail? Who knows, it's been run through a PR person, instead of having the ability to ask open questions and have them answered by the developers working on it.
     
  17. 3agle

    3agle

    Joined:
    Jul 9, 2012
    Posts:
    508
    In that case, yeah it was a really badly worded OP.
    I doubt very much we'll get transparency like that from any company, let alone Unity.
    Do you expect them to come out and say 'yeah our program is buggy and we work really slowly and it's because our code is messy'?
    I think the best you could hope for is a promise of better communication over development of wanted features. Which has pretty much now arrived as the roadmap. It's also a problem that has been around as long as Unity has :p

    It's also worth noting that most of Unitys staff are support and QA, not developers. They are a much smaller team than Epic in that regard and that should be taken into account if choosing to compare development speed. It also helps that one is backed by a 200 billion dollar corporation.
     
    Deleted User likes this.
  18. thxfoo

    thxfoo

    Joined:
    Apr 4, 2014
    Posts:
    515
    Actually there have been statements in this forum from Unity developers saying exactly that. That Unity (at least at the time of that statement, but not long ago) is/was one large pile of monolithic code and that that is the reason they are slow with implementing stuff. I'm too lazy to search that post, but it exists...

    Epic was already very fast before they got their new overlord.
     
    3agle and Deleted User like this.
  19. 3agle

    3agle

    Joined:
    Jul 9, 2012
    Posts:
    508
    Interesting, that's rather... open of them. I'd have liked to see the post, but I'm as lazy as you are.

    I'm sure Epic were fast before too, though they weren't developing UE4 back then. Not publicly. Money doesn't hurt in any case, and I'm sure it had a lot to do with their decision to monetise the engine as aggressively as they did.
    That's all beside the point though and doesn't really matter in the end.

    Personally I think the roadmap and the recent change to have incremental releases at locked in dates will do a lot for the transparency and development of Unity. Only time will tell, of course.
     
  20. Deleted User

    Deleted User

    Guest

    I agree, although it can run well on top of the range phones.. Anything else seems to go by the wayside. It's a PC / Console engine really.. But still I'm sure like Unity they will make improvements.

    Oh I do have a Bias towards UE4, simply because I used Unity for years. I didn't want to switch, hated using UE4 in the beginning. Now I've realised it's faster to work with and has pretty much anything I could ever need in it and looks stylish whilst doing it, that's why I have a Bias.. End of the day a tool is a tool, whatever gives you the best results quickest right?

    Oh we do have proof of slow, delayed, buggy deployments (whatever the reason, but the devs have mentioned code as one)..

    What vague speculation? We know some releases are buggy, we know the rate of development is slow. It's nothing to do with speculation at this point. The question this thread was given, didn't match with the body of content that's all (even from the OP).

    When all is said and done, we know the issues. We can offer discussions about how we want it rectified, Unity can take that on board an do whatever / or nothing with it. I do think this topic should turn to a more positive outlook, myself included.
     
  21. 3agle

    3agle

    Joined:
    Jul 9, 2012
    Posts:
    508
    Of course, and I'm conflicted since I use Unity at work and use both Unity and UE at home. So yes, right tool for the job indeed.

    The speculation was more about the cause of those buggy and slowly developed releases, and about the re-factoring of the internal code. I think it's early to be grabbing pitchforks given all the recent positive news around the engines development (more specifically, roadmap, release schedules and big internal changes like IL2CPP).

    If there's anything specific I'd like to see, it would be a bit more dev activity on the [Official] threads. They started out with good intentions, at a time when the community was very stirred up. As it is now, they feel as though they are a little forgotten. I think all it would need is a "Hi, we've seen that you would like [this] and we're going to try [this] to help".
    Some things made it up to the roadmap, which is great to see, but some got little attention.
    Not a major point, but it might be a nice bit of goodwill to stop threads like this popping up.
     
    landon912 and Deleted User like this.
  22. Deleted User

    Deleted User

    Guest

    Well we do seem to go through this once every three to six months or so, a fair few threads pop up about QA. Then someone asks what happened to all the official feedback? Then it goes south from there on.

    Good suggestion, let's turn it positive and keep them going.
     
    TechiTech likes this.
  23. landon912

    landon912

    Joined:
    Nov 8, 2011
    Posts:
    1,579
    This is exactly what would help. "Recently we've made great strides in the internals of the new terrain engine, but there isn't much of the high level yet" or "IL2CPP is transferring well to PC, smashing out a few issues then will send through QA. Not too long if everything goes well."

    Just stuff like that could do wonders, right now we just have to roam in the darkness of no communication at all really.
     
  24. the_motionblur

    the_motionblur

    Joined:
    Mar 4, 2008
    Posts:
    1,774
    I don't want to reason just to oppse but I really don't feel like Unity is doing things wrong. In fact I think they are doing things very right and they are improving on it continually.

    Now I do not have much to say in terms of Unreal and their community and developers in comparison because I haven't worked much in UE4, to be honest. But the thing I really don't get is the sudden negativity even from some people who were pretty pro-Unity not too long ago.
    It sounds somehow like Unity as an engine is unbearable compared to Unreal all of a sudden. Is it really that way or ha Unreal just different problems that don't weigh as much in the current projects?

    Just to give my two cents - and I already apologize that this will turn a little into a ramble ...
    When I am posting on the Modo forums I sound pretty much like this thread - things aren't resolved enough, developers from the foundry don't communicate at all, things that should evolve aren't updated for years - some people even say since version 2. Then I come to this community and I feel that to me it feels pretty much perfect and I alsways say Unity are an example of how it's done. Why so?
    • Unity - if someone is asking me - does actually communicate with people. On this forum. Very actively. Even in this very thread someone from Unity gave a very lengthy post on topic of the question asked originally.
    • Unity has TONS of tutorials and learning ressources and (despite complaints) a very vast documentation that can be searched and that is at least to me very helpful in most cases.
    • Unity has two bugtrackers - with FogBugz one that has all the reports and status reports ever, and wthe public one with votes. Unity has a feature wishlist - and it's not Unity's fault that many people apparently rather speak their mind on the forums where things drown fast than vote there, actually.
      Also developers actually respond in threads in the feature wishlist.
    • Lately Unity does things like this: https://bitbucket.org/Unity-Technologies/2ddemos/wiki/Alpha Release 2
      ... which is a development testing ground focused on some super cool new 2D tools. Participation there actually gets super fast responses and direct communication with the devs for these tools.
      And they wrote that they hope it gets good feedback so that more teams might follow their lead!
    • The Beta versions also have been opened to Pro users for testing. And I hope that this program gets expanded even further.
    • It's the most subjective thing in this list but - hell: I like using Unity! If you would have asked me a few years ago I would have told you that if Unreal was ever released for free I would be all over it and become a complete Unreal-guy.
      I don't feel like that any more. Probably I never ever hit a project size that was even remotely as big as one from the people who have problems with Unity in this thread. Profrssionally I'm "just" an artist and am not as much concerned with management in the larger Unity projects. Personally I have projects that have to be tamed by me alone. Still with what Unity has allowed me to do, and despite the things lacking - I feel it can do what I need it to do.
    So is it Unreal? No. Unreal 4 very very obviously took inspiration from what Unity was doing over the years. So they are the current direct competition since GDC last year. They took their time to rework the engine and everything around it to be better than what Unity was offering at the time. And it seems that for the time being they even might have succeeded to a certain degree. At least based on what some people of whom I think they know what they are doing are saying.

    But really it's weird how much frustration tends to turn into negativity tends to turn into absolutes and sometimes superlatives only. I just cannot imaging that despite its current flaws Unity really is that bad. And I also cannot believe that Unreal4 is superior in every aspect.

    Do I hope that Unity get their S*** together and fix some of the things that are long overdue? Hell yeah! Of course. But I also expect Unity to get better at it even more as time progresses. Some of the things promised at Unity Europe are still in the works and upcoming. And even if it takes a little longer than expected: I think Unity do put out very polished features once things are ready to go. I've seen much MUCH worse new version launches. Modo 901 being the most recent (it's been a buggy mess for the last 2 months until SP1 was released). Never experienced that with an official Unity release.

    And hey ... who knows. Maybe Unity is working on some sort of rework they are not talking about at the moment. Even though it's been over a year now since UE4 has made a bold statement. In terms of large software a year is no time to make such drastic changes as Unreal did from UDK3 to UE4. So it might just be my current optimism but I don't see Unity as bleak and bad as the tone in this thread seems to be.

    Mainly I think people need to keep bugging Unity for what they want in upcoming releases and in terms of corporate communication on every channel available. Unity has a lot of open ears. So keep on using them. :)
     
    Last edited: Jul 24, 2015
    Dantus likes this.
  25. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,190
    There will be a balance in a few years when the hardware we're developing with will become legacy. :p
     
  26. Deleted User

    Deleted User

    Guest

    MMM yeah, I'm just going to go ahead and fix that for you LMAO!.. Surprise the filter didn't get it.

    Then it's probably best to stop there, you can't really compare the pro's / cons without a point of reference.

    Oh it's always been that way, Unity 4 was impossible to work with. It was like trying to tap dance around a mouse in-case it hit a limit and fell over. Unity 5 for all the grief it gets is SO MUCH BETTER.. It's workable now the 64-bit editor is in, PhysX upgrade has done wonders on the whole and it's "getting there". But that doesn't mean I'd use it currently...

    • Unity's communication is better, the roadmap is great. They do tend to chime in now and again, so kudos to them.. Could it be improved? Of course, but they are at least engaging which is nice.
    • So does UE and has a vastly more resources and examples created by the engine devs themselves.
    • Well there were fundamental questions as to whether the feedback system or not was being listened to or not.
    • Again I'm not faulting Unity for it, I'm glad they're doing it and more would be nice. But again UE has been doing examples all along.
    • Same, Beta versions are always open with Epic
    • Probably not, it's not engines that are driving a lot of this at the moment. I'll expand later..

    Before I used it I thought the same, but Unreal is a completely different engine to Unity.. From workflow to process, to just about everything. A lot of it still reminds me of Unreal 3, it's just a lot more user friendly and the daft scripting system has disappeared.

    It's not, it doesn't do mobile that well.. Apart from that, you'd be hard pressed to convince me other wise.. I can name boat loads of features and pro's that Unreal has that Unity doesn't. Again it might have been "refactored" but some of the core elements existed before Unity even existed.

    It's not that bad, the problem is the way the game market in a commercial sense is driving it. Competition is stiffer and any leg up you can get is going to decide success. Releasing games with bugs has been driven into the ground by media and ample access to reviews / refunds, if you have core issues it will come to haunt you (if it's an engine problem of course)..

    I won't take risks like that, I'd rather have full control of my destiny. Don't even get me started on graphics etc. I was stunned when gamers started taking pops at Fallout 4 for "apparently" crappy looking graphics. Looks gorgeous to me and going by Bethesda's previous games it'll be fun to play.

    You go with whatever gives you the best chance of success in the shortest amount of time, I'd like Unity to offer that and they probably will (eventually) but not right now. That's really what it's all about...
     
  27. RockoDyne

    RockoDyne

    Joined:
    Apr 10, 2014
    Posts:
    2,234
    And that might just illustrate the differences in mentality. I wouldn't be surprised if 90% of development time/resources went to QA. One aspect that makes development slower could very well be the codebase, but the biggest aspect is probably the company and business model.
     
  28. Deleted User

    Deleted User

    Guest

    On that note, not sure how this would go down.. But would it be better for only Pro and Support users to raise tickets? Then have a general support forum? Because chances are especially with Unity 5, Pro users will either be making money or solid enough in their convictions to put their own money on the line.

    They'd just need a few QA guys scanning the forums in shifts to see if any real problems need attention.
     
  29. the_motionblur

    the_motionblur

    Joined:
    Mar 4, 2008
    Posts:
    1,774
    On an unrelated side note: I like Epics MarketPlace policy a LOT.
    They do enforce not only a quality standard but also try to counter price dumping. This has nothing to do with Unity's refactoring but I would like to see that being "refactored" in the asset store ;)
     
    Ryiah likes this.
  30. Archania

    Archania

    Joined:
    Aug 27, 2010
    Posts:
    1,662
    Thought Unity was trying to up the standards of the asset store and start removing stuff that is outdated and not up to par.
     
  31. RockoDyne

    RockoDyne

    Joined:
    Apr 10, 2014
    Posts:
    2,234
    They've still got that one "duck" asset up last I saw, so probably not.
     
  32. 0tacun

    0tacun

    Joined:
    Jun 23, 2013
    Posts:
    245
    the_motionblur likes this.