Known issues

Known issues in Kanzi Engine

  • Some parts of Kanzi API are written in C. In the future Kanzi releases we will continue the effort of converting the API to C++.

  • When linking applications to the libraries provided with SDK without sources generates warning about missing debug information.

  • Clipping of rotated child 2D nodes is ignored because of performance reasons. For example, if an Image node has a child Image node, and you rotate the child Image node, the parent Image node does not clip the child Image node.

  • Current limitation of the Kanzi Engine is that if a 2D node is forced to render to a render target (for example, Viewport 2D with rotation), clipping is applied even when you disable clipping in a 2D node.

  • When you change the Samples property of a Render Target Texture you have to restart the Preview to apply the change.

  • When the glyph cache texture in Kanzi Studio is full, the application performance decreases in Kanzi Studio. This does not affect the performance of your Kanzi application when you build it and appropriately adjust the size of the glyph cache texture for your target platform. See Glyph cache texture size.

  • The Node2D_plugin example prints warnings when you run it in the Preview.

  • Kanzi application freezes when user scrolls a Trajectory List Box 3D with negative item spacing absolute value of which is higher than the width of list box items.

  • Setting the recognition threshold for the pinch gesture using the PinchManipulator::setScaleRecognitionThreshold and PinchManipulator::setRotationRecognitionThreshold functions does not work.

  • When you create a Prefab Placeholder 3D node, in some cases Kanzi selects a prefab that it cannot instantiate. This can cause undefined behavior and the Preview to show incorrect content.

    Workaround:

    1. Press F8 to exit the Preview.

    2. In the Prefab Placeholder 3D node set the prefab to the correct prefab.

    3. Press F5 to start the Preview.

  • There is an issue in Kanzi Engine Java API that causes a memory leak when you use ObjectRef without explicitly closing it after use.

    Workarounds:

    • Instantiate ObjectRef in try-with-resource blocks.

    • After use, explicitly call close() on ObjectRef instances.

    See Creating instances.

Known issues in Kanzi Studio

  • Kanzi installer fails to install VC++ 2017 x64 redistributable if you have already installed it on top of VC++ 2015 x64 or x86 redistributable.

    Workaround: Manually run the VC++ 2017 x64 redistributable installer and select to the option to repair the installation. The easiest way to do this is to run the Add or Remove Programs, click modify next to the VC++ 2017 x64 redistributable, and then repair.

  • When you import the same dds file twice, Kanzi Studio creates an invalid texture and shows invalid content in the Image property dropdown menus.

    Workaround: Update the file in Windows Explorer, or delete the dds file and its texture before importing them again.

  • The device driver for the AMD Radeon R9 M370X included in the Boot Camp update 6.0 causes the Preview to not work. To fix the issue, use the Windows Device Manager to roll back to the previous version of the driver.

  • Importing fbx files which contain animations that use custom pivot points, can cause Kanzi Studio to terminate. This is caused by a defect in the FBX importer provided in the Autodesk's FBX SDK.

    After the import fails, open the Kanzi Studio project:

    1. In the Library > Resource Files > 3D Assets select the fbx file that caused Kanzi Studio to terminate.

    2. In the Properties disable the Convert Pivot Points property.

      ../_images/disable-convert-pivot-points.png
      • When disabled, Kanzi Studio ignores the custom pivot points in the fbx file, which can affect the rotation and scale animations for nodes that use custom pivot points.

      • When enabled, Kanzi Studio resets the pivot points to the default positions without making visual changes to animations. This is the recommended setting because Kanzi Studio does not support custom pivot points.

      • Custom pivot points contain an additional transform which Kanzi Studio bakes into a single transform. In some cases, custom pivot points do not contain any data, so disabling this option does not affect the content.

    3. In the Library > Resource Files > 3D Assets right-click the fbx file that caused Kanzi Studio to terminate, and select Import 3D Asset File to import the file.

      ../_images/import-3d-asset-file.png
  • Kanzi Studio does not support importing of animated pivot points.

  • Kanzi Studio does not support these glTF 2.0 features:

    • Double-sided materials

    • Point and line primitives

    • Samplers with differing wrap modes for S and T dimensions. Kanzi Studio uses the wrap mode for S dimension for both.

  • OpenGL ES (IMG) graphics API is not stable enough to be used for development. Use the IMG graphics API only for testing. For content development use the OpenGL. Set the Default Preview OpenGL ES Wrapper in the Edit > User Preferences > Advanced > Default Preview OpenGL ES Wrapper.

  • When you run Kanzi Studio in Parallels or VMWare Fusion, the IMG Preview OpenGL ES Wrapper does not work because of a bug in the IMG wrapper.

    Workaround: Use the GL wrapper.

  • Kanzi Studio is compatible only with screen DPI settings set to 100%.

  • When you close the Node Tree window, the selection in the window does not update correctly.

  • Thumbnails are not rendered correctly for all assets.

  • Copy-pasting in the Node Tree a Scene prefab that contains a skinned mesh does not work.

    Workaround: Drag and drop the Scene prefab from the Prefabs to the location in your project where you want to use it.

  • When you reload the changes from a referenced Kanzi Studio project that is opened in another instance of Kanzi Studio, Kanzi Studio can become unstable.

    Workaround: Close the referenced project before you reload the changes in the project where the project is referenced.

  • When a node contains multiple instances of the same prefab, you cannot create a binding from the node that contains these prefabs to the properties of nodes inside an instance of that prefab.

    Workaround: Make the properties to which you want to bind available in the root of the prefab and create the bindings in the root of the prefab instance. See Customizing instances of a node prefab.

  • When you change the value of the Prefab Template property of a Prefab View, Kanzi fails to show the default values of the properties of the prefab template. This happens when you change the value of the property in any other way than by setting it in the Properties, such as when you use a state manager or application code. The same issue occurs when you change the value of the Render Pass Prefab property in a Render Pass View.

    Workaround: In Kanzi Studio add to the Prefab View or Render Pass View the properties of each prefab template or render pass prefab that you set the Prefab View or Render Pass View to use.

  • Kanzi Studio does not support setting the Mesh Material property of a primitive mesh to a material from a referenced project.

    Workaround: Use the Material (Model3D.Material) property to set the material. The value of the Material property overrides the value of the Mesh Material property.

  • When you disable or delete a To Source binding, the Preview does not show the result of the disabling or deleting.

    Workaround: To see the result, restart the Preview.

  • When you deploy from Kanzi Studio to an Android device a project that uses the Kanzi Studio project template, and Code Behind functionality, the deployed application terminates on the Android device soon after it opens.

    Workaround: To deploy such applications, use Android Studio instead of Kanzi Studio.

  • When you deploy from Kanzi Studio to an Android device an application, which loads kzb files listed in the <project_name>.kzb.cfg file, the application terminates because of failing to load the kzb files.

    Workaround:

    In Kanzi Studio first export the kzb files, then build and deploy the Android Package:

    1. File > Export > Export KZB.

    2. File > Export > Build Android Package.

  • After you rename a Kanzi Studio project, Kanzi Studio treats already existing Code Behind projects like a regular Kanzi Engine Plugin. This means that you cannot open such Code Behind projects using the Activity Browser and starting or restarting the Preview does not automatically start the rebuilding of such Code Behind projects.

    Workaround: To build a Code Behind project, manually open and build the Code Behind project in Visual Studio, and restart the Kanzi Studio Preview.

  • Renaming the package of an Android application using Java Code Behind breaks Kanzi Studio functionality. Kanzi Studio expects the package to remain com.example.<ProjectName>.

  • The Delete Unreferenced Items window incorrectly shows auto-generated cubemap texture images that are used by your project. When you delete these images, the Preview terminates.

    Workaround: Reopen your project.

  • Kanzi Studio cannot select the correct Kanzi Engine Java plugin configuration based on the current Kanzi Studio Preview configuration.

    Workaround: When you are developing your Kanzi application in Kanzi Studio, use only one build configuration of the Kanzi Engine plugin. Kanzi Studio uses the same build configuration for all Preview configurations. See Changes in support for Debug and Release build types for Kanzi Engine Java plugins.

  • In Kanzi Studio, when you import both debug and release configurations of a Kanzi Engine Java plugin, in the Library, Kanzi Studio shows the configurations as release and release_1.

    Workaround: When you are developing your Kanzi application in Kanzi Studio, use only one build configuration of the Kanzi Engine plugin. Kanzi Studio uses the same build configuration for all Preview configurations. See Changes in support for Debug and Release build types for Kanzi Engine Java plugins.

Known issues in the Kanzi SDK

  • The Coin example does not run on the x86/x86_64 Android emulator.

Known issues in the Kanzi Android framework (droidfw)

  • When a Kanzi Android framework (droidfw) application is suspended, it does not detect when tasks are added to the Task Dispatcher. This means that the application does not wake up from the suspended state, and does not run those tasks.

    Workaround: To prevent the application from suspending, add ApplicationIdleState = 0 to the application.cfg. See ApplicationIdleState.

Known issues on platforms

  • QNX deprecated the use of QCC as CXX compiler. The compilation of a QNX application fails with the error

    QCC is not a full path and was not found in the PATH.
    

    For workaround, see Known issues on QNX.

  • When you use QNX 7.0.0 and update your QNX software through the QNX Software Center, the compilation of Kanzi applications fails with error

    Kanzi-3_6_5-qnx700_screen_aarch64-es3-freetype-static/Engine/include/kanzi/core/cpp/cstdio.hpp:42:12: error: 'std::snprintf' has not been declared
    

    QNX introduced this error in an update of their software development platform where the std::snprintf is missing in header files.

    Workaround: To remove the compilation error, add to the preprocessor flags the -DKZ_USE_C99_SNPRINTF definition.