/// <summary>
    /// Update the world transform (TODO)
    /// </summary>
    private void Update()
    {
        if (geometryHandle == IntPtr.Zero)
        {
            return;
        }

        Matrix4x4 m = transform.localToWorldMatrix;

        // Note: flip Z to convert from left-handed (+Z forward) to right-handed (+Z backward)
        float[] matrix = { m[0, 0], m[1, 0], -m[2, 0], m[3, 0],
                           m[0, 1], m[1, 1], -m[2, 1], m[3, 1],
                           m[0, 2], m[1, 2], -m[2, 2], m[3, 2],
                           m[0, 3], m[1, 3], -m[2, 3], m[3, 3] };

        PropIFace.AudioGeometrySetTransform(geometryHandle, matrix);
    }