Search Unity

  1. Unity 2020 LTS & Unity 2021.1 have been released.
    Dismiss Notice

Unity 2020.x: Removal of the Chromium Embedded Framework and its implication on Asset Store tools

Discussion in '2020.1 Beta' started by koblavi, Mar 29, 2020.

  1. koblavi

    koblavi

    Joined:
    Oct 1, 2010
    Posts:
    52
    As stated in the Unity 2020 beta launch blog post the Chromium Editor Framework (CEF) has been removed from Unity 2020.x The blog does not go on to detail what the plans will be to support assets & tools that make use of the CEF such as the uCodeEditor which users depend on in their workflows.

    I contacted the author of this particular tool and he had absolutely no idea that Unity had already done this. I take it to mean that Unity had not reached out to him prior to making this announcement or even dropping the feature. I am only going by what I gleaned from my email conversation with him. It might very well be that a notice was sent and he just missed it.

    Given the situation, we would have to choose between sticking with 2019 and using these assets we purchased from the store or move on the 2020 and consider them a wasted investment.

    The CEF wrapper in Unity, as far as I know, is a public API. Apart from the asset store and the services tab, other tools are permitted to use it. Putting out a blog post that makes it look like only the asset store and the services tab will be affected and presumably not informing the authors of assets that depend on it is rather misleading and unfair to both the vendors of those assets and those of us who spent money on them.

    Moves like this erode the confidence of tool makers in the Asset Store because it might just take another blog post to render their product obsolete. All of that said, I would like to know if there is a contingency plan to support these assets going forward because there was no indication of this. Does Unity plan to open-source the WebView C++ wrapper and the C# API?

    Thanks
     
    AaronVictoria and mjc33 like this.
  2. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    8,352
    It was not public API. The asset you linked called into internals of Unity via reflection :(. At that point, they're pretty much on their own: we reserve the right to change and remove private code as needed.

    See this:

    https://github.com/Unity-Technologies/UnityCsReference/blob/2019.3/Editor/Mono/WebView.bindings.cs
    https://github.com/Unity-Technologi...no/WebViewEditorWindow/WebViewEditorWindow.cs
     
    gcsonka, koblavi and JoNax97 like this.
  3. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    5,391
    This allows Unity to reduce the install size of the editor pretty substantially. If you check out the CEF download page, the size of the download ranges from 67Mb (OSX minimal) to 600Mb (some default Linux versions). So I'm all in favour.

    And, like, yeah. I know that it's all the rage now, but you should probably not embed 600 mb in your application in order to show a single web page. What uCodeEditor is doing is going "hey, there's an open source editor that works on the web, so let's just a) grab the embedded web browser in the editor and b) embed that open source editor in that.

    They'll need to rewrite their app to bundle their own browser now, which will kinda expose that their claim that the editor is "light-weigh" is kinda rubbish. It'll at minimum come out at about 1/8th of Unity itself.
     
    benoitd_unity likes this.
  4. koblavi

    koblavi

    Joined:
    Oct 1, 2010
    Posts:
    52
    Oh well, my whole argument rested on the fact that I thought it was a public API. I guess I should have done my homework and taken a closer look at those classes in the editor assembly before starting a thread. Looks like I, along with a bunch of other asset store users, just got scammed out of a few bucks.

    Perhaps going forward, Unity should prevent assets that make use of internal APIs from getting published to the asset store, or at the very least display a bold warning that says "This Asset uses internal Unity APIs purchase at your own risk". Either way, this is ultimately the tool author's fault.

    Thanks
     
    richardkettlewell likes this.
  5. koblavi

    koblavi

    Joined:
    Oct 1, 2010
    Posts:
    52
    I personally don't mind that they're making an open source editor available in the Unity editor through a web-view. It's perfectly fine. They don't claim to have developed the editor themselves so that was pretty clear. The bit that sucks is the fact that he's selling us a tool that uses internal APIs knowing they can be removed any day without warning. The second bit that sucks is the fact that, we are not in any way protected from such shady assets. Is it even okay to report this stuff?
     
  6. LeonhardP

    LeonhardP

    Unity Technologies

    Joined:
    Jul 4, 2016
    Posts:
    2,479
    I've forwarded the thread to the Asset Store team.
     
  7. thomas-weltenbauer

    thomas-weltenbauer

    Joined:
    Oct 23, 2013
    Posts:
    69
    I realized this after we switched to Unity 2020.1 last week.
    I know Asset Store packages are one problem.

    But we are using the now deprecated WebView for showing "inline" documentation and changelogs for many different tools inside the editor. The documentation is really important for us, as the tools (e.g. for content creation) are not self explaining because of their complexity.

    Sadly we have to search for alternatives now.
    Do you have any recommendation?
     
  8. LeonhardP

    LeonhardP

    Unity Technologies

    Joined:
    Jul 4, 2016
    Posts:
    2,479
    It's better to ask this in a dedicated thread in https://forum.unity.com/forums/editor-general-support.10/
     
  9. dweiss

    dweiss

    Joined:
    Jul 16, 2014
    Posts:
    3
    Did you find a solution? We would like to incorporate it as well
     
  10. thomas-weltenbauer

    thomas-weltenbauer

    Joined:
    Oct 23, 2013
    Posts:
    69
    No, we have no solution yet. I experimented with custom tools showing webpages but I had no luck to get them to run inside an editor window. So we are opening the webpage now directly and there is no inline documentation right now.
     
unityunity