The future of Unity

Unity has been for the last few years one of the Microsoft patterns & practices battle horses for doing dependency injection in .NET applications. It was first born in 2008 and evolve over the years to the current state. In short, it provides the following features,

  • Registration by convention
  • Ability to intercept instance creation
  • Simplified object creation, specially when there is a complex graph of object structures and dependencies
  • Service location capabilities

As part of the OSS movement started recently in Microsoft, the Patterns & Practices team also decided it was time to open source the project and accept external contributions, which was a great thing. The project was initially published in Codeplex (unity.codeplex.com).

The future of Unity is more OSS than ever

I was recently approched by the team to see if my company, AgileSight, was interested in being part of the project to support the existing codebase and add more new features, so my I did not hesitate to confirm my availability for this exciting opportunity.

As we move forward with the project, the source code will be hosted now in a new github organization unitycontainer, so feel free to ping me if you want to be part of the team that will be working on this.

We haven't planned yet any roadmap, but we have a few ideas in mind, one of them is to port the container to the new core Core CLR and mono. We are also accepting new ideas, which now can be described as issues in the new github repo.

17 Comments

  • Should't it just die? With no updates and support during last years I doubt it's too much companies using Unity right now. There are much better alternatives which are constantly updated, flexible, fast and extendable.

    Alex.
    yaplex.com

  • Hi Pablo, first congratulations for this new project, and good luck with this, I used Unity for some years, but when I don't see more features, more releases, I go back and change it to others containers, I hope that this change will be the new opportunity to Unity to become again one of the most DI Containers!

    Regards,

  • We use it in bunch of projects and it works just fine. It supports everything we needed. It is greatly extensible etc. Switch to anything else will not be very difficult for us though we didn't consider it yet.

    In order to extend knowledge about it in the company we created a training on github: https://github.com/IoCHowTo/IoCTasks. Feel free to reference it.

  • Congratulations on being selected by the MS P&P group to take over and continue the most excellent work on the Unity Container. We have been using it for years now and don't have any complaints but do have a host of things we like to see added. We use Unity in our Azure Service Fabric, WCF and WPF technologies. Most recently we use it in our runtime Meta-programming services; you might be able to guess at the type of new DI Injection schemes and patterns we are developing and stand in need of. One of the great joys of working with Unity has been the documentation; keep up the great work.

    Tavi

  • Glad to hear that Unity was not abandoned. I spent a lot of time with v2.x and have yet to find a feature one of the other containers has that I could not retrofit to Unity. Registration-by-convention was one of the major points missing. But what really set Unity apart is the extensive documentation on MSDN. Will you maintain that as well?

  • I don't understand all the hate for Unity. It's a solid container, has met all our needs for several years, so much so we've not felt the need to upgrade past what came in EntLib 4.1. To be totally honest, I don't like convention, I prefer to be much more explicit in my registration/resolution/intent. So, bully for you, and I hope to continue to see good things.

  • We use Unity exclusively in our applications. It serves us well. Happy to see it in such capable hands!

  • Since, presently there's another up-and-coming .NET library which also uses the name "Unity" (which is getting a lot more press these days, 'cuz it involves flashy graphics), could we take this opportunity of transitioning to new owners, to also transition to a new, more distinctive (and perhaps more descriptive) name

  • +1 for James Curran's rename idea. It's very difficult to Google-Bing for good Unity info because of the name confusion.

  • Nice to see some initiative for Unity, as we are using it in a key project here, as well as in several hobby projects.
    However, it's a month with Unity 4.0.1 was released.... is there any good information about what's new? release notes?
    unity.codeplex.com is no newer that Unity 3.5 and the new github has only a few lines summary.
    Is it only the version that changed due to owner change? - usually a major version change comes with major features and/or compatibility-breaking updates ;-)

  • I agree with Bo Stig, where can we find information about the new release? And from now on, where should we get the documentation for Unity, still on MSDN?

  • Unity 4.0.2 was published on NuGet. There no release notes and there are no new commits on github! Can NuGet package be trusted anymore?

  • As far I can see from https://github.com/unitycontainer/unity/compare/Unity-3.5.1-RC...master there is no changes in code from 3.5 to 4.. Just changed signing key and vs2015 stuff in project files.

    Am I correct or am I doing the wrong diffi?

  • Started recently with Unity 4, it is very easy to use and well documented, thanks to P&P. The doc show cases the features using story telling instead of into your mouth features. It was intuitive, simple and easy in my opinion. I have used the convention based registration though finding myself having to deal carefully with loading different target assemblies (x64 and 32bit) dlls, but it was probably my ignorance for mixing 32 and 64 bit dlls. Apart from that, I manage to do what I want auto-registering AutoMapper profile, Fluent Validation by generic type interface with the validator, it works almost seamlessly. I find the documentation for Windsor, as comparison was harder to comprehend. I would like to say thank you and congratulate Pablo for taking over. I wish you have good fun working on the project, make the good work to continue and continue to make this a product worth investing everyone's time. Thank you!

  • Any updates about roadmap? When will you release the next version?

  • Pablo,

    I've been using Unity since 2011 and have it working like a charm. Based on my experience, I believe on the fact that Unity allows us to have a true separation of concepts, great IoC, and allows us to extend it for interception purposes, constructors and so on in a simple manner. But somehow I don't see people using these kind of solutions on the market I'm on, and I would like to run a presentation on my tech community in order to share this experience with people and promote Unity as a good example to use.

    But this leads me to an important question that I personally have and other people surely may ask - how is the support for this project these days? Will it be any kind of improvement, new features, or support to existing features at all? Will it have new releases, or will it only be supported until the community discontinues its usage? Sorry if the question seems a little cold, but I need to be sure, not only to promote this, but also because I'm using this.

    Thank you.

  • I am at Microsoft, and we still use Unity in our team. Works like a charm.

Add a Comment

As it will appear on the website

Not displayed

Your website