Is it worth the risk to purchase certain types of assets anymore if it is planned to keep up with latest version of Unity?
I don’t want to be bound by any particular release of Unity. I started with Unity 5.0, now I am updated to 2017.1 for the same project. I have had the misfortune of purchasing a number of assets which completely stopped offering any support since Unity 2017.0. Some of these no longer work in current versions of Unity. Mainly these are post-effect type of assets: SSAO, tonemapping, motion blur. Some asset store sellers don’t even respond to inquires. (One of them is a Unity employee, but that is a separate discussion.)
There are also some other assets I was contemplating buying such as shadow filters. I’m glad I didn’t buy them because they are now completely removed from the asset store.
All of this seemed to happen upon the release of Unity 2017.
At this point I would not even dream of using asset store items such as SSR or realtime GI solution after what I have been observing with lack of compatibility with newer versions of Unity.
I’m only $60 in the hole, so it’s not a huge concern. But that doesn’t include time spent integrating the asset into the project.
Has anyone else experienced this trend since 2017?
This happens every major version release. I’ve been using the asset store for years and every time a new major version drops it’s always a gamble as to whether or not the asset will still be supported.
Updating Unity throughout 5.0 (5.0 → 5.2-> 5.3 - 5.6) posed no issues for me. Everything was compatible. Then 2017 hit, then the experienced changed drastically for me.
(A lot of this might be related to the fact that Unity has implemented a post-processing stack, making a lower demand for asset store post-processing effects)
I still use Scion, I find some of the post effects better than Unity’s in-built… Every major release or patch though I’m having to update it, I was working on some other Unity projects (like GI) and the amount of work to keep this all together started to get in the way of doing stuff and it just put me off.
If it’s a larger developer on the asset store or just a bit of “how did you do that” artwork I’ll buy it… If not I’ll tend to go open source and do basic upgrades / patching… You’re going to have to do it with the asset store anyway, so why not?
I don’t think I’ve come across an asset pack (especially post) that didn’t need optimizing in some ways anyway, it just saves initial translation time from white papers (which can be a lot).
This is one of the major reasons for having everything well done in engine…
Just restrict your purchases to assets that include source code. For the most part changes introduced by newer releases won’t be that massive and with source code available you’ll be able to correct the problem.
Same thing happened between Unity 4 and Unity 5. When buying an asset go into it expecting that you will get something working as things are today, with no guarantee of future support. There are certain publishers who are very responsive and make lots of updates, and for those I think it is ok to expect continued development, but not so for any random asset off the store.
So go into it with the idea you may have to learn how the asset works and maintain it yourself (I’ve done that with some), or have to replace it later. Whenever I decide to buy an asset off the store I look at it as I’m deciding to spend double of what I’m actually spending due to the fairly good chance I will have to replace it later.
Those ones don’t even bother me though. I only get really bothered if it doesn’t work properly out of the box with a version that it should work with, AND the code and comments are so poor it is very hard to maintain.
Ive kept one project in 5.6 because I see less benefit from updating the project, compared to the issues associated with updating the project to a new version.
Version locking on current software is something smaller teams could learn similar to how larger aaa teams do.
What benefits did your project gain by updating? Were they more important than the losses incurred by unsupported asset packs?
Absolutely. I will continue updating Unity even if some asset store items become incompatible. The only change I would have made is holding off buying certain assets until I’m sure I’m ready for version locking.
When I started Unity I didn’t have the foresight to foresee that certain assets would become incompatible with future versions of Unity.
When looking at all the new features Unity adds every release, I can’t resist the urge to upgrade:
standard particle shader
progressive lightmapper
playables
Unity post-processing = significantly faster FPS
Shader improvements
not to mention all of the issues resolved and improvements with enlighten for GI because it was a joke in Unity 5.0 trying to lightbake anything.
This, for sure. When I start a project I typically intend to finish with the same Unity version I started in.
That said, I do install newer versions to give them a spin anyway, and the last several times I did that our project moved over and “just worked” with zero or trivial effort. And, as mentioned, there have been some pretty sweet benefits in the last few Unity versions, so after successfully passing our (admittedly somewhat ad-hoc) test suite we moved to the new versions anyway. Importantly, though, we consider that to be a bonus - it’s not something we ever planned on being able to do.
The answer to the OP’s question is pretty much wrapped up in this:
The catch is that as your team gets larger it becomes more costly to evaluate the answer to that question, let alone to roll out the updated version.
In our team, as we’re also developing for consoles, we’re upgrading Unity until we’re out from the prototyping phase and only to the highest officially supported version i.e 2017.2.1p2 in our current case to be exact.
When we’re done with prototypes and we’re starting production then we’re freezing our version on the latest we had.
It just makes a lot of things easier.
We don’t need to update (in most cases) assets from store because they’re already working with our version of Unity.
We don’t need to update our custom tool that we’re maintaining.
We don’t need to update our core code.
We don’t need to update our build servers to support this version.
Sure, new features are tempting but you always need to answer yourself a question - “Do I really need them?”. If upgrading your project to the next version of Unity means that you’ll need to spend a week to update it then maybe it’s not worth it.
It is a lot work enough to finish and optimise the game and it’s best to try to keep additional work you need to do to minimum.
Issue is some of them take a fair bit of reverse engineering, especially when jumping from major release to other major releases a lot of things have been deprecated. For post effects stacks etc. you have to be relatively fluent in graphics pipelines / shaders so it’s not for the average programmer / newbie.
Most other engines have everything important self contained and this is rarely (if ever) an issue, well until they change something you disagree with :)…
Reason why you buy assets is to save you time vs. your own solutions, if it starts to prove otherwise than it’s not “worth the risk”.
Freezing the editor versions is probably the best option, until you hit a bug and have to upgrade.
That is the only case you should update ongoing project to next version of Unity. Even then you should try to fix it with a patch release rather than major upgrade.
That depends really, if the development cycle is three months to a year it could be a disadvantage. If you’re working on a long release cycle game for e.g. three years, it’s far from uncommon for dev’s large and small to at least test bench a new version.
Of course if said major release gives you a major upgrade over your current version. Three years is a long time in engine development…
I disagree, it’s better to try to stay on latest version of unity, if you fall behind it can be a massive or impossible job to upgrade. We most often wait for stable version before upgrading though. So many bugs otherwise.
Even when we wait for stable we find bugs in Unity, like when we moved to 2017 we found a bug with Joints that wasn’t working correctly when initiated from a prefab. Sometimes I think we are the only one using Unity if bugs like that can slip through to release version
You’ll still encounter bugs though and since they’re likely to be completely different ones from the previous release you’ll have to invest yet more time into fixing them that could have been spent on your actual game.
Time (and thus indirectly money because you know hired staff and all) is already a precious commodity that I wouldn’t want to waste it on a meaningless upgrade.
Well since everything regarding mixed mode lighting was broken up to shadow mask mode was introduced in 5.6 you were pretty much forced to update if you wanted proper mixed mode lights. And it’s always something new you want, like single pass instanced in 2017.x
Game logic wise our game is far more advanced than most games since every weapon and every item in our game is a mini game in its own right. But we don’t have that many complex shaders etc that can break when upgrading.
I will put in my 2 cents here. I bought Probuilder Pro bundle around the time I was using Unity 5.6/5.7 and have been keeping it updated, particularly when a new Unity release comes out and they add new features to PB.
I discovered, by accident really, that Probuilder is now part of Unity 2018.1 and that they will be updating Probuilder only with 2018.1 and up. What this means is that my Probuilder Bundle components won’t be updated anymore and I will have to start using 2018.1 if I want any new features.
The bundle asset is actually deprecated my downloads, so that is not a good sign. I paid $150CDN for the bundle and am a little mad/disappointed that it will no longer be supported and/or updated for 2017.1/3.
So, looks like I may have either keep using 2017.1/3 and my current version of PB, or using 2018.1 to get access to updates and features, or even start looking at a new modelling program for Unity, such a Umodeler.
It would have been nice if the PB devs sent out the announcement to the people who bought their asset instead of me having to stumble across it in a blog post on the Unity forum.
That’s a completely normal practice for Unity when they purchase an existing asset. People who purchased the asset prior to it being bought up will continue being able to download it. People who wish to use the new release will have to download it through the new entry (links below) for it on the asset store. Text Mesh Pro went through the exact same process.