Skip to content

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:

  1. Back up the project or use a VCS ↗ to be able to roll back in case something goes wrong.
  2. In case using VS Code extension, update both the extension and VS Code itself to the latest versions.
  3. Install the new release. [doc]
  4. Run the upgrade script via Naninovel/Upgrade/v1.21 to v1.22 Unity editor menu.
  5. In case having custom expression queries (previously functions), change [ExpressionFunction] to [ExpressionQuery].
  6. In case using [ConstantContext] metadata attributes, replace them with [EnumContext].
  7. In case initializing custom meta (previously "global") variables with the @set command, add meta! flag (the g_ 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 @or command, 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 Data utility 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 Label and @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 Continue option 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 to parmeter to @set command allowing to specify a shared value to be assigned to the variables.
  • Added meta! and const! flags to @set command 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 @animate command (use @async instead).
  • 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_ and t_ custom variable prefixes no longer has any significance. To initialize meta (previously "global") variables with @set command use meta! and const! 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.