-
Notifications
You must be signed in to change notification settings - Fork 858
Universal converter / upgrader framework #4103
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Universal converter / upgrader framework #4103
Conversation
removed list to the convert method. removed the return och list struct. Instead the converter owns those items now.
Made the bindings to the UI and the saved properties
Added category to converter class Added which converstion stage the converter is in, like Builit-in to URP, Built-in To HDRP or your own converstion stage.
moved Converter Core to Core RP folder
Added functionality for disabling a converter added methods for marking items for failurs or success
that is called when switching item in the list of converter items.
made so that the icons get updated accordingly
Made a small border added padding. removed a visual element
Tested contextual menu for list view items
…-framework # Conflicts: # TestProjects/UniversalGraphicsTest_PostPro/Assets/Editor/Converter.meta # TestProjects/UniversalGraphicsTest_PostPro/Assets/Editor/Converter/Widget.meta # TestProjects/UniversalGraphicsTest_PostPro/Assets/Editor/Converter/Widget/converter_widget.uss # TestProjects/UniversalGraphicsTest_PostPro/Assets/Editor/Converter/Widget/converter_widget.uss.meta # TestProjects/UniversalGraphicsTest_PostPro/Assets/Editor/Converter/Widget/converter_widget.uxml # TestProjects/UniversalGraphicsTest_PostPro/Assets/Editor/Converter/Widget/converter_widget.uxml.meta # TestProjects/UniversalGraphicsTest_PostPro/Assets/Editor/Converter/Widget/converter_widget_item.uxml # TestProjects/UniversalGraphicsTest_PostPro/Assets/Editor/Converter/Widget/converter_widget_item.uxml.meta # TestProjects/UniversalGraphicsTest_PostPro/Assets/Editor/Converter/converter_editor.uss # TestProjects/UniversalGraphicsTest_PostPro/Assets/Editor/Converter/converter_editor.uss.meta # TestProjects/UniversalGraphicsTest_PostPro/Assets/Editor/Converter/converter_editor.uxml # TestProjects/UniversalGraphicsTest_PostPro/Assets/Editor/Converter/converter_editor.uxml.meta
com.unity.render-pipelines.core/Editor/RenderPipelineConversion.cs
Outdated
Show resolved
Hide resolved
com.unity.render-pipelines.core/Editor/RenderPipelineConverter.cs
Outdated
Show resolved
Hide resolved
com.unity.render-pipelines.core/Editor/RenderPipelineConverter.cs
Outdated
Show resolved
Hide resolved
com.unity.render-pipelines.core/Editor/RenderPipelineConverter.cs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some minor comments
com.unity.render-pipelines.core/Editor/Converter/ConverterItemDescriptor.cs
Show resolved
Hide resolved
com.unity.render-pipelines.core/Editor/Converter/RunConverterContext.cs
Outdated
Show resolved
Hide resolved
com.unity.render-pipelines.core/Editor/Converter/RenderPipelineConverter.cs
Outdated
Show resolved
Hide resolved
com.unity.render-pipelines.core/Editor/Converter/RenderPipelineConvertersEditor.cs
Outdated
Show resolved
Hide resolved
com.unity.render-pipelines.core/Editor/Converter/RenderPipelineConvertersEditor.cs
Outdated
Show resolved
Hide resolved
com.unity.render-pipelines.core/Editor/Converter/RenderPipelineConvertersEditor.cs
Outdated
Show resolved
Hide resolved
com.unity.render-pipelines.core/Editor/Converter/RenderPipelineConvertersEditor.cs
Outdated
Show resolved
Hide resolved
com.unity.render-pipelines.core/Editor/Converter/RenderPipelineConvertersEditor.cs
Outdated
Show resolved
Hide resolved
…-framework # Conflicts: # com.unity.render-pipelines.core/Editor/CoreEditorStyles.cs
Added name space change variable names on VisualElements Assets commented choices code
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, minor comments.
I think we also discussed that the upgrader/converter would not expose public API until we are confident with a couple of usages to mature API?
If so, then let's make converter API internal for now until we are confident to share a nice API to users.
com.unity.render-pipelines.universal/Editor/BuiltInToURPConverterContainer.cs
Outdated
Show resolved
Hide resolved
Removed public accessor for methods in material upgrader
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly looks good, have some comments. com.unity.render-pipelines.universal/Editor/Converter/converter_widget.uss is empty and should be removed.
com.unity.render-pipelines.universal/Editor/Converter/RenderPipelineConverter.cs
Outdated
Show resolved
Hide resolved
com.unity.render-pipelines.universal/Editor/Converter/RenderPipelineConverter.cs
Outdated
Show resolved
Hide resolved
com.unity.render-pipelines.universal/Editor/Converter/RenderPipelineConverterContainer.cs
Outdated
Show resolved
Hide resolved
com.unity.render-pipelines.universal/Editor/Converter/RenderPipelineConverterContainer.cs
Outdated
Show resolved
Hide resolved
com.unity.render-pipelines.universal/Editor/Converter/RenderPipelineConverterContainer.cs
Outdated
Show resolved
Hide resolved
com.unity.render-pipelines.universal/Editor/Converter/RenderPipelineConvertersEditor.cs
Outdated
Show resolved
Hide resolved
Removed the sace to layout method. Fixed a bug regarding UI reloading
com.unity.render-pipelines.universal/Editor/Converter/RenderPipelineConverter.cs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested if old functionality of material upgrader works with several different built-in projects, everything works smoothly, no regressions found.
|
Failures are known issues, or jobs that we cancelled because they don't affect this PR. |
Purpose of this PR
To create a UI and an API for adding and creating converters. These converters will help us convert projects form Built-in to URP.
This framework is mainly how to create a converter and show the data in the converter UI.
We need to have a robust and easily extendable system in which other people can make upgraders easily and use this UI/UX workflow. If another team wants to make an upgrader for GI-Bake (example) then they should easily be able to add that to this workflow.
This is how the UI looks now

It is not finished.
This draft PR is for the API.
Users should be able to use this and create converters.
QA:
Added the material Converter in this PR so that we have something to test. So would be good to test that on an older project. Upgrading materials. You will also need a Script define to get the tool to show. Talk to @martin-unity3d to get this setup?
The UI is not finished (will be addressed in later PR's) and if there are feedback on it then we have another document for that. again talk to @martin-unity3d to get access to that document.
Release Management Epic UR-2029