Supported Platforms

C and C++ Target Platform Support

To get started with HOOPS Exchange C API, see Set Up Your Environment

Platform (Minimum version) Architecture [1] Runtime Environment Build Requirements
win Microsoft Windows 10 x86_64 v142
Minimum SDK version: v10.0.18362.0
gnu Red Hat Enterprise Linux 8 arm64-v8a glibc 2.28
GNU GCC 8.3.0
devtoolset 9
gnu CentOS 7
gnu Red Hat Enterprise Linux 7
x86_64 glibc 2.17
GNU GCC 8.2.3
devtoolset 8
mcs Apple macOS 13.0 (Ventura)
x86_64
arm64-v8a (Apple Silicon)
N/A Xcode 15.1 (LLVM)
mcs Apple Mac Catalyst (iOS 15.0) [2]
x86_64
arm64-v8a (Apple Silicon)
N/A Xcode 15.1 (LLVM)
ios Apple iOS 12.5.7
x86_64 [3]
arm64-v8a
N/A XCode 15.1 (LLVM)
and Android 5.0 (Lollipop)
x86_64
arm64-v8a
N/A
Android NDK R27c
Clang, c++_shared
[1]arm64-v8a corresponds to ARMv8-A 64-bit CPUs, commonly referred to as arm64.
[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.
[3]iOS x86_64 refers to Simulator support on Intel-based Macs. Actual devices use arm64-v8a.

Microsoft Visual Studio Build and 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 Support

Starting from HOOPS Exchange 2025.1.0, support for macOS versions below 13.0 and iOS versions below 12.5.7 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.

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

Standards

Exchange C header files are C99-compliant. Our example codes are compiled against either C99 or C++14 standards.

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

C# Support

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.

Notes

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

Starting from HOOPS Exchange 2024, support for Android x86 (32-bit) 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.

Format Support and Platform

CAD format support may be restricted in some platforms. Please refer to File Formats for more information.

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.