Best method for constructing levels

What is the best method?

Method 1. Apply textures to each and every piece. Make a lighting scheme and bake the lighting scheme onto the textures. Then bring that large model into unity.

Method 2. Construct the level inside of unity using a library of objects made in a 3d application and using the unity lights and shaders to create the look.

Method 3. Is there a method 3?

#2 with lightmapping baked in Unity.

It’s a good question, but there really is no A or B method. There are many workflows you can approach. For example, if you work very fast in a 3D app you can create and setup the entire level in your DCC app, then just bring everything over into Unity in one shot and finish really, really fast. I like to combine meshes in the final stage of development inside the 3D app, as it’s faster and easier to do this in that environment. If you bring in 500 meshes into Unity for your level, you’re going to have a serious problem- mainly your game will crash, in fact, the Unity editor will crash. If you create 500 meshes, say, in 3dsMax, you’re fine. So best thing in that case would be to wait until you’re finished and ready for Unity, then combine as many meshes as possible, say, turn that 500 meshes into 100, or less, bring that into Unity, and you’re game will run lighting fast. Same goes for materials, make sure to reuse as many materials in Unity as possible in order to have the best performance. Less materials and meshes, equals less draw calls, which equals best performance.

In your 3D app, reuse as many materials as possible and combine meshes before going to Unity, and you’ll be fine, performance wise that is. There are scripts that can combine meshes in Unity, but it makes no difference because the editor will crash with hundreds of meshes anyways, which means you won’t be able to make you’re levels in the first place :stuck_out_tongue:

That’s just my experience talking, but there are other methods and development workflows that might work best for you and your pipeline.

The only problem I find in laying out levels within Unity is the lack of good placement tools. e.g. bringing in a building model and a bunch of props and then trying to place lightfittings right in the center of ceiling sections etc. A lot of the time I find myself just eye-balling it. Unity editor really needs a more advanced grid and grid snapping tools in my opinion. Something like the awesome grid tools in modo.

yeah thats why I always do my world building (when working with Unity) within my DCC application, much faster and easier. With other engines, like Unreal and CryEngine, it’s actually easier to build the levels within the editor.