3.3 KiB
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. Unity does not recommend to use the C# Autodesk® FBX® SDK package for FBX importing. See Known issues and limitations for more information.
Contents
The Autodesk® FBX® SDK for Unity package contains:
- C# bindings
- Compiled binaries for MacOS, Windows, and Ubuntu that include the FBX SDK
Requirements
The Autodesk® FBX® SDK for Unity package is compatible with the following versions of the Unity Editor:
- 2018.4 and later (recommended)
Installation
Unity automatically installs the Autodesk® FBX® SDK as a dependency of the FBX Exporter package.
Note: The Package Manager UI does not allow you to discover it, but you can install it without installing the FBX Exporter. In that case, you need to add it to your package manifest.
Including the package in a build
By default, Unity does not include this package in builds, you can only use it in the Editor. However, it is possible to use this package at runtime on some specific platforms.
Note: You can currently use the package in Windows/OSX/Linux standalone builds only.
To include the Autodesk® FBX® SDK for Unity package in your build:
- In the Unity Editor main menu, select Edit > Project Settings.
- In Player properties, expand the Other Settings section.
- Under Configuration, in the Scripting Define Symbols field, add
FBXSDK_RUNTIME
.
Known issues and limitations
Limited import capabilities
In this version of the package, 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 returns an FbxDeformer
, you can 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.
Unexpected crashes following invalid operations
While there are guards against some common errors, you might make Unity crash if you write 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, the use of FbxProperty
may produce an undefined behavior. This might even make the Unity Editor crash. Make sure to read the Editor log if you encounter unexpected crashes when you write FBX SDK C# code.
Linux not supported
Linux support is currently experimental on this package. Unity does not provide support for it.
Linux requires libstdc++ 6
On Linux, libstdc++ 6 is required to be installed in order to use the package.