CRIWARE Unity Plugin Manual
Last Updated: 2024-07-12
CRI Ware for Unity ChangeLog
[3.10.01]-2024-04-26
C# Script
2.42.46
Library
2.42.32
Native Libraries
Atom : 2.27.353
Base : 2.53.16
File System : 2.86.6
Mana : 2.25.29
New Features
Bug Fixes
[Atom][editor] Fixed an issue where preview playback of WebGL streaming Cue could not be performed in Atom Browser or in the Inspector of the CriAtomSource component.
[Atom][editor] Fixed an issue where preview playback of WebGL audio data was not possible in Atom Browser.
[Mana][android] Fixed an issue where video playbacks were not rendered correctly on a small number of Mali GPU-equipped devices when the Graphics API setting was OpenGLES3.
Other
[Atom][all_platform] Updated the comment explaining the setting range of the arguments for CriAtomExPlayer.SetDspTimeStretchRatio .
[all_module][editor] Each page switching button in the Version Window will now be disabled if the corresponding module does not exist.
[3.10.00]-2024-02-06
C# Script
2.42.33
Library
2.42.25
Native Libraries
Atom : 2.27.320
Base : 2.53.16
File System : 2.86.5
Mana : 2.25.26
Specification Changes
[Atom][all_platform] Deprecated CriWare.CriAtomExAsrRack.SpeakerMapping and changed it to CriWare.CriAtom.SpeakerMapping.
[all_module][all_platform] When an error callback occurs using the CriWareErrorHandler component, the message is now output by the native log output function for each platform.
If the following APIs are used, messages can be output by the log output function on the user side.
[Atom][ios] Fixed an issue where playback might not recover from audio interruption caused by incoming phone call or Siri when Unity Audio is enabled.
[Mana][pc][ios][macosx] Fixed an issue where the video rendering could be currupted if the video is played after another one with a larger resolution, and both videos are encoded with the same codec which is either Sofdec.Prime or VP9.
[Mana][android] Fixed an issue where H.264 movies could not be rendered correctly when using GLES2 as the graphics API.
[Mana][all_platform] Fixed an issue where customized materials in components inheriting CriManaMovieMaterial would be set to None when PlayerManualFinalize() is called (in an editor extension etc.).
[3.09.02]-2023-12-15
C# Script
2.41.109
Library
2.41.45
Native Libraries
Atom : 2.26.382
Base : 2.52.27
File System : 2.85.1
Mana : 2.24.52
New Features
[Mana][all_platform] Added the [Use Streamer Manager] option to the CriWareInitializer component.
Bug Fixes
[Atom][editor] Fixed a crash when changing the CriAtomServer.EnableAutoConsumePcmOutput setting while the user PCM output mode is enabled.
[Atom][all_platform] Fixed an issue in the Atom Timeline extension where the first and last frames of a clip were not included when playing sound.
[Atom][editor] Fixed an issue where the display of CRI Profiler would be temporarily corrupted when playing a large number of sounds in the editor.
[Mana][all_platform] Fixed an issue where the creation of a new material might fail in the CriManaMovieMaterial component.
[Mana][ios] Improved the drawing process during the playback of Sofdec.Prime or VP9 encoded videos for more stability.
[3.09.01]-2023-08-31
C# Script
2.41.90
Library
2.41.32
Native Libraries
Atom : 2.26.332
Base : 2.52.25
File System : 2.85.1
Mana : 2.24.38-0.1
New Features
[Atom][editor] CRI Atom Timeline audio can now be previewed with 3D effects enabled in Unity's Edit mode.
[Atom][pc] Added the [Microsoft Spatial Sound] option to the Library Initializer component.
For OS versions lower than Windows 10 Build 1703, or when using a special audio interface, this flag needs to be set to false. Generally, we recommand not to change the default value(true) for this flag.
Bug Fixes
[all_module][all_platform] Added validation of the initialization parameters during the library's initialization via the CriWareInitializer component.
[Mana][all_platform] Fixed an issue in the Mana Timeline expansion where changing Director.time to a position without a clip while ManaClip playback was being prepared would put that ManaTrack in an invalid state, preventing future video playback.
[Mana][all_platform] Fixed an issue where internal resources may not be released when using the CriWare.CriMana.Player class alone. CriManaMovieResources GameObjects will now be created in the scene when Players are generated from script.
[Atom][all_platform] Fixed a memory leak when the loading process using CriWare.CriAtomExAcbLoader failed to start.
[Mana][all_platform] Fixed an issue in the Mana Timeline extension where video from a Mana Clip would be played in fast-forward when played immediately after another clip while the CriManaTrack's FrameSync setting was enabled.
[Mana][all_platform] Fixed exceptions when the following operations were performed:
Setting CriWare.CriManaMovieMaterial.material to null
[Mana][all_platform] Fixed an issue in the Mana Timeline extension where the video playback position was not updated accordingly to the skipping or rewinding operations while playing the same ManaClip. Uncheck the following CriManaTrack setting to return to the previous behavior.
Check Pos Within Clip
[Mana][all_platform] Fixed an issue where edits to a CriManaClip would not be applied if the PlayableDirector did not have the focus.
[Atom][editor] Fixed a crash caused by the Atom Timeline extension when the library is finalized during preview playback.
[Mana][macosx] Fixed an issue where video rendering would be corrupted if the alpha video's YUV channel had a different resolution than the alpha channel.
[Mana][ios] Fixed an issue - when the CPU load was high - where the frames would be displayed out of order and at the wrong timing when playing back Sofdec.Prime or VP9 codec videos.
[Mana][pc][android] Fixed an issue where video playback on a VR platform resulted in a single-eye display.
[Atom][all_platform] Fixed an issue where the CriWare.CriAtomConfig.InGamePreviewConig settings for CriWare.CriWareInitializer would not always be applied.
[Atom][all_platform] Fixed an issue where other listeners could still be enabled even though a CriAtomListener component was set to be exclusive.
[Atom][all_platform] Removed the "VR Mode" flag from the Library Initializer.
[Atom][ios] The sleep-on-resume processing and associated plugin functions from previous implementations have been removed.
[Atom][all_platform] Changed the length of the arrays (i.e., the maximum number of channels) in CriWare.CriAtomExAsr.BusAnalyzerInfo from 8 to 16.
[Atom][all_platform] The PlatformConfig structure and the constructor of the CriAtomExAsrRack class that takes it as an argument are now deprecated. Use a platform-specific structure that inherits from IPlatformConfig instead.
New Features
[Atom][all_platform] Added a "12ch(7.1.4ch)" option to the ASR Output Mode setting in the Library Initializer.
[Atom][all_platform] Added a "Use Spatializer" flag to the Library Initializer.
[Atom][all_platform] Added a flag to the library initialization configuration structure to perform the audio output via SonicSYNC. Please note that there are dedicated options for Android, iOS and Switch and the configuration for these platforms should be made separately.
Enable SonicSYNC
[Mana][all_platform] Added audio Time Stretch processing for speed-specific playback of videos with embedded audio.
Audio Time Stretch processing will be performed when AdvancedAudioMode is enabled in components such as CriManaMovieController.
AdvancedAudioMode is now enabled by default in components such as CriManaMovieController.
Added an AdvancedAudioMode setting to the CriManaMovieControllerForUI component.
[Atom][all_platform] Added support for changing the speed of Playable in the Atom Timeline extension.
[all_module][editor] The Plugin now works even when Reload Domain is disabled in the Enter Play Mode Options. This feature can be toggled in "Project Settings/CRIWARE/Editor/Common". (Enabled by default)
[Atom][all_platform] Added members to the following enums to support spatial audio:
[Atom][all_platform] Added a "volume" member to the CriAtomExCueInfo structure.
Bug Fixes
[Mana][ios] Fixed a potential crash when destroying the video player.
[Atom][editor] Fixed a warning triggered by the CRI Timeline extension when using Unity Timeline 1.5.2 or above.
[Atom][all_platform] Fixed an issue with the Atom Timeline where the position of the playback would not reflect changes made explicitly, for instance by a script. Disable the following CriAtomTrack setting to return to the previous behavior:
[all_module][editor] Fixed an issue where plugin information for macOS would not be displayed in the Version Information window on Unity 2021.3.23 or above.
[Atom][Mana][all_platform] Fixed unnecessary GC Allocation occuring during playback in the CRI Timeline extension.
[Atom][editor] Fixed several issues in the inspector of the CriAtomSource component.
Fixed an issue where the sound in the scene would be stopped if the inspector of a CriAtomSource was displayed in the Unity Editor in PlayMode.
Fixed an issue where the current DSP bus settings were not applied during preview playback in the CriAtomSource inspector.
[Atom][editor] Fixed issues in the CRI Profiler:
Fixed the information display being delayed or stopped by an error when there are multiple sound sources.
Fixed an IndexOutOfRange exception and a temporary lack of display when the content on the timeline was too complex.
[Atom][ios] Fixed an issue where audio output except for the plugins would be disabled when finalizing the Atom library.
[all_module][editor] Fixed an issue where CriConsoleLog was not outputing some logs related to the plugin.
[all_module][ios] Fixed an issue where some files were not referenced correctly when the exported Xcode project was moved to another environment.
[Atom][all_platform] Fixed an issue where the SetStartTime of the AtomSource.player bound to the Atom Timeline was overridden by the plugin processing.
[Atom][all_platform] Fixed an issue where warnings related to the following callbacks could be triggered even though the callbacks were not used:
[Mana][ios] Fixed an issue causing flickering when playing Sofdec.Prime or VP9 encoded videos. Note that there is now a one-frame delay between the start of the playback and rendering of the video.
[Fs][all_platform] Fixed an issue where an invalid instance remained when an exception occurred in the CriWare.CriFsUtility.WebInstall method.
[Mana][android] Fixed an issue where H.264 movies might not be rendered correctly in the following environments if OpenGLES2 or OpenGLES3 was selected as the Graphics API:
- Devices on which CriManaPlugin.IsCodecSupported() returns false
- Environments where the Unity Universal Render Pipeline is enabled
- Windows Subsystem for Android
Note that the playback load has also changed for the above-mentioned Graphic APIs. Please define the following preprocessor flag if you want to return to the previous behavior:
[Mana][editor] Fixed an issue in the MacOS Editor where video playback would not be performed correctly when a specific platform was specified as the Target Platform.
[Mana][ios] Fixed an issue where the video would stop when any of the following operations were performed when Render Extra Frame on Pause in PlayerSettings was turned off.
Completely pulling down the notification center
In the Stage Manager on an iPad, choosing "Add Another Window" to launch another app