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.
The Autodesk® FBX® SDK for Unity package is compatible with the following versions of the Unity Editor:
The Autodesk® FBX® SDK for Unity package contains:
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.
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.
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.
The C# Autodesk® FBX® SDK package is not supported at Runtime if you build using the IL2CPP backend.
Linux support is currently experimental and unsupported.
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());
}
}
}