Search Unity

Legacy Particle System deprecation

Discussion in 'General Graphics' started by superpig, Aug 1, 2016.

  1. richardkettlewell

    richardkettlewell

    Unity Technologies

    Joined:
    Sep 9, 2015
    Posts:
    1,858
    We have usage stats to inform us about the usage of components such as the Legacy Particle System, so we don't need to speculate.

    Are you using Legacy Particles in your project(s)? Projects that will ship on a version later than 2018.2? (Which is the earliest conceivable version for total removal, if only script support disappears in 2018.1).

    If you think you meet those criteria, and want to give us information about your situation, e.g. how many hours you think you may lose performing a manual upgrade, we can take that kind of information into account.
     
  2. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,063
    Well for example I have a game from 2013 made in unity 4 which I need to upgrade to unity 5 address the iOS 11 native 64 bit requirement. It uses legacy particles, so yea I would need to manually change all of them to the shrunken particle system. Now here is the real problem, I bought them from the asset store and I don't have a fast way to upgrade them to the new system. So basically would have to invest a lot of time if I wanted to keep the particles. unless the asset store publisher upgrades them, but they may as well deprecate them as it may be a lot of work for them too.
     
  3. ifurkend

    ifurkend

    Joined:
    Sep 4, 2012
    Posts:
    350
    From my experience, manual transition from legacy to Shuriken isn't difficult for experienced fx artist, I did that during an iOS project with Unity 4. But IIRC particle velocity works out slightly differently. Anyway I would recommend you hire an fx specialist for the transition task if you're not confident enough to handle it by yourself.
     
  4. CoderPro

    CoderPro

    Joined:
    Feb 21, 2014
    Posts:
    320
    A lot of my company projects using Legacy Particle System, and we dont have time to convert all of them. We still update Unity version to newest version, but still using Legacy Particle System, its not break my company projects. Legacy Particle System or new Particle System is user's choice, and If it not break other, Please don't remove it, lets mark it deprecate only. Lets us using newest version of Unity with Legacy Particle System.
     
  5. BrandSpankingNew

    BrandSpankingNew

    Joined:
    Nov 20, 2012
    Posts:
    220
    Some time ago there was mention made of a "migration guide" to ease the pain of transitioning from the legacy particle system to the newer ParticleSystem component. Has there been any progress on that guide? Is it even being worked upon?
     
  6. arkon

    arkon

    Joined:
    Jun 27, 2011
    Posts:
    1,109
    Guys, Please don't remove the legacy particle system, I have 20+ games using it on the store and I don't have the time or skill or inclination to convert the particle effects. This would take me days per game and they never look the same as I had them before!
     
  7. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    27,968
    I'm wondering why a year's worth of depreciation and official notice was missed as a couple of posts in this thread seem to not understand what depreciated actually means or respect it? So I assume the depreciated message was missed so perhaps there's a way to send a stronger message to people about depreciation in future?
     
  8. richardkettlewell

    richardkettlewell

    Unity Technologies

    Joined:
    Sep 9, 2015
    Posts:
    1,858
  9. arkon

    arkon

    Joined:
    Jun 27, 2011
    Posts:
    1,109
    I for one was fully aware the legacy system was being depreciated. 70 plus annoying warnings in each game was more than enough warning thank you. What you and unity fail to appreciate is when you are a very small indie team with dozens of games live using legacy, how are we to find the time to change over the hundreds of legacy effects we use? Not to mention they never end up looking the same!

    As an excercise yesterday I had a go at converting just one legacy effect over to the new way. The result was a day wasted and no way I could get the new version looking as good as the old one. It’s all very well saying get the asset store effects author to update but many if not most of the particle packages I’ve used over the last 5 Year’s are no longer supported!

    Unity you need to help us out here, give us a conversion tool please!
     
  10. ifurkend

    ifurkend

    Joined:
    Sep 4, 2012
    Posts:
    350
    I understand the pain. If the new auto-conversion tool fails to meet your expectation, then you may either not build your game with the newest Unity, or hire some skilled particle artist to do the conversion job manually. You can look at the Asset Store for active particle effect providers and offer a proper rate for the job. (I don’t have time to take such job recently sadly.)
     
  11. richardkettlewell

    richardkettlewell

    Unity Technologies

    Joined:
    Sep 9, 2015
    Posts:
    1,858
    We have. Read the post from me above yours. :rolleyes:
     
  12. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,063
    thanks for making the conversion tool and taking out the pain of upgrading!!

    I would recommend to always autoupgrade legacy systems in the future when things get removed, like with depricated scripts. it works really well.

    A part of unity users dont know how to script particles or how to make special effects, thanks for accomodating for us. we cant affort to hire external parties to do it for us, so we rely on unity and the asset store to make things work well.
     
    richardkettlewell likes this.
  13. arkon

    arkon

    Joined:
    Jun 27, 2011
    Posts:
    1,109
    Thanks for the tool! Unfortunately Most of my games use the Detonator framework from the asset store. Initially I thought I could just create new prefabs but then realised the whole framework creates the particle effects from code!! So you can't just update them, you have to go in a recode the whole asset! I am now having to make major changes to all my live games because of this. There was a time I could concentrate on creating new games, now thanks to things like this I spend all my time futzing with code in existing games just to keep them alive on the stores.

    I'd like to re state something that was mentioned in a previous post. Imagine if MS changed the legacy code in .net whenever they decided to or Adobe took out support to read older file formats. You can't create software we all now depend on and then remove stuff that breaks games that are already created and cause us to have to re code each one for no benefit to us at all.
     
  14. BlackPete

    BlackPete

    Joined:
    Nov 16, 2016
    Posts:
    970
    *cough*Silverlight*cough*MFC*cough*etc* ;)

    Could you just not upgrade your Unity version to keep the legacy particle systems?
     
    Ferazel and richardkettlewell like this.
  15. Ferazel

    Ferazel

    Joined:
    Apr 18, 2010
    Posts:
    482
    Well I fully support this decision to remove a the legacy particle system. The one rule of software development is things change. I'm not sure what gave people the impression it was any other way.

    This has been coming for awhile and I'm sure the legacy animation component is next.
     
  16. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,574
    Ehh, looks like I will finally have to give up on the old Detonator asset. Its been a good run old friend!
     
    drawcode likes this.
  17. richardkettlewell

    richardkettlewell

    Unity Technologies

    Joined:
    Sep 9, 2015
    Posts:
    1,858
  18. drawcode

    drawcode

    Joined:
    Jul 21, 2008
    Posts:
    64
    FYI, with 2018.2.3 you may get a hard crash with logs like below if you have a Legacy Particle System component like ParticleEmitter, ParticleRenderer etc. I am fine with deprecations and removals but the hard crash without clear reasons why was difficult to track down. I was updating an old game and there was a hard crash on scene change and nothing to indicate it was due to a Legacy Particle System component present eventhough I knew about the deprecation and removal, basically it was play, scene change, editor crash with the logs below.

    The logs on the crash were not helpful and looked like this in case anyone else has this issue:

    and

    and

    I was able to find out that this was due to the Unity 2018.2.3 hard removal of the Legacy Particle System from this thread from ZDestructor: https://forum.unity.com/threads/2018-2-0-macos-editor-scene-loading-crash.541644/#post-3594437

    What was happening was a hard crash after upgrade to Unity 2018.2.3 on scene change.

    I opened up an old racing game and upgraded it to 2018.2.3 that I didn't know had a ParticleEmitter on a disabled prefab from a test asset area on the wheel smoke. Unity just hard crashed on scene change instead of any info in the logs and it was not updated during upgrade process and had no warnings on the issue which was related to the full removal of the Legacy Particle System.

    Unity needs to do better on hard deprecation and removals of commonly used legacy features.

    Unity did offer tools like this in the forums (https://forum.unity.com/threads/release-legacy-particle-system-updater.510879/) which is nice, but it should be part of the upgrade process and when someone tries to use a removed feature, at least some warning at least in the logs. The logs above are very vague in what was happening when it should have easily pointed out that a component has been deprecated and removed.

    Unity should also check for hard deprecated and removed features at
    • Unity open
    • scene open
    • upgrade process
    • and AT LEAST clearly specified in the logs if crashes.
    The logs that said "Failed to erase object from ms_TypeToObjectSet. It was not part of the set" it would have been nice to know what "It" is.

    The legacy particle system is in tons of old assets and projects and for the editor just to crash on scene change with zero information on it being due to the legacy particle system (ParticleEmitter etc) is not acceptable.

    In case anyone else falls into this pit of despair, just know that you need to remove the Legacy Particle System that was removed from Unity fully in 2018.2.3.

    However Unity does not currently do well with removals of features, they need to improve especially on the logs. Currently there are not good checks on users upgrading and randomly getting the issue on run or scene change that had any ParticleEmitters or other legacy particle components. A hard crash should be more clear that is was a minor issue of the Legacy Particle System being present at all in a scene and to remove it or warn the user.

    There is nothing worse than an editor crash, no info on it, and vague logs, it seems lazy and rushed the removal of this legacy component eventhough it was announced long ago and slowly being more deprecated. I don't even care that it was as Shuriken is better but the experience of an old game upgrade with a deprecated and removed feature was painful moreso than needed. Easily burned hours and probably many will have this issue on upgrades of older games to latest. I added the logs and info to help anyone else that might waste hours on a minor issue.

    Hopefully they will do better in future deprecation removals of common features especially. Sucks to lose hours to something that should have been clear at least in the logs. Eventhough I was aware of the Legacy Particle System removal for a long time, it was not clear why Unity was crashing on an old game upgrade, it should be more clear especially as more features are EOL and removed.
     
    Last edited: Aug 12, 2018
  19. richardkettlewell

    richardkettlewell

    Unity Technologies

    Joined:
    Sep 9, 2015
    Posts:
    1,858
    Hi, thanks for reporting, we already have a bug report for this and it will be fixed very soon - you’re right that it should not crash
     
    drawcode likes this.
  20. BIO_K

    BIO_K

    Joined:
    Feb 3, 2016
    Posts:
    5
    Well you should rush, its 2019... It is not working still... can you please for the love of god and all that is kind please help me convert this S***? Its really unnecessary really... Why I ask?
     
  21. richardkettlewell

    richardkettlewell

    Unity Technologies

    Joined:
    Sep 9, 2015
    Posts:
    1,858
    hippocoder and BIO_K like this.
  22. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,483
    A lot of unity users do not come from a coding background. I didn’t unerstanr what deprecated meant in the context of software until recently. Maybe use layman’s terms like ‘particle system will be removed’ or something which is really what deprecated means anyways right? If this kind of message popped up in the log warnings it might make it clearer.
     
    BIO_K and hippocoder like this.
  23. BIO_K

    BIO_K

    Joined:
    Feb 3, 2016
    Posts:
    5
    I got here after I used your converter.. It works perfect on most things thank you... I have a code that controls the particle system... The problem is updating the code... It works fine in legacy but after conversion of both the particle system and the code... Nothing seems to be emitted... unity also started to slack in their documentation... I updated the script with as much of the information I can gather, 80 % from other people not unity's documentation, as it says nothing and that which it had said gave me an error because it was suppose to be awake not start, but the documentation said start!...
     
  24. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    27,968
    It would probably be best to upload a small unity package of the particle system so people can see what you see, there's way too elements in a project to give a good answer.
     
unityunity