Skip to content

Unity app crashes on startup when ZED Unity plugin version does not match installed ZED SDK version #324

@oversight-labs-hub

Description

@oversight-labs-hub

Preliminary Checks

  • This issue is not a duplicate. Before opening a new issue, please search existing issues.
  • This issue is not a question, feature request, or anything other than a bug report directly related to this project.

Description

There is a critical startup crash when the ZED SDK for Unity plugin version does not match the ZED SDK version installed on the machine.

This makes the application unusable as a real product because a simple SDK/plugin version mismatch causes the Unity app to crash immediately on launch, instead of showing a clear error message or fallback behavior.

In my case:

Installed ZED SDK on machine: 5.3.0
ZED Unity plugin version: 5.2.0
Unity version: 6000.3
Application type: Unity standalone build

Uninstalling the ZED SDK from the Windows Control Panel, or deleting the relevant ZED sl_unitywrapper.dll files from the Unity project, allows the application to load successfully.

This strongly indicates that the crash is caused by the mismatch between the installed ZED SDK version and the ZED Unity plugin version.

It is important to note that the crash happens before Unity has finished bootstrapping. It occurs before subsystem registration, which makes any developer-side fix or runtime validation impossible from within the Unity application.

Steps to Reproduce

  1. Install ZED SDK 5.3.0 on the machine.
  2. Use a Unity project with ZED Unity plugin version 5.2.0.
  3. Build the project as a Unity standalone application.
  4. Launch the built application.
  5. The application crashes immediately on startup.

Expected Result

The Unity application should not crash on startup.

Instead, the ZED Unity plugin should detect the SDK/plugin version mismatch and handle it gracefully, for example by:

  • Showing a clear error message to the user.
  • Logging the exact installed ZED SDK version and required Unity plugin version.
  • Preventing ZED initialization while allowing the rest of the Unity application to continue running, where possible.
  • Providing guidance to install the correct compatible ZED SDK version.

A version mismatch should be reported as a clear compatibility error, not cause the whole Unity application to crash.

Actual Result

The Unity application crashes immediately on startup.

The app does not show any warning, error dialog, or graceful failure message explaining that the installed ZED SDK version is incompatible with the Unity plugin version.

It also fails to launch the Unity crash manager and simply exits.

The Player.log file is attached.

Relevant part of the log:

[UnityMemory] Configuration Parameters - Can be set up in boot.config "memorysetup-allocator-temp-initial-block-size-main=262144" "memorysetup-allocator-temp-initial-block-size-worker=262144" "memorysetup-temp-allocator-size-background-worker=32768" "memorysetup-temp-allocator-size-job-worker=262144" "memorysetup-temp-allocator-size-preload-manager=262144" "memorysetup-temp-allocator-size-nav-mesh-worker=65536" "memorysetup-temp-allocator-size-audio-worker=65536" "memorysetup-temp-allocator-size-cloud-worker=32768" "memorysetup-bucket-allocator-granularity=16" "memorysetup-bucket-allocator-bucket-count=8" "memorysetup-bucket-allocator-block-size=4194304" "memorysetup-bucket-allocator-block-count=1" "memorysetup-main-allocator-block-size=16777216" "memorysetup-thread-allocator-block-size=16777216" "memorysetup-gfx-main-allocator-block-size=16777216" "memorysetup-gfx-thread-allocator-block-size=16777216" "memorysetup-cache-allocator-block-size=4194304" "memorysetup-typetree-allocator-block-size=2097152" "memorysetup-profiler-bucket-allocator-granularity=16" "memorysetup-profiler-bucket-allocator-bucket-count=8" "memorysetup-profiler-bucket-allocator-block-size=4194304" "memorysetup-profiler-bucket-allocator-block-count=1" "memorysetup-profiler-allocator-block-size=16777216" "memorysetup-profiler-editor-allocator-block-size=1048576" "memorysetup-temp-allocator-size-main=4194304" "memorysetup-job-temp-allocator-block-size=2097152" "memorysetup-job-temp-allocator-block-size-background=1048576" "memorysetup-job-temp-allocator-reduction-small-platforms=262144" "memorysetup-temp-allocator-size-gfx=262144" Mono path[0] = 'C:/Absorber/Bin/Client/Client_Data/Managed' Mono config path = 'C:/Absorber/Bin/Client/MonoBleedingEdge/etc' Input System module state changed to: Initialized. [Physics::Module] Initialized fallback backend. [Physics::Module] Id: 0xdecafbad

ZED Camera model

ZED2i

Environment

OS: Windows
CPU: Not applicable / not relevant to the issue
GPU: NVIDIA GPU
Installed ZED SDK version: 5.3.0
ZED Unity plugin version: 5.2.0
Unity version: 6000.3
Application type: Unity standalone build

Anything else?

This is critical for production use.

In production environments, users may have a different ZED SDK version installed than the version expected by the Unity plugin. A mismatch should be handled safely and reported clearly, not crash the whole application before Unity finishes bootstrapping.

Uninstalling the ZED SDK from the Windows Control Panel, or deleting the relevant ZED sl_unitywrapper.dll files from the Unity project, allows the application to load successfully. This strongly suggests that the issue is caused by the SDK/plugin version mismatch.

It seems that issue #315 may be caused by the same underlying problem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions