Supported Platforms
Runtime Platform Support (C, C++)
To get started with HOOPS Exchange C API, see Set Up Your Environment
| Platform | Architecture [1] | Runtime Requirements | Supported OS Examples |
|---|---|---|---|
| Microsoft Windows | x86_64 | v142 | Windows 11
Windows Server 2022+
|
| GNU/Linux | x86_64 | glibc 2.28
libstdc++.so.6.0.28
|
Ubuntu 24.04 LTS
Debian 11+
|
| arm64-v8a [2] | |||
| Apple macOS | x86_64
arm64-v8a (Apple Silicon)
|
macOS 13.0 | macOS 13.0 Ventura |
| iOS 15.0 | iOS 15.0 (Apple Mac Catalyst target) [3] | ||
| Apple iOS | x86_64 [4]
arm64-v8a
|
iOS 13.0 | iOS 13.0 |
| Android | x86_64
arm64-v8a
|
N/A | Android 5.0 Lollipop |
| [1] | (1, 2) arm64-v8a corresponds to ARMv8-A 64-bit CPUs, commonly referred to as arm64. |
| [2] | (1, 2) GNU/Linux ARM binaries do not support Mx architectures (Such as Apple M1/M2/M3). |
| [3] | (1, 2) Mac Catalyst apps run on macOS but are built using the iOS SDK. This enables iOS apps to be adapted for desktop use while retaining iOS APIs. |
| [4] | (1, 2) iOS x86_64 refers to Simulator support on Intel-based Macs.
Actual devices use arm64-v8a. |
Microsoft Visual Studio Runtime Requirements
Starting from HOOPS 2023, HOOPS Exchange migrated its compiler to Visual Studio 2019 (previously 2015). Following Microsoft’s Documentation on binary compatibility, this change implies an update to the required MSVC redistributables.
HOOPS Exchange being an explicitly shared library, the impact occurs at runtime. Any application running HOOPS Exchange must have at least Visual Studio 2019 redistributable.
Deprecated Platform Supports
- Support for all Microsoft Windows 10 editions is scheduled to end in October 2025 in coordination with Microsoft’s scheduled end of life policy.
- Starting from HOOPS Exchange 2024, support for Android x86 (32-bit) has been dropped.
- Starting from HOOPS Exchange 2025.1.0, support for macOS versions below 13.0 and iOS versions below 12.5.7 has been dropped.
- Starting from HOOPS Exchange 2024.2.0, support for Android ARMv7 (32-bit) has been dropped.
Visit our Developer Support page to familiarize yourself with support procedures, including deprecated functionality.
Platform-Specific Format Support
CAD format support may be restricted in some platforms. Please refer to File Formats for more information.
The experimental USD Writer has restricted platform requirements, see the USD documentation for more.
GNU/Linux Specifics
In Linux systems, it’s important to explicitly set the platform locale options to ensure proper handling of text for some of our readers. Refer to your distribution’s documentation for instructions on setting locales and utilizing the LANG environment variable
If you are already familiar with the supported formats page, you are now ready to discover how to evaluate HOOPS Exchange; to do that, simply press the Next button.
Standards
Exchange C header files are C99-compliant. Our example codes are compiled against either C99 or C++14 standards.
Using Other Operating Systems and Compilers
It is simplest and best if your application is compiled using one of the supported operating systems and compilers listed above. Other operating systems may work, but our testing is limited to the list above.
It is possible to use a version of Visual Studio for your application development other than the supported versions, although it is not recommended or supported. We have spot checked that this is possible during the testing of our release. Please remember that any issues will need to be reproduced using a supported operating system and compiler before being submitted to Technical Support.
Advanced Publishing
Advanced Publishing is available for Microsoft Windows and GNU/Linux on x86_64 architectures, following the plaform table above.
This addresses all API functions using the A3DPDF prefix.
Package Description
Here is a quick description of the package, once extracted:
| Folder | Description |
|---|---|
| bin | HOOPS Exchange and 3rd party binaries |
| documentation | A link to this documentation |
| include | C include files |
| samples | A list of example programs made with HOOPS |
| tools | Misc helper tools for facilitating client code upgrades |
Binaries
Binary files are located in a sub-folder of bin/ directory. The name of the sub-folder is set according to the runtime environment:
| Platform | Folder | Main Binary File |
|---|---|---|
| Windows | win64_v142 | A3DLIBS.dll |
| GNU/Linux | linux64 | libA3DLIBS.so |
| linux_arm64-8va | ||
| Android | android/arm64-v8a | |
| android/x86_64 | ||
| macOS | macos | libA3DLIBS.dylib |
| Mac Catalyst | maccatalyst | libA3DLIBS.dylib |
| iOS | ios | libA3DLIBS.a |
Runtime Platform Support (C#)
To get started with C# development, refer to the Set Up Your Environment tutorial.
HOOPS Exchange C# API is available through the call bindings source files in the Developer Zone.
The API is supported on Windows, GNU/Linux, and macOS. Since the C# API is built on top of the HOOPS Exchange C++ binaries, all C/C++ requirements outlined in the previous section apply.
Additionally, the .NET Core 3.1 framework is required. You can download it from the official .NET Core 3.1 page.
Package Description
This section is a brief description of the C# API package contents.
| Folder | Description |
|---|---|
| ExchangeCSharp | A single C# library provided as source files |
| samples | A list of example programs made with HOOPS |
Source Files
The C# bindings are provided as source files rather that pre-compiled binaries. These source files are mainly located under a subfolder of ExchangeCSharp called Direct:
| File | Description |
|---|---|
| API.cs | Support for Call Bindings |
| Classes.cs | High-level classes |
| Constants.cs | Definitions for Constant Values |
| Enums.cs | Definitions for Enumerators |
| Structs.cs | Data Structures |
| Library.cs | C# Library Loader |
| Utils.cs | C# Array Wrapper |
| hoops_license.cs | License key file. |
For more information regarding the capabilities with the C# API, please refer to the C# API section of the documentation here.
Development Requirements
| Platform | Architecture [1] | Build Requirements |
|---|---|---|
| Microsoft Windows | x86_64 | Minimum SDK version: v10.0.18362.0
|
| GNU/Linux | x86_64 | GNU GCC 10.4.0
devtoolset 10
|
| arm64-v8a [2] | GNU GCC 8.3.0
devtoolset 9
|
|
| Apple macOS | x86_64
arm64-v8a (Apple Silicon)
|
Xcode 15.1 (LLVM) |
| Apple iOS | x86_64 [4]
arm64-v8a
|
|
| Apple Mac Catalyst (iOS 15.0) [3] | x86_64
arm64-v8a (Apple Silicon)
|
|
| Android 5.0 (Lollipop) | x86_64
arm64-v8a
|
Android NDK R27c
Clang, c++_shared
|