Is unity good to develop a House plan software ?


I want to develop a 2D/3D House design software. User draws the 2D plans, and i switch to 3D.

Is unity a good idea ?

Thanks John

I'd like to disagree with SpikeX on that. Althoug there may be easier/better ways to create the 2D-drawing part than unity and there are more complex/evolved GUI-systems out there it sure can be done in Unity. And by the time you arrive at the 3D part of your software the real power of unity kicks in, meaning that you won't have to spend lots of developer time on that part of your software. IMO you will save a lot more time relying on the 3D-power of unity and jumping a few hoops on the 2D-side than you would the other way round. If you need the full-blown gui of WinForms or similar I would think about doing two separate programs that integrate nicely. (E.g. if you change the 2D-part it will automatically change in the 3D viewer)

Yes, you can certainly use Unity to make such house design software, and in fact a company already did:

(The online webplayer demo is currently offline, but the video shows how it works.)

Doing this with Unity has the advantage of letting you provide the users with high-end accelerated 3D visualisations right in their browser (if you choose to publish on the web).

Probably not. Unity is optimized and tailored specifically for 3D (and some 2D) video games, so I think you'd probably have to jump through a lot of hoops to get your software working how you want to. Plus, Unity doesn't have nearly as robust Form-specific elements as, say, a WinForms or WPF application does. I think you'd be better off creating your application using direct or managed Windows or Mac code, and then implementing some sort of 3D library to display your "house".

However, you have provided very little details as to how this application would work, what types of input and output it has and its various primary functions, so I could be wrong, and Unity could work in your specific case. If you provided more details I could give you a better suggestion on whether or not to use Unity.


After taking a look at some of the other software that both of you linked to, I'll say this much: It is technically possible to create something like this in Unity, however the only thing Unity would bring to the table is accelerated 3D, and possibly some easier Input management. Everything else would have to be custom-coded (the click-and-drag controls, for example), and it would be no small feat. So I would look into Unity's technical details in-depth (take a look at some demos, as well as some code both on Unity's official website, and third party sites like the Unity Community Wiki), before making a decision.

My original opinion stands. While Unity can be used for other applications (and has successfully been in the past), its primary focus is games, and as such, it is tailored towards that type of software. So yes, it's possible, just be conscious that you're using a game engine to build your application. ;)