CRIWARE Unity Plugin Manual  Last Updated: 2024-07-12
FAQ
This section answers the most frequently asked questions about the CRIWARE Unity Plugin.
Below is a list of frequently asked questions and the corresponding answers.
For more detailed technical information, see the "How To" and "Troubleshooting" sections.

Earliest version of Unity supported by "CRIWARE SDK for Unity"

[Common:0001]

【Question】

What is the earliest version of Unity that is supported by this SDK?

【Answer】

Please refer to the release notes below:
Release Note
e.g., this example is compatible with Unity 2018 or later.
## PC(Windows)
### Working Requirements
- Unity 2018 or later
- Windows 7 / 8.1 / 10 / 11
- DirectX End-User Runtime (June 2010)
- Microsoft .NET Framework 3.5 SP1
- Microsoft .NET Framework 4.0

There may still be issues with supported versions due to specification changes or potential bugs in Unity.
Please contact us in this case for confirmation or further investigation.

Page TOP


The CRIWARE Library Initializer is not enabled

[ADX:0001]

【Question】

CRIWARE Library Initializer Why is the CRIWARE Library Initializer (CriWareInitializer) not enabled, even after it was created and configured?
Example 1
Although [Hca Mx Voice] is enabled in [Atom Config], the data encoded with HCA-MX cannot be played.
Example 2
Although the [Number of Decoders] is increased in [Mana Config], the creation of the CRI Mana Player fails.

【Answer】

ADX or Sofdec's components are probably used before the CriWareInitializer script is run.
Set a higher "Script Execution Order" to the CriWareInitializer script than to the scripts that use ADX and Sofdec.
[Setting the Execution Order]
  • (1) In Unity Editor's menu, select Edit -> Project Settings -> Script Execution Order.
  • (2) In the Inspector window, the priorities of the scripts in MonoManager are listed.
  • (3) If CriWareInitializer does not appear on the list, click the "+" button at the bottom of the Inspector to add it.
  • (4) Set a higher priority to CriWareInitializer than to the other scripts that use ADX and Sofdec. The smaller the value, the higher the priority.
  • (5) Set CriWareErrorHandler in the same way.
    To detect errors during the initialization, set a higher priority than for CriWareInitializer.

Page TOP


The settings of the CRIWARE Library Initializer are disabled after update

[ADX:0002]

【Question】

Why are the settings of the CRIWARE Library Initializer reset after the CRIWARE plugin is updated (imported)?

【Answer】

When the CRIWARE plugin is imported again, the "Script Execution Order" order that is set for the CRIWARE Library Initializer is reset.
If this setting has been changed by the application, you have to set the priority again.
For the procedure to set the "Script Execution Order", see the answer to [ADX:0001].

Page TOP


When a sound is played there is the following error occurs: "W2010072212: No voice pool can play the specified format. "

[ADX:0003]

【Question】

Why does a CRI error callback displays "W2010072212: No voice pool can play the specified format" when I play a sound?

【Answer】

An error occurred because there is no voice pool able to play your sound data due to its encoding.
Possible causes are as follows:
  • (a) You are trying to play audio data encoded with HCA-MX, without using the CRIWARE Library Initializer.
  • (b) The configuration of the voice pool is incorrect in the CRIWARE Library Initializer.
  • (c) The "Script Execution Order" for the CRIWARE Library Initializer is set incorrectly, and the voice pool configuration is disabled.
  • (d) The data uses a sound codec that the platform cannot play.
It is only possible to play sound data encoded with the ADX and HCA codecs without using the CRIWARE Library Initializer.
If you want to play HCA-MX encoded data, use Hca Mx Voice Pool Config in Atom Config in the CRIWARE Library Initializer.
If the CRIWARE Library Initializer is executed after the scripts using ADX/Sodfec2 are run, the settings for the CRIWARE Library Initializer cannot be enabled. Check the "Script Execution Order" for the CRIWARE Library Initializer.
For the procedure to set the "Script Execution Order", see the answer to [ADX:0001].

Page TOP


When the sound is played the following error callback occurs: "E2010031002:The sampling rate of audio data (##### Hz) is not same as mixer's(##### Hz)."

[ADX:0004]

【Question】

Why does a CRI error callback displays "E2010031002: The sampling rate of audio data (##### Hz) is not the same as the mixer's(##### Hz)" when I play a sound?

【Answer】

An error occurred because the sampling rate of the sound data you try to play does not meet the output setting.
Possible causes are as follows:
  • (a) You try to play a non-44.1 kHz sound data without using the CRIWARE Library Initializer CRIWARE Library Initializer.
  • (b) The setting for the Output Sampling Rate in the CRIWARE Library Initializer does not meet the setting of the data.
  • (c) The "Script Execution Order" for the CRIWARE Library Initializer is set incorrectly, and the Output Sampling Rate setting is disabled.
If the CRIWARE Library Initializer is not used, the sampling rate is 44.1 kHz.
To play sounds at another sampling rate, specify it the Output Sampling Rate of the Atom Config in the CRIWARE Library Initializer.
If the CRIWARE Library Initializer is executed after the scripts using ADX/Sodfec2 are run, the setting for the CRIWARE Library Initializer cannot be enabled. Check the "Script Execution Order" for the CRIWARE Library Initializer.
For the procedure to set the "Script Execution Order", see the answer to [ADX:0001].

Page TOP


The in-game preview fails and a message is displayed saying "Connection to a preview process failed."

[ADX:0005]

【Question】

Why can't I connect to the in-game preview in ADX for Windows? The CRI Atom Craft's login window displays the following message:
  • "Connection to a preview process failed"

【Answer】

The in-game preview may be disabled in the Unity project.
Check the following settings of the Unity project.
  • (a) The CRIWARE Library Initializer is not used.
  • (b) In the CRIWARE Library Initializer, Use In-Game Preview is not selected.
  • (c) The "Script Execution Order" of the CRIWARE Library Initializer is set incorrectly, and the Use In-Game Preview setting is disabled.
If the CRIWARE Library Initializer is not used, in-game preview is disabled.
If the CRIWARE Library Initializer is executed after the scripts using ADX/Sodfec2 are run, the setting for the CRIWARE Library Initializer cannot be enabled. Check the "Script Execution Order" for the CRIWARE Library Initializer.
For the procedure to set the "Script Execution Order", see the answer to [ADX:0001].

Page TOP


The in-game preview fails, and a message is displayed saying "A CueSheet that does not support in-game has been loaded" or "A CueSheet for the preview is missing, or ..."

[ADX:0006]

【Question】

Why can't I connect to the in-game preview in ADX for Windows? The CRI Atom Craft's login window displays the following message:
  • "A CueSheet that does not support in-game has been loaded"
  • "A CueSheet for the preview is missing, or the CueSheet binary is too large for in-game"

【Answer】

When you build a CueSheet in CRI Atom Craft, make sure that Binary output for in-game preview is selected.
The binaries for in-game preview are output in a PC/InGamePreview/ subfolder, which is at a different level than the folder for the normal binaries.
Make sure that the files created under the InGamePreview folders are placed in the Unity's StreamingAssets folder.

Page TOP


When many sound effects are played, the BGM and environmental sounds are stopped

[ADX:0007]

【Question】

Why are the BGM and environmental sounds being stopped when many sound effects are played?

【Answer】

Previous sounds may be stopped due to the first-in, first-out rule because the number of simultaneous sounds being played reached the limit of the voice pool.
Set higher voice priorities for the BGM and environmental sounds than other sound effects in CRI Atom Craft.
To set voice priorities, select the waveform referenced by the Cue and go to the FX2 tab of the FX/AISAC panel in CRI Atom Craft.
Make sure to check the Cue limit or the voice limit as they may cause the playback to stop.

Page TOP


I built the sample project in CRI Atom Craft, but I cannot find the ACB file

[ADX:0008]

【Question】

I built the sample project provided with the SDK in CRI Atom Craft. Why can't I find the ACB file that I think I built?
I can preview the Cue.

【Answer】

When building a Cue Sheet with CRI Atom Craft,
the Cue Sheet binary data will be created at the path specified in [Output Path] in the [Build Atom CueSheet Binary] dialog.
This setting is saved in the project file.

CueSheet binaries are output to the C drive, because the output path of the sample project is the C drive.
It may appear that no output files are created if the CueSheet binary output path is different from the location of the project.

If you want to put the sample project somewhere else than on the C drive,
Click the [Default Path] button in the [Build Atom CueSheet Binary] dialog.
The output path will be set to the project folder (the default location).

cri4u_teqinfo_faq_adx0008_acbdlg.png
Build Atom CueSheet binary dialog box

Page TOP


How can I shorten the latency?

[ADX:0009]

【Question】

Why is the playback latency so long?

【Answer】

  • Please turn on the SonicSYNC setting
  • Try to play in in-memory mode if streaming playback was used.
  • Also, try to adjust the buffer time if the setting is available for the platform in the CriAtomConfig class of the CRIWARE Library Initializer component.
    Please adjust that value for the devices that have a “Buffering Time”,

Page TOP


How can I prioritize the sound of my application?

[ADX:0010]

【Question】

How can I stop the sound playback from another application by playing my application's sound with a higher priority?

【Answer】

[iOS]
Please ensure that sound of your application is prioritized with the settings below.

CRIWARE Library Initializer
 - Atom Config
  - Override iPod Music

This option determines whether other applications (such as music players) can stop the sounds being played back to play their own sounds.
When it is checked, the playback of the other applications will be stopped.

[Android]
From Unity Ver.5.4.2p1, a "Mute Other Audio Sources" checkbox has been added to the Android Player Settings, and Unity can now cancel the audio output of other applications.
 Player Settings > Android > Other Settings > Configuration > Mute Other Audio Sources
When using this feature, please also enable the pre-build process by the plug-in by selecting the following menu command.
 GameObject > CRIWARE > Create CriWareBuildPreprocessorPrefs.asset

If the environment is older than Unity Ver.5.4.2p1, please set the audio focus as needed within your application.
When launching the application, or returning from a suspended state, it is necessary to perform AUDIOFOCUS_GAIN by calling the AudioManager.requestAudioFocus function.

Please refer to the official Android Developers documentation below regarding the usage of the AudioFocus API etc.

Reference: Handling Changes in Audio Output > Acquiring and releasing audio focus
https://developer.android.com/guide/topics/media-apps/volume-and-earphones.html

Page TOP


An error occurred while playing several movies simultaneously.

[Sofdec:0003]

【Question】

Why can't I play multiple movies at the same time? An error callback sometimes occurs and they are not played.

【Answer】

The number of decoders in the CRI Mana library or of loaders in the CRI File System library may be insufficient.
See How should Sofdec be configured to play multiple movies simultaneously? .

Page TOP