1.22 Release Notes
Release date: TBA
NOTE
This is a preview work-in-progress release, which may have breaking changes introduced at any time. Choose it if you're in the early development stages or need a specific feature unavailable in the stable release. Note that preview releases are not published on Unity's Asset Store and have to be installed from GitHub.
Compatibility
Supported Unity versions: 6.3 and TBA LTS releases (with the latest patches).
Non-LTS (tech, beta, and alpha) releases are not supported. Any issues with future Unity releases will be addressed in the next Naninovel versions. Compatible Unity releases for past Naninovel versions are listed in the release notes.
Upgrade Guide
When upgrading a project with Naninovel version 1.20 or older, first follow the v1.21 release upgrade guide, then continue with the following instructions:
- Back up the project or use a VCS to be able to roll back in case something goes wrong.
- In case using VS Code extension, update both the extension and VS Code itself to the latest versions.
- Install the new release. [doc]
- Run the upgrade script via
Naninovel/Upgrade/v1.21 to v1.22Unity editor menu. - In case having custom expression queries (previously functions), change
[ExpressionFunction]to[ExpressionQuery]. - In case using
[ConstantContext]metadata attributes, replace them with[EnumContext]. - In case initializing custom meta (previously "global") variables with the
@setcommand, addmeta!flag (theg_prefix no longer has any significance and can be removed).
WARNING
Compatibility of save data between Naninovel releases is not guaranteed. When patching a shipped project with a new Naninovel version, make sure that existing saves work as expected.
Added
- Added inline comments. [doc]
- It's now possible to use whitespace in values without wrapping, eg:
@set a=1, b=2. - Added line and command decorations to the VS Code extension. [doc]
- Added support for nesting with tabs. [doc]
- Added expression operator aliases. [doc]
- Added
@orcommand, which works as a shortcut to@else if:.... - Add options to control URP camera stacking to the camera configuration.
- Added ruby support to the default choice buttons.
- Added
Clear Save Datautility the Naninovel editor menu allowing to quickly purge saved games and global state, such as unlocked tips. - It's now allowed to have partial localization documents; ie Naninovel no longer throws when a scenario or managed text localization document is missing (a warning is still logged).
- Added support for spaces in labels, eg
# My Labeland@goto # My Label. - Added an option to control the indent type (tab or four spaces) to the VS Code extension.
- Added a played line indicator to the VS Code extension instead of selecting the played line text.
- Actor order is now always stable, making features like auto arrange produce consistent results between runs.
- Added fuzzy search and advanced grouping to the dropdowns throughout the editor menus. [demo]
- Added
Instant Reveal On Continueoption to the revealable text printers (enabled by default). When disabled, the "Continue" input won't instantly complete the gradual text reveal effect. [demo] - Added script text constants to the expression auto-completion list in the VS Code extension.
- Added
toparmeter to@setcommand allowing to specify a shared value to be assigned to the variables. - Added
meta!andconst!flags to@setcommand allowing to designate the variable kind wihtout using special name prefixes.
Changed
- The minimum-supported Unity version changed to
6.3. - Removed the legacy script graph and visual scenario editor (use story editor instead).
- Removed the legacy
@animatecommand (use@asyncinstead). - Changed assignment expression separator from
;to,(semicolon is now used by inline comments); use the upgrade script to automatically upgrade scripts. - Expression functions have been renamed to queries; all the associated APIs and features have to be updated accordingly.
- Renamed
[ConstantContext]metadata attribute to[EnumContext]to prevent confusion with the newly introcuced expression constants. - The
g_andt_custom variable prefixes no longer has any significance. To initialize meta (previously "global") variables with@setcommand usemeta!andconst!flags for metas and constants respectively.
Fixed
Most fixes associated with bugs found during the pre-release stage are backported to the previous stable release and are not listed here; find them at the "Patches" section of the previous release changelog.
- Fixed printer resources not being unloaded from memory when the actor is removed from the scene.