# Supported Platforms

- Runtime Platform Support (C, C++)
  - Package Description
- Runtime Platform Support (C#)
  - Package Description
- Development Requirements

## 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.25 | Ubuntu 24.04 LTS Debian 11+ RHEL 8
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 | Visual Studio 2019 Minimum SDK version: v10.0.18362.0
GNU/Linux | x86_64 | GNU GCC 10.3.1 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

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Exchange in your own language, or choose a sample question below to start a conversation:

What is HOOPS Exchange?
What are the latest release notes for HOOPS Exchange?
How do I start evaluating HOOPS Exchange?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...