Gaffer release splash

Recently, we reached a development milestone: Gaffer This is a huge update, filled with nifty new features and nodes. You will find some of them very useful in your day-to-day Gaffer use.

However, we have replaced some of the core nodes, leading to several breaking changes. We’ve summarized the relevant differences for you below (for the dry details, you can view the full changelogs here and here).

Interface updates

We’ve made a fair number of interface improvements based on user feedback:

Node updates

Many nodes have had breaking changes or have been replaced. You can open existing scripts that have the old versions of the nodes, but they will be update on load. If you save a script with any of these new nodes in Gaffer 53, they will only work with Gaffer 53 – there’s no going back.

  • New ShaderTweaks node
    • A node for tweaking shaders and lights.
    • This node is still in development. Feel free to give us your feedback on its interface!
    • Demo
  • New Loop node
    • Replaces: SceneLoop and ImageLoop nodes.
    • Demo
  • New TimeWarp node
    • Replaces: SceneTimeWarp and ImageTimeWarp nodes.
    • Demo
  • New ContextVariables node
    • Replaces: SceneContextVariables, ImageContextVariables, DeleteSceneContextVariables, and DeleteImageContextVariables nodes.
    • Demo
  • New ArnoldTextureBake node
    • For baking Arnold shaders on meshes into textures.
    • Demo
  • Updated Box node

Other breaking changes

  • Updated Updated shader caching. New shader caches will not be compatible with previous Gaffer versions. Old caches will update on read.
  • Updated Renamed the Script Editor to the Python Editor (UI) / PythonEditor (API). If you have custom layouts saved, they will be preserved.
  • Removed The parent variable is no longer available in the Python Editor. You can no longer paste serialized graphs (the contents of .gfr files) into the Python Editor. Instead, you must paste them into the Graph Editor. The parent variable is still available in Expression nodes.
  • Updated In the Python Editor, the script variable is now the root variable.