Disclaimer: this is an automatic aggregator which pulls feeds and comments from many blogs of contributors that have contributed to the Mono project. The contents of these blog entries do not necessarily reflect Xamarin's position.

November 16

Making games Universal: How small teams won big

The Universal GameDev Challenge was announced at GDC, and during Unity’s keynote at Unite LA on October 23, we revealed the grand prize winner: Andreas Halter with Swiss development team, Gbanga. Their entry, “Voltron: Cubes of Olkarion,” is a puzzle game set in the Voltron universe, which leverages elements of the show to build complex […]

Plastic SCM vs Git  -  2018 edition

(This blogpost was originally published at Medium.)

I don't know about you but I've always enjoyed a good David and Goliath story. There's something about the heroic underdog standing their ground against the big foe that captures my imagination: whether it's Frodo going up against Sauron, Luke Skywalker taking on the Empire, or Plastic SCM holding its own against Git.

Ok, maybe the last isn't quite the same - but hear me out. At conferences or other events, people always ask me, "How is Plastic different to Git?" They are always curious (and at times mildly affronted) as to how we can possibly compete against the much-loved Torvalds' dominant creation that's used and contributed to by multinational giants like Atlassian, Microsoft, GitHub, GitLab, and others.

With powerful friends like that, it may seem entirely crazy to put your trust in Plastic. And yet, over 2500 developer companies including large-and-small game studios, insurance agencies, health care companies, aerospace companies, automotive companies, and more have done exactly that.

Us versus the rest of the Empire

So, what is it that makes us different? In short, we've taken the age-old underdog story and tweaked it. While Luke Skywalker exploits the Death Star's single weakness to entirely destroy it, at Plastic total destruction isn't what we're after. At least not entirely.

Read more »

November 15

Xamarin.Forms 3.4.0: Say Hello to ImageButton

As part of our long-term goal to have more frequent releases, we’re pleased to announce the release of Xamarin.Forms 3.4.0. As always, this release contains even more bug fixes and most notably, another new highly requested feature, an ImageButton!


The ImageButton is a new control which is functionally separate from a typical Button where the Image property is usually for displaying a small icon next to the Button’s text. Implementing the button is straightforward, as you might expect:

<ImageButton Source="xamagon.png" 
        <VisualStateGroup x:Name="CommonStates">
            <VisualState x:Name="Normal">
                    <Setter Property="Scale" Value="1"/>

            <VisualState x:Name="Pressed">
                    <Setter Property="Scale" Value="0.8"/>


In the above example, you set an image in the same way as on an Image using the Source property which takes any ImageSource, and you can now add a handler for the Clicked event. Using the VisualStateManager introduced in Xamarin.Forms 3.0, you can do things such as change the scale of the button when pressed. The result:



ImageButton also supports Command and CommandParameter for easily binding to a ViewModel or other binding context.

Get Started Today!

Check out the full release notes for all of the details and we encourage you to explore the documentation. Xamarin.Forms 3.4.0 includes more than 40 bug fixes and ships less than a month after 3.3.0, giving you more improvements at an even quicker pace.

This update is now available on NuGet via the Visual Studio package manager. The new ImageButton control can also be seen in action in The Little Things Playground.

Find a new issue or have a suggestion?

We invite everyone to engage with us on GitHub to report any new issues or make suggestions.

To find out what we are working on right now, explore our sprint project boards on GitHub. Finally, if you’re curious about what comes next and want to help us shape Xamarin.Forms, visit the Xamarin.Forms Feature Roadmap and let us know what you think!

Discuss this post in the Xamarin forums.

The post Xamarin.Forms 3.4.0: Say Hello to ImageButton appeared first on Xamarin Blog.

Create iconic worlds with high-end art content from the Unity Icon Collective

Whether a beginning solo creator or a small team of industry veterans, we’ve heard a growing need from the community for high-quality art content on the Unity Asset Store to help them fulfill their AAA aspirations. For many smaller developers creating high-end art content is difficult, which is why we decided to partner with leading […]

November 14

Twitch Workshop: Build Your First Mobile App with C#, Xamarin, and the Cloud

Have you been clamoring to get started with mobile development using C# and Xamarin? What if you could attend a full day workshop from the comfort of your house or in a conference room with some co-workers? Well we have you covered with our first ever full day live stream interactive workshop on Twitch!

Learn how to build your first mobile application with Xamarin, .NET, and Azure experts Jeff Fritz, Matt Soucoup, and me, James Montemagno! We will be coding live, answering questions, and walking through building a full app while adding some Azure goodness along the way.

During the live stream, you will:

  • Build your first C# powered iOS, Android, and Windows app.
  • Get a full overview of Xamarin and Xamarin.Forms.
  • Learn about Model-View-ViewModel architecture
  • Make RESTful service calls to a web server and deserialize json.
  • See navigation patterns and pass data.
  • Integrate Xamarin.Essentials to add Geolocation and Map support.
  • Learn about Azure Functions and Azure Cosmos DB.
  • Integrate these services into your application.
  • Setup Continuous Integration and Delivery with App Center.

When: Friday, November 16th, 2018 at 10:00 AM ET / 7:00 AM PT / 15:00 UTC

Add to your Calendar and Stream Live

The post Twitch Workshop: Build Your First Mobile App with C#, Xamarin, and the Cloud appeared first on Xamarin Blog.

Unified diff of a branch

You can extend the actions available for branches (and many other objects) by using the external tools feature.

Unified diff

This blogpost explains how to create a custom action to run a unified diff operation for a Plastic SCM branch.

Read more »

AirSim on Unity: Experiment with autonomous vehicle simulation

We’ve partnered with Microsoft to bring the autonomous vehicle simulator AirSim to Unity. This collaboration helps democratize the development capabilities for autonomous vehicles and drones by taking advantage of Unity’s performant engine, easy to use C# development environment, and quality content from the Unity Asset Store. AirSim on Unity Created by the team at Microsoft […]

November 13

Unity and Autodesk: Powering immersive experiences with more efficient workflows

If you’re creating real-time 3D experiences with Unity and Autodesk products, here’s some great news for you. We’ve taken our collaboration with Autodesk to a new level with interoperability advances. All users of Unity and Autodesk’s Revit, VRED, Shotgun, 3ds Max, or Maya products should read on.  Whether you work in the gaming, film, […]

Visualizing your BIM data with real-time design

Today we announced a major collaboration with Autodesk, the leader in 3D design across multiple industries. We’re working closely with Autodesk to bring Revit data into Unity, enabling data to flow from the world’s most advanced building information modeler into the most advanced design visualization solution for real-time experiences. The ultimate goal – eliminate design […]

Bringing Autodesk VRED data into real-time customer experiences

Autodesk and Unity are collaborating to provide new levels of interoperability, including the ability to quickly import high fidelity models from Autodesk VRED to Unity. Today we announced a major collaboration with Autodesk, the leader in 3D manufacturing; architecture, engineering and construction and media and entertainment design. We’re working closely with Autodesk to bring VRED […]

New: Shotgun template coming 2019

Today, we revealed a deeper collaboration between Unity and Autodesk. As part of this, we announced a new Shotgun Software, an Autodesk company, integration template coming early next year, which will empower creators in media and entertainment with better production management workflows. Artistic innovation in filmmaking has enabled artists to express their talents in new […]

FBX Exporter and round-tripping between Autodesk 3ds Max, Autodesk Maya and Unity

Last year, we unveiled the Unity FBX Exporter, giving creators the ability to round-trip scenes between Autodesk 3ds Max or Autodesk Maya and Unity. On the heels of today’s announcement of our deeper collaboration with Autodesk, we want to share some exciting details of how we’re building significant interoperability between Unity and multiple Autodesk tools […]

November 12

Physics Changes in Unity 2018.3 Beta

The main change Unity 2018.3 brings to physics is the 3D physics engine upgrade, from PhysX 3.3.3 to PhysX 3.4.2. It’s the first time we ship the latest available version of PhysX to date. We aim to improve performance and stability and make it extremely easy for you to upgrade your project. Read this post […]

November 9

Getting Started with Unity’s 2D Animation Package

Have you been looking for an easy way to create skeletal animation for your 2D sprites? We’re introducing our own 2D Animation package, which allows you to rig 2D sprites, paint bone weights, and create skeletal animation, all in-editor! On top of that, there is support for Inverse Kinematics as well. You can check the […]

November 8

Gorilla Player: A Tool to Craft Beautiful XAML UIs for Xamarin.Forms

This is a guest post contributed by Leonardo Rodríguez Viacava. Leo is co-founder and CTO of UXDivers, creators of Grial UIKit and Gorilla Player. UXDivers specializes in designing and coding engaging mobile experiences using Xamarin technologies.

Gorilla Player is a free XAML previewer for Xamarin.Forms designed to efficiently create multi-platform UIs. It supports previewing in multiple simulators and real devices simultaneously. Gorilla doesn’t impose constraints to your XAML, supporting custom controls, custom renderers and MVVM frameworks like Prism.

When we started UXDivers (in mid-2015), we were a small team of designers and developers on a mission: Take XAML UIs to the next level by bridging the gap between design and Xamarin.Forms development. We quickly realized that translating rich designs into XAML required fast feedback loops, but we didn’t have the right tooling. So, we built Gorilla Player to help us craft the beautiful XAML UI templates that make up Grial UIKit and the custom projects for our clients. Gorilla improved our development process so much that in 2016, we turned this internal tool into a free public tool help the Xamarin community.

As mentioned before, Gorilla Player imposes no limitations on the previewed files, runs on multiple real devices and simulators at once, and supports data bindings through JSON sample data. Thanks to Gorilla, the projects at UXDivers have three stages: (1) our designers work on the UX/UI using their favorite design tool, (2) once the customer is happy with the design, either the designer or the developer codes the UI in XAML with the help of Gorilla Player, (3) the developer writes the logic and finishes the app.

Gorilla makes crafting great mobile UIs an enjoyable, lightweight, and collaborative process for developers and designers.

Getting started with Gorilla

To get started, install the desktop application, available for Windows and macOS. The installer includes a Visual Studio add-in necessary to sync the XAML file you are editing with the previewing surface.

As an example, let’s preview the Conference Vision app created by David Ortinau for the Build 2018 Conference with Gorilla Player. This app was built entirely in Xamarin.Forms using cool community components, custom controls, effects, behaviors and CSS styling.

  1. Clone the repository.
  2. Add the UXDivers.Gorilla.SDK.AutoConfig NuGet package to the ConferenceVision.iOS project.
  3. Add GORILLA as an additional symbol to the Debug configuration. This ensures the app starts in Preview Mode.
  4. Add two files to the ConferenceVision project: a.)DesignTimeData.json containing design time data, and b.)Gorilla.json to configure the custom navigation bar.
  5. Run the app, connect to the server, and start previewing!

Designing with Gorilla

To show you why Gorilla is so important to us, let’s do a quick demo of how to develop custom projects at UXDivers. Let’s create an app to honor one of our favorite beverages: coffee.

Project Setup

When starting a new app, one of our developers typically creates a new project and adds dependencies like community controls, libraries, MVVM frameworks, and custom fonts. Once that’s ready, add Gorilla to start working on the user interface with our designers.

For this sample app, we will use the UXDivers.Effects and xamanimation NuGet packages. As seen in the video below, after creating the solution, you add both NuGet packages UXDivers.Effects and xamanimation to all projects, and the Gorilla AutoConfig package only to the platform-specific projects (iOS and Android).
Note: The Gorilla AutoConfig package is in Beta, so make sure to enable pre-release nugets to see this package available!

Note that since UXDivers.Effects and xamanimation are referenced only in XAML, you need to include a typeof to force their assemblies to load; otherwise, the XAML Loader will fail.

You want to be able to preview the XAML files, and still have the option to run the full app in debug and release mode. To make it easier to switch between Gorilla mode and Debug/Release, create a Gorilla solution configuration by making a copy of the Debug configuration and adding the GORILLA symbol there.

The app is now ready to deploy in Gorilla mode to all devices, and you are ready to start working on your XAMLs.

XAML Crafting

Gorilla allows you to use multiple devices simultaneously. At UXDivers, we always use at least one Android and one iOS device, but if you need to support tablets, multiple orientations or several languages you can add more devices. The video below shows you how to walk through building out our user interface with Gorilla Player. In this particular sample, we add images to the solution, add styles to the App.xaml, and create accessory views such as ProductCardTemplate to then use within the page.

As the video shows, Gorilla follows your workflow, previewing each screen you code without getting in your way.


Gorilla lets you integrate data at any point in your process. The designer or developer can add the required bindings either at the beginning or later on, as in the example below. To do this, they add the DesignTimeData.json file to the project. This file associates a JSON object to each XAML file. Gorilla then sets that object as the BindingContext of the page or view, making it act as the design-time view model for that page or view.

To help you define the design-time data, Gorilla supports advanced features like JSON object references, global data, and loading data from other files.


Tweak your XAML until you love it! Thanks to Gorilla’s immediate previewing, polishing your pages is fun. For our coffee order screen, we customized the TitleView property, added animations, and tested out a dark theme.

In this video, we use the Gorilla.json configuration file to instruct Gorilla to show the navigation bar for every page. You can also instruct Gorilla to display the navigation bar on specific pages, or even have it use a custom navigation page type available in your project.


Gorilla can also help you design localized apps. You can test your layouts in different languages simultaneously by choosing the specific language to preview on each device. Just configure Gorilla to make it aware of the languages your app supports. You can learn more about that process by reading the documentation.

Learn More

Gorilla Player enables you to rapidly iterate on your XAML user interfaces, imposes no restrictions on library or control usage, supports simultaneous previewing on multiple devices, and is completely free to use. To get started, download Gorilla Player from our website. To learn more about Gorilla, check out our wiki or forum.

All the animated videos shown in this post are available as videos in this playlist. The AutoConfig feature we used in this post is still in beta, and available in Gorilla 1.5+. If you have any trouble using it, please get in touch. We’d love to hear your feedback on Twitter @leorodri

The post Gorilla Player: A Tool to Craft Beautiful XAML UIs for Xamarin.Forms appeared first on Xamarin Blog.

Jump start your autonomous simulation development with Unity’s SimViz Solution Template

Unity’s SimViz Solution Template gives you everything you need to get started and accelerate the building of your simulation environments, so you can focus on autonomous simulation and scaling your program. Many transportation and robotics companies are actively building toward a future where machines – whether automobiles or robots – will be deployed to perform […]

November 6

Performance Reporting is now Cloud Diagnostics

Better name, new features, and now accessible to Unity Personal Edition users! If you’re familiar with Performance Reporting, then Unity Cloud Diagnostics is everything you knew about it, but better. It has more tools to help you find and respond to user issues fast and in real time, and it’s now accessible to everyone! Why […]

November 5

Show the world what you can do with 2D

There’s no better opportunity to start a new page of your notepad and start sketching your games ideas because we are celebrating the recently released new 2D tools! The new tools open up a new world of possibilities. You can import vector graphics to reduce sprite sizes and scale at any resolution, make pixel art […]


Monologue is a window into the world, work, and lives of the community members and developers that make up the Mono Project, which is a free cross-platform development environment used primarily on Linux.

If you would rather follow Monologue using a newsreader, we provide the following feed:

RSS 2.0 Feed

Monologue is powered by Mono and the Monologue software.