Where to Start?

Checked with version: 2017.3


Difficulty: Intermediate

Before we start to explore rendering inside Unity, we first need to get our assets into a format suitable for our eventual intent. Setting up a proper workflow from your Digital Content Creation tool into Unity is critical. While we won’t go through the export steps in the multitude of DCC tools available, there are a few things that we need to consider:

Scale and units

Scale and your unit of measurement play a very important role in a believable scene. In many "real world" setups, it is recommended to assume 1 Unity unit = 1 meter (100cm) as many physics systems assume this unit size.

Unit translation DCC 3D software to Unity

To maintain consistencies between DCC 3D software and Unity it’s always a good idea to validate imported object scale and size. DCC 3D software such as 3ds Max/Maya/Blender/Houdini,etc have units settings and have scale settings in the FBX export configuration (consult each software manual to configure). In general setting these tools to work in cm and export FBX at automatic scale will match the scale in Unity import properly. However it’s always reassuring to confirm it matches whenever starting a project.

A quick test to validate your export settings would be to create a simple 1x1x1m cube in your DCC 3D software. This can then be imported into Unity. The default Unity Cube (GameObject > 3D Object > Cube) is 1x1x1m and is therefore a useful scale reference to compare with your imported model.

These cubes should look identical when scale is set to 1,1,1 in the Transform component within the Unity Inspector.

NOTES: - Maya and 3DsMax can override your default unit depending on the last opened file. - Be aware that 3D Software can display different unit in the workspace while having different settings in their "internal unit". This might cause some confusion. Shown example is from 3ds Max.

Point of reference scale model.

When blocking out a Scene with placeholders or sketching geometry, having a point of reference scale model can be helpful. Depending on what Scene you’re making, choose a point of reference scale model that is relatable for the Scene. In the Spotlight Tunnel Sample Scene case, a common park bench was chosen. This doesn’t mean the Scene has to be exactly the same proportions as real life, instead it allows consistencies of scale to be relative between objects even if the Scene is intended to have exaggerated proportions.

Texture output and channels

In the same way that Unity expects consistent unit translation between 3D software and Unity, the information inside a texture needs to contain the correct information to give a proper result when added to a material.

Example of presets configuration for Substance Painter to output textures to be used with Unity Standard Opaque material.

  • Texture assignment in Unity Standard Material:

$textureSet_Albedo: assigned to Albedo Slot.
$textureSet_MetallicAOGloss: assigned to Metallic and Occlusion, smoothness Source set to Metallic Alpha.
$textureSet_Normal: assigned to Normal Map Slot.

NOTE: Packing multiple channels to a single texture such as the Metallic, AO, Gloss saves texture memory compared to exporting Ambient Occlusion (AO) as separate texture. This is the typical way of working with Unity Standard material.

Texture authoring software such as Photoshop and Substance Painter will output consistent and predictable textures with proper configuration. There are however some cases where content creators can get mixed up mainly dealing with alpha channel.

The example below shows "transparency" in a PNG can be confusing to author in Photoshop because of its native way in dealing with PNG Alpha without external plugin. In this case an uncompressed 32 Bits TGA with a dedicated Alpha Channel might be a better option, assuming source texture file size is not an issue.

Photoshop authored “transparent” PNG above has alpha coming through as a black value, while the TGA with dedicated Alpha Channel shows expected value. When each texture assigned to Standard material that reads alpha channel as smoothness, the result is the unexpectedly inverted smoothness in the material with PNG textures while the material with TGA texture displays expected results as shown above.

Normal map direction.

Unity reads tangent space normal maps with the following interpretation: Red channel X+ as "Right", Green channel Y+ as “Up”(OpenGL style).

For example, 3ds Max “Render to Texture” normal map output Green Channel Y+ as “Down” by default. This will cause inverted surface direction along the Y axis and create invalid results when lit. To validate normal map direction, create a simple plane with concave bevel (middle picture on the example above) and bake it to a flat plane. Then assigned the baked normal map into a plane in Unity with identifiable light direction and see if any of the axis are inverted. Refer to your Digital Content Creation software manual for proper axis settings.


  1. Introduction to Lighting and Rendering
  2. Choosing a Lighting Technique
  3. The Precompute Process
  4. Choosing a Rendering Path
  5. Choosing a Color Space
  6. High Dynamic Range (HDR)
  7. Reflections
  8. Ambient Lighting
  9. Light Types
  10. Emissive Materials
  11. Light Probes
  1. Introduction to Precomputed Realtime GI
  2. Realtime Resolution
  3. Understanding Charts
  4. Starting the precompute process
  5. Probe lighting
  6. Unwrapping and Chart reduction
  7. Optimizing Unity's auto unwrapping
  8. Understanding Clusters
  9. Fine tuning with Lightmap Parameters
  10. Summary - Precomputed Realtime GI
  1. Lighting Overview
  2. Lights
  3. Materials
  4. The Standard Shader
  5. Textures
  6. Using Skyboxes
  7. A Gentle Introduction to Shaders
  8. Using detail textures for extra realism close-up
  9. Frame Debugger
  1. Cameras
  2. Image Effects: Overview
  1. Meshes
  2. Mesh Renderers and Mesh Filters
  1. Where to Start?
  2. Preparing Unity Render Settings
  3. Lighting Strategy
  4. Modeling
  5. Standard Shader/Material PBS and texturing
  6. Lighting and Setup
  7. Understanding Post Process Features
  8. Dynamically Lit Objects
  9. Sample Project File
  1. Using Cameras
  2. Using Lights
  3. Fun with Lasers!
  4. The Particle System
  5. Cinematic Explosions - PIT
  6. Cinematic Composition - PIT
  7. Image Effects: Overview
  8. Fun with Explosions!
  9. Exploring the Blacksmith Environment
  1. Turning it up to 11: Making Unity 5 look Awesome!
  1. Substance - Introduction
  2. Substance - Understanding PBR
  3. Substance - Working with PBR in Unity
  4. Substance - Using Substance materials in Unity
  5. Substance - Optimization for Substance materials
  6. Substance - Creating rock shapes
  7. Substance - Creating rock material, Pt 1
  8. Substance - Creating rock material, Pt 2
  9. Substance - Creating the dirt ground material
  10. Substance - Creating the rock ground material, Pt 1
  11. Substance - Creating the rock ground material, Pt 2
  12. Substance - Publishing the Substance
  13. Substance - Creating a blocking scene
  14. Substance - Creating the ground model
  15. Substance - Modelling the rock assets
  16. Substance - Texturing the upper body
  17. Substance - Exporting textures from Substance Painter
  18. Substance - Creating a scene in Unity, Pt 1
  19. Substance - Creating a scene in Unity, Pt 2
  1. Introduction and Goals
  2. Flame Particles Overview
  3. Particle Emission and Color
  4. Adding Movement To Particles With Noise
  5. Creating The Ember Particles
  6. Adding Lighting To Particles
  7. Creating Sparks With Particle Trails
  8. Particle Question and Answers
  1. Introduction and Goals
  2. Adding a Second Camera
  3. Adding Minimap Icons
  4. Render Textures and UI
  5. Adding A UI Mask and Border Image
  6. Questions and Answers
  1. Session Introduction
  2. Rendering In Unity
  3. Anatomy Of An Unlit Shader
  4. The Vertex Function
  5. The Fragment Function and Color Tint
  6. Making A Transparent Shader
  7. Displacing Vertices and Clipping Pixels
  8. Questions and Answers
  1. Introduction and Session Goals
  2. The VideoPlayer Component
  3. Texturing Objects With Video
  4. Playing and Pausing
  5. Playing A New Clip
  6. Displaying Current Time and Clip
  7. Animated Playhead
  8. Questions and Answers
  1. Overview and Goals
  2. Tonemapping and Color Grading
  3. Camera Movement & Animation
  4. Post Processing Volumes
  5. Timeline & Cinemachine
  6. Questions and Answers