From BlenderWiki

Jump to: navigation, search

Migration to 2.8

The Blender 2.8 project brings a lot of changes that break backward compatibility partially or completely even. In this page we collect some of those cases and how to proceed. We will keep updating this page throughout the project.

Animation Proxies

Proxies are automatically converted to static overrides now. So a linked proxified armature group will work the same as any internal instanced collection, and there should be no functional changes.

Blender Game Engine

The Blender Game Engine was removed from the 2.8x project for technical reasons. Files relying on the Python Controllers to make sure Python scripts were linked with a rig, should use drivers instead.

In the future we may see an interactive mode implemented, to replace some of the original use cases of the game engine. Hard core game developers looking for open source alternatives should check:

Blender Internal

The Blender Render (as known as Blender Internal) engine was removed from the 2.8x in favour of EEVEE - a real-time renderer. However all the engine specific settings, materials, textures are not carried over to 2.8.

The best course of event is to migrate the file to Cycles in Blender 2.79. This could even be partially automatized with a Python script, and anyone willing to help with that is welcome.

Layers and Groups

The 2.7x layers as well as the groups are automatically converted to Collections when loading the files. Layers are named as Collection 1, 2, ... but only the non-empties layers are converted. Collections are instanced, can be linked into different files, can be named and nested.

Dev-Blender 2.8 Migration 2.7 Layers.png Dev-Blender 2.8 Migration 2.8 Collections.png

Render Layers

Render Layers are replaced by View Layers. While render passes are preserved, the render layer settings are converted to view layer overrides:

  • Z-Mask visibility becomes Cycles holdout override.
  • Exclude visibility becomes camera visibility override.
  • Material is now a view layer datablock override.
  • Samples is now a view layer render setting override.

Besides there is no more scene active render layer. Each workspace have an active view layer, and each view layer has a renderability flag that determines whether the view layer is rendered.

Python API

Most of Blender 2.8's Python API is compatible with 2.7x. However a few fundamental changes in Blender itself lead to new ways to access objects, selection, and other settings: