index.md 3.0 KB

About Autodesk® FBX® SDK for Unity

The C# Autodesk® FBX® SDK package provides access to a subset of the Autodesk® FBX® SDK from Unity C# scripts.

The Autodesk® FBX® SDK is a C++ software development platform and API toolkit that is free and easy-to-use. It allows application and content vendors to transfer existing content into the FBX format with minimal effort.

Note: The C# Autodesk® FBX® SDK exposes only a subset of the full API. That subset enables exporter tools, such as the FBX Exporter package. Using the C# Autodesk® FBX® SDK package for importing is not recommended. See Known issues below for more information.

Requirements

The Autodesk® FBX® SDK for Unity package is compatible with the following versions of the Unity Editor:

  • 2018.2 and later

Contents

The Autodesk® FBX® SDK for Unity package contains:

  • C# bindings
  • Compiled binaries for MacOS and Windows that include the FBX SDK

Installation

The Autodesk® FBX® SDK is automatically installed as a dependency of the FBX Exporter package. It is not discoverable from the Package Manager UI, but can be installed without installing the FBX Exporter by adding it to your package manifest Package Manager documentation.

Known issues

Importing

In this version, you cannot downcast SDK C# objects, which limits the use of the bindings for an importer. For example, if the FBX SDK declares in C++ that it will return an FbxDeformer, you could safely cast the deformer to a skin deformer on the C++ side if you happen to know it is an FbxSkinDeformer. However, on the C# side, this is not permitted.

Invalid operations

While there are guards against some common errors, it is possible to crash Unity by writing C# code that directs the FBX SDK to perform invalid operations. For example, if you have an FbxProperty in C# and you delete the FbxNode that contains the property, using the FbxProperty may produce undefined behavior This may even include crashing the Unity Editor. Make sure to read the editor log if you have unexplained crashes when writing FBX SDK C# code.

IL2CPP backend

The C# Autodesk® FBX® SDK package is not supported at Runtime if you build using the IL2CPP backend.

Linux

Linux support is currently experimental and unsupported.

API documentation

There is no API documentation in the preview package. See the Autodesk® FBX® SDK API documentation.

The bindings are in the Autodesk.Fbx namespace:

using Autodesk.Fbx;
using UnityEditor;
using UnityEngine;

public class HelloFbx {
  [MenuItem("Fbx/Hello")]
  public static void Hello() {
    using(var manager = FbxManager.Create()) {
      Debug.LogFormat("FBX SDK is version {0}", FbxManager.GetVersion());
    }
  }
}