CRIWARE Unity Plugin Manual  Last Updated: 2024-07-12
About Assembly Definition-enabled version and conventional version of plugin packages
From CRIWARE Unity SDK v3.03.00, a new Unity Assembly Definition-enabled plugin package (.unitypackage) has been added.
This supports development in more modern Unity by improving the development iteration by defining dependencies and improving development iteration by differential build.
The configuration is significantly different from the previous version of the plugin package of SDK v3.03.00 or earlier, so be careful when updating.
The following is a summary of the differences between plugins and points to note when updating.

About the discontinuation date of the conventional plugin package

Attention
As previously announced, we will stop publishing the conventionally configured plug-in packages from SDK v3.11.00.
If you need it, please contact us individually from the support page.

Differences from conventional plugin packages

The differences between the Assembly Definition-enabled and the conventional version of the plugin packages are as follows.
There is no difference in the functionality itself as a CRIWARE Unity plugin.
  • The supported Unity version is Unity 2019 or later.
  • Added "Assembly Definition" definition files (.asemdef).
  • Moved the location of plugin related files under the Assets/CRIMW folder.
  • Added "namespace CriWare" to the top of all existing classes and namespaces

Plugin Package Migration Guide

If you are using the CRIWARE Unity plugin SDK v3.02.00 or earlier, special measures may be required depending on the update method.
Precautions for updating to the new configuration

For projects implemented with conventionally configured plugins, AssetBundle may need to be rebuilt due to updates to Assembly Definition-enabled plugins.

You will need to rebuild the AssetBundle if included prefabs have CriWare Unity plugin components attached.
There is no problem if components are added (AddComponent) from the script.
This is because AssetBundles include "assembly" and "namespace" descriptions as reference information for components on the prefab.

Due to the above issues, please pay close attention when updating to the new configuration for applications that are already in operation or projects that are under development.

When continuing to use the plugin package with the conventional configuration

The SDK also includes a plugin package with the conventional configuration, which you can continue to use.

As always, you can update your plugin by simply importing the .unitypackage into your project.
One major specification change that should be noted is that the CriWare class has been renamed to "<strong>CriWare.Common</strong>".
In the script that uses the property of CriWare class, please replace "CriWare" with "CriWare.Common".

Also, as a workaround for the issue where a compilation error occurs if the Timeline package is deleted in PackageManager, the Timeline extension script is disabled by default in the conventionally configured plugin package.
If you would like to continue using the Timeline extension, please add the following definitions to Scripting Define Symbols.

  • CRIWARE_TIMELINE_1_OR_NEWER
Attention
Distribution of the conventionally configured plugin package included in the SDK will end in the future (scheduled for the end of 2021).
If you need an updated version of the plugin package with the conventional configuration after the distribution is ended, please contact us individually from the support page.
When updating from the old configuration to the new configuration

You need to delete all CriWare Unity plugin related files that have been imported into your project, and then import the new configuration plugin.
The following are the target folders / files in the default location.

plugin_organization_update_project_view.png
  • Assets/Editor/CriWare folder
    plugin_organization_update_editor_folder.png
  • Gizmos/CriWare folder
    plugin_organization_update_gimos_folder.png
  • Plugins/CriWare folder
  • Plugins/(CriWare library files in each platform folder)

    plugin_organization_update_plugin_folder.png

    When deleting directly with Explorer / Finder etc., please also delete the .meta file of each folder and file.

    After deleting the above file, import the plugin package with the new configuration into your project.
    Since the GUIDs of the plugin files are unchanged, the scene files and prefabs can be used as normal.
    Please note that as mentioned before, you will need to rebuild AssetBundles that contain prefabs with CriWare Unity plugin components attached.

    Scripts that refers to CriWare Plugin classes will get compile errors due to the addition of the new namespace.
    Please add using CriWare; and replace the "CriWare" class with the "Common" class.