The most annoying thing is that there seem to be many inconsistencies between how things run in the Editor and how they run on the device / simulator.
It is quite obvious that some changes were done to Instantiate - many of the failures I get are around my Instantiate lines.
Does anyone know what are the changes done in this function?
To be more specific, I found at least two problems:
Instantiating a non prefab object (but instead one that was found by transform.Find() ) works in the editor, not on iOS
For this the workaround was simple
In one of my other cases, I know the instantiate function is called, but I do not see the object appearing on screen. There is no null reference, no nothing - it just wont show. Again, works in Editor, and worked on the device in the previous Unity version.
To Unity people - perhaps less investment in Mechanim, more in QA and platform consistency. These “upgrade weeks” that I am forced to go through whenever there is an upgrade are really annoying, and whenever I go through them I wish there was a serious Unity competitor out there.
Instantiate has not changed at all. I tested this, works fine on the device…assuming there’s an object called Cube in the scene at (0,0,0), this makes a duplicate and positions it a couple units to the right:
Tested against 3.5.6 and 4.0 and no differences on-device or in-editor for me. What are the specific use cases are you seeing that is producing the behaviour?
Stop rushing to the new “ooh shiny” things you find. Don’t upgrade mid-project. Or does that just make too much sense? I have a client with a development project that is still on 3.4 with absolutely no intention of upgrading any time soon. I’ve played around with 4.0 but I will NOT be upgrading any of my own projects from 3.5.6 until after they have shipped. Risk management is part of software development. Upgrading tools without strong reason to in the middle of a development cycle, and without any strategic planning, leads to pain.
And if wishes were horses we’d have a TV show about anthropomorphic ponies.
But as Eric5h5 said, make a repeatable test case and open a bug report. UT are very responsive, especially in follow-up. It is in their interest to be.
I can understand why from a company’s standpoint it makes more sense to expect the users to act as unpaid QA testers rather than hiring more QA personnel and invest in better quality processes. For the short time I have used Unity, each update fixed 10 things and broke 3.
I am not complaining about the fact that things get broken, but rather about the fact that they get inconsistent between editor and build - and at this, surprisingly, they are consistent.
It is extremely painful and borderline impossible to debug on the device (EXC_BAD_ACCESS who??).
I would be much more inclined to spend time in creating test cases if I knew I also get tech support when I need it. It is a two way street, and quite frankly, I do not feel any love from Unity. It is a business arrangement, nothing more.
I do not mean to be blunt, but companies using the “show us a test case, otherwise we have no idea how to fix our product” excuse should understand it comes with a price.