Unity - fast and well integrated engine with major 3d applications. But is it for you? Check it out!

Top image: Archinteriors vol. 35 scene rendered in Unity3D. More on Unity3D Blog.

Unity is a major player in game industry. It is used by thousands of developers around the globe for creating games for all platforms. Only recently (with version 2017.1) it started to lean more towards entertainment with the addition of Cinemachine cameras and Timeline editor. Not many arch-viz people use Unity for scene or animations creation, according to the latest survey made by CGArchitect it is used only by 2.9 percent of arch-viz artists. Is it because it is considered difficult? Are there quality concerns? Please, share your thoughts in comment section below.

So, why should I use Unity3d for my visualizations? We gathered some reasons that you might want to consider:

It’s fast!

It’s fast and stable – launching Unity takes literally seconds, it’s well written and did not hang regardless of many experiments with importing assets, animating cameras, lights, deleting and reimporting objects, baking with very high settings, etc.

It can look awesome!

We admit that we haven’t seen many great interior renderings made in Unity, but it does not mean that it is impossible to make one. And when it comes to exteriors… Just look at this Adam demo!

Importing files is a piece of cake!

Unity accepts FBX files either in ASCII and binary version, it recognizes animations automatically and does not screw them (which was not always the case with competition). It imports assets fast and accurate. It also constantly keeps tracking of changes – if you place your assets in „Assets” folder of your Unity project, Unity will detect if you make any changes to them and will update them automatically, without a need for finding an asset on the list and clicking „Reimport” (although that option exists too).

But you don’t have to convert all your assets to FBX. Unity can import proprietary files from Max, Maya, Blender, Cinema4D, Modo, Lightwave & Cheetah3D. Files imported this way are converted into FBX files by Unity during the import process. Updates made to the original model are automatically imported into Unity – I tested Blender implementation and it works like a charm – my 3d models and animations are updated on-the-fly! Unity can also import Alembic files with a separate (free) plugin. Blender users also don’t need to worry about matching camera FOV – Unity converts camera’s FOV 1:1.

Plugins!

So many plugins, so little time! Unity comes with great Asset Store that offers not only 3d models or assets like particles but also the whole systems that expand editor’s funcionality. What you would say for complete Cinematic Editor solution like Slate editor or Cinematic Director? Or 3d volumetric fog system that looks awesome no matter if you are making foggy mountains landscape, epic clouds or space nebula? You can have it all.

There are also node-based material editors, uber shaders with translucency, cities importers, post-production and better shadows tools and many more. Asset Store is also well-integrated – it can be accessed directly from Unity editor and assets are imported to project without the need of restarting it. Comparing to it’s direct competitor, Unity Asset Store gives you many tools that will save your time and improve your workflow. And if there is no plugin in the store, you can always ask on Unity forum – there is a big possibility that someone made a script that solves your problem.

Three GI systems!

Unity gives you three GI solutions out of the box, easily switchable and they don’t require restarting engine – you can switch them on the fly. Realtime GI is the simplest and gives the least convincing results, but in many cases it can get the job done. Two baking solutions are more interesting, especially for arch-viz artists. Unique feature of Unity is Progressive Light Baker Global Illumination - it updates in the viewport like standard progressive path-tracer, you have ETA time displayed which helps you to estimate your light baking time, and last but not least - it gives nice results, totally acceptable in animations and presentations.

Materials compatibility

You can easily export textures from Substance Painter directly to Unity. It also accepts height maps - just drag and drop them to a “height” slot, no need to make Parallax Mapping nodes. Quixel Megascans also support Unity export. All imported textures update automatically if you change them, which is great! Unity also offers built-in cubemap converter. Just place your cylindrical or spherical map in the folder, change type for „Cube” and Unity will do the rest. Shuffling and rotating environment maps is fast and easy :)

Cinematic extensions

For years Unity was leaning towards game developers, but from the version 2017.1 it is armed with tools for cinematographers. One of them is Timeline editor that can play all kind of animations: cameras, objects, materials, parameters, etc. You also have intelligent cinemachine cameras that follow your target in natural and „Hollywood” way. You have rigs and dolly cameras too, you have post-process stack with grading and fx tools. You can export not only your framebuffer, but also Gbuffer (depth, AO, alpha, etc. - you will also need a free plugin for that, but it works flawlessly)

Cons

Of course, Unity isn’t perfect, no software is. There are some flaws that need to be addressed.

Plugins (again)!

Yes, I know I mentioned them in „pros” section, they are uber-weapon of Unity, but if you really want to expand your Unity’s abilities, you gonna spend some cash. Many editor extensions cost 30-60$, it’s easy to spend couple hundreds of dollars to gather favorite plugins. Luckily, it’s not big spending, comparing to other software subscriptions. Unity also comes with various versions and only “personal” is free, other cost $35 and $125 monthly. All of them have all core engine features, they differ with some publishing and support options. You can check the differences here https://store.unity.com/

Another disadvantage is that some features are not implemented in engine and need to be added to your projects manually. Even if they are free, you still need an effort to add them to your projects. And we are talking about so simple things like FrameCapture plugin. The lack of Node-based material editor in vanilla version of Unity engine is also a drawback.

For game developers

In many areas you can tell that Unity was made with game developers in mind. This changes (slowly) and looks like the future versions of Unity will be more artist-friendly, but for years Unity was a game engine, which means that some interactions will require coding in C#, not just adjusting sliders or painting. For simple visualizations and animations you will be able to finish without writing a single line of script, though.

Pay for export

If you want to export FBX meshes out of engine, you need to buy a plugin that costs 100 bucks. And even with this addon you will not be able to export animated cameras.

No distributed baking (yet!)

You can only bake lightmaps using single machine. There was a solution for network distributed baking in the past, but since then, lightmap system has changed and Unity developers work on native solution for distributed baking. So – if you plan to bake your lightmaps on several computers, you will have to wait. No ETA.

So, why should I use Unity3d for my visualizations?

Try it, it’s fast, it’s fun, it gives really great results, it is easy to integrate with your 3d software. Trying doesn’t cost you anything (except of time spent, of course), and maybe it will be your go-to realtime rendering engine? We recommend checking it out.