🕓 3 MIN State management patterns like …
If you’re a designer or developer already working with Uno Platform and Figma, you might have initially leaned towards Material UI for its robust design system and ease of integration. Or, perhaps, you’re on the cusp of starting a new project and considering Uno Figma as the cornerstone of your application’s UI. However, what if the Material Design aesthetic doesn’t quite align with your vision? What if you’re aiming for a Fluent design or seeking a more customized branding that transcends mere app themes?
While the Material toolkit file has been the go-to for those using our plugin, we understand you may have different requirements.
This article is all about highlighting the power of component overrides and how to tweak those Material components to fit a Fluent design style without starting from scratch. We’re talking practical steps, real examples, and the kind of flexibility that makes your job easier. Whether you’re looking to align with Fluent’s aesthetics or just want to customize your project’s design, we’ve got you covered. Let’s dive into how overrides can be your best friend in tailoring UI components to fit your vision.
The Uno Material Toolkit file for Figma is an extensive library of components, templates, and styles designed to echo the principles of Material Design for use with the Uno Platform for Figma plugin and Uno Platform development.
At the surface level, the components, styling, and theme are nothing new to designers familiar with material design systems; however, what sets the Uno Material Toolkit apart is its comprehensive approach, which caters to designers and developers within the .NET ecosystem. The magic of the Uno Platform plugin and toolkit comes from behind the scenes, as each component, state, template, and layout generate clean responsive C# and XAML markup that are ready for export.
The Uno Material Toolkit serves as a bridge between design and development, ensuring that the visual fidelity and user experience envisioned by designers are faithfully translated into the final product. It instantly generates ready-to-use code that can be seamlessly incorporated into any project, so designers can communicate to developers in a language they understand.
You can find the full list of components available as part of the Uno Platform Material Toolkit File here.
The core objective of this article is to demonstrate to designers and developers alike that with the solid foundation laid out by the Uno Material Toolkit, override support gives you the flexibility to further tailor your UI to your brand or maybe a particular design system like in the case of this tutorial, Fluent 2.
An essential aspect of mastering the transformation from Material to Fluent or any design in Figma is getting comfortable with the concept of instance overrides. The Uno Platform’s documentation provides an in-depth look at how designers can leverage instance overrides to tailor components to their specific needs without losing the ability to update those components globally—an invaluable feature when applying Fluent Design principles to existing Material designs.
Instance overrides in Figma allow designers to modify properties of a component instance—such as color, text, and even certain effects—while still keeping it linked to the main component. This means any non-overridden properties will still update across all instances if the main component is changed. This capability is crucial when transforming design systems because it ensures efficiency and consistency across the design process. Designers can experiment with Fluent styles, such as depth, light, and motion, on individual instances, knowing that the underlying structure of their designs remains intact and universally manageable.
Uno Platform’s support, for instance overrides, ensures that these design adjustments are not only possible but also practical in a development context. The Uno Platform for Figma plugin not only generates the appropriate C# and XAML but also generates color and font files, with the updated values, ready to be exported and dropped into your project. The Instance Overrides documentation is a vital resource for designers looking to adapt their Material Design UIs into a more tailed design or theme.
Let’s dive into how we can leverage Instance Overrides to give our UI a Fluent 2 design makeover. We’ll be using the below example app from the Fluent 2 iOS Kit as our guide, aiming to replicate the look and feel through strategic overrides.
Before Getting Started, it’s important to make sure your environment is set up for both Figma and Uno Platform.
Haven’t set up your Uno Platform environment yet? No worries, follow these steps to get up and running.
Alternatively, we made the tutorial file available here.
To kick things off, we need to pinpoint the key elements that will undergo changes during our Fluent makeover. For the screen we’re focusing on, this means updating our app’s theme and text styles first.
The first thing to do is update our app’s theme. The beauty here is that by using a DSP file, the plugin will create a global change that will update your theme across all screens.
If you don’t have a DSP file, don’t worry. We have the handy Material theme builder tool, make sure you are on the custom option.
Once imported, your theme should update globally.
Next, update your Text styles so the font sizes and weights align with the Fluent 2 iOS kit typography ramp.
Updating our text styles may be time-consuming, depending on the variety of text styles in use. However, changing just one text style will globally update the typography wherever that style is applied.
To do this:
When it comes to components, we’re looking at giving various elements a new look, including the Textbox, CardDesign template, IconButtons, ListItem, Hyperlink, and FAB button, not to mention our TabBar.
Before starting a new project with overrides, it’s important to note that not all overrides are compatible with every component. Make sure to consult the list of which components support specific overrides here.
Select a Standard Page Template from the components library to start your UI.
It’s worth noting that the Standard Page Template, while initially presented in a mobile format, is incredibly versatile. You can easily adjust it to suit desktop or web frames, providing the flexibility you need for your UI design.
The first thing to do with the Standard Page Template involves a simple right-click to “detach instance.” After that, you’ll have the freedom to delve into the Body and Page layers, tweaking as needed.
NavigationBar:
For this tutorial, we’ll hide the NavigationBar, so feel free to hide that layer.
Content.Scrollable:
Set the horizontal, vertical, and gap padding for this layer to 0.
Bottom TabBar:
For the NavBar, you’ll need a PersonPicture, some Text, and two IconButtons. The overrides needed here are covered through our predefined color and text styles. But we still need to build out our section.
Next, we’ll incorporate a CardDesign template for displaying the file previews:
This part mirrors the NavTitle section.
To display the list of recent files, we’ll utilize the ListItem Control, which will be filled using data bindings. Begin by placing it on your canvas.
For our final section, we need a Hyperlink Button and a FAB (Floating Action Button). The Hyperlink Button will be part of the previous section, while the FAB will have its own space.
Now if we run the plugin we should see a data-less interpretation of our design.
The DataContext tab in the Uno Figma Plugin is pivotal for defining the DataContext for bindings, a feature that’s particularly beneficial in the Preview tab. This feature is key for simulating how data interacts with UI elements in the app.
Do the same for the Preview section.
Here is the JSON data used:
{
"files": {
"thumbnail": "https://uno-website-assets.s3.amazonaws.com/wp-content/uploads/2024/03/18220748/Card.png",
"doctitle": "FY24 Picker",
"lastopened": "You recently opened this",
"recents": [
{
"doctitle": "S&A Brainstorm",
"lastopened": "Audrey Webb sent 3 days ago",
"Photo": "https://uno-website-assets.s3.amazonaws.com/wp-content/uploads/2024/03/18235627/Icon-40x40-1.png"
},
{
"doctitle": "FY25 Sales Projection",
"lastopened": "Kristine Mitchell sent 3 days ago",
"Photo": "https://uno-website-assets.s3.amazonaws.com/wp-content/uploads/2024/03/18235910/Icon-40x40p.png"
},
{
"doctitle": "Edge Brand growth MSAI",
"lastopened": "Audrey Edwards sent 3 days ago",
"Photo": "https://uno-website-assets.s3.amazonaws.com/wp-content/uploads/2024/03/18235917/x.png"
},
{
"doctitle": "Design hiring matrix",
"lastopened": "Dustin Steward sent 4 days ago",
"Photo": "https://uno-website-assets.s3.amazonaws.com/wp-content/uploads/2024/03/18235917/x.png"
}
]
}
}
For a more in-depth explanation of how to effectively set up your DataContext, check out this Uno Tech Bite.
Ready to build with beauty, productivity, flexibility, and modularity in mind?
Download our Visual Studio extension, install and run uno-check for a smooth setup, and use our simple counter app tutorial to get your first cross-platform application running.
Tags:
Uno Platform
360 rue Saint-Jacques, suite G101,
Montréal, Québec, Canada
H2Y 1P5
USA/CANADA toll free: +1-877-237-0471
International: +1-514-312-6958
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
Uno Platform 5.2 LIVE Webinar – Today at 3 PM EST – Watch