This release makes a number of minor, but necessary, changes under the hood - so the "Upgrade notes" section is longer than usual. Please be sure to read them all! Update highlights:
New manual
With the improvements that each update brings, it was becoming clear that the old manual was becoming a bit long in the tooth. Talk of new features were added into the old structure, rather than changing the structure properly. So, the manual has been rewritten from scratch, with improved layout, sub-sections, images (finaly!), as well as pro-tip and note boxes. Dedicated sections on each of the Managers, menu element types, interaction methods and more are now provided. If you get stuck or need advice on a particular aspect of AC, please do revisit the manual before posting in Technical Q&A, as I've included a lot of tips and advice to common questions that people have.
Sunsetting / deprecation
Unity 4 is now being sunsetted to aid the compatibility of future Unity releases. However, if you are using Unity 4 (or pre-Unity 5.34), you can PM me with an invoice number and I will provide you with a private package. The "Top Down" option for the "Moving and turning" 2D field is now deprecated: it'll still work, but "Unity 2D" is now the intended option for this field.
Speech fixes
This is less of a feature, but more of a fix that needs to be given prominence. Some issues related to the timing of subtitle display have been addressed, but this will have a knock-on effect if your cutscenes are directly tied to the duration of speech. Essentially, the Display time factor field in the Speech Manager now behaves differently if you rely on speech audio or scrolling text. In these cases, this factor only affects how long a subtitle "lingers" on screen once the audio has completed / scrolling has finished. This means that you may have to reduce this value in order to get the same timing as before. It is also the case that - since scrolling takes up time - the length of a subtitle does not affect the display time once complete. This is only by default, however: you can re-enable this in the Speech Manager if necessary.
Texture2D -> Texture
Inventory items, cursor icons, and character portraits all now accept Texture assets - as opposed to Texture2D. While you may have to be careful exactly which texture type gets assigned, this allows for the display of e.g.
Render Textures in your UI. In other words, 3D inventory icons!
Comments
Upgrade notes
- Sunsetting Unity 4 compatibility - packages can be made available via email if required
- The "Dialogue: Play speech" Action's "Wait time offset" value can no longer be less than zero - use the [continue] text token to end speech prematurely
- If a "Dialogue: Play speech" Action is placed in an ActionList set to "Run In Background", the dialogue is always considered background speech
- Characters animated with Sprites Unity Complex - Angle float values now range from 0 (inclusive) to 360 (non-inclusive)
- The "Moving and turning" field's "Top Down" option is now deprecated - users should use Unity 2D mode instead
- If speech is scrolling, the “Display time factor” will only be influenced by the length of the speech text if “Text length influences display time?” is checked
- If speech has audio, the “Display time factor” will only affect the duration of text display once the audio has finished playing (overrides scrolling)
- Cursor, inventory and portrait graphics are now of the type "Texture", not "Texture2D", and now support Sprites and RenderTextures
- PlayerCursor.GetCurrentCursorTexture now returns a Texture, not a Texture2D
- Follow Sorting Maps are now set to follow the scene's default Sorting Map by default
- The "Save game screenshots" feature is disabled for WebGL due to Unity's security measures
Timeline- Added: Engine: Manage Timeline Action - use to control the playback of Timelines
- Added: Remember Timeline - use to save the playback state of Timelines
Menus- Added: InventoryBox, Interaction and Graphic menu elements linked to Unity UI now support RawImage components
- Added: Option to prevent Interaction elements from turning invisible if not appropriate for the active Hotspot
- Added: Ability for Toggle elements to be read-only
- Added: Option for Input menu elements to accept special characters
- Added: Ability to enable proportional scaling when an AC Menu or Element's Size is set to Manual
- Fixed: Crafting menu elements not showing inventory items in Game window preview
Input- Added: "Input: Toggle active" Action - use to enable or disable Active Inputs at runtime
- Added: Inputs required by PickUps and Draggables are now listed in their Inspectors
- Fixed: Cursor icon buttons not being listed in "Available input" when using "Choose Interaction Then Hotspot" mode
Speech- Added: [speaker] speech token - replaced by the speaking character's name when used in dialogue text
- Added: Ability to scale the display duration of scrolling speech text with the length of the text itself
- Changed: If speech is scrolling, the “Display time factor” will only be influenced by the length of the speech text if “Text length influences display time?” is checked
- Changed: If speech has audio, the “Display time factor” will only affect the duration of text display once the audio has finished playing (overrides scrolling)
- Changed: If a "Dialogue: Play speech" Action is placed in an ActionList set to "Run In Background", the dialogue is always considered background speech
- Changed: The "Dialogue: Play speech" Action's "Wait time offset" value can no longer be less than zero - use the [continue] text token to end speech prematurely
- Fixed: Not being able to delete a character's expression if it only has one
- Fixed: Various issues with speech display timing
Script sheets- Added: Script sheets now attempt to list speech lines in the order they appear in-game (requires re-gathering of game text)
- Added: The inclusion of line descriptions in exported script sheets is now optional
- Added: Option to remove tokens (e.g. [wait]) from exported script sheets
Languages- Added: If a language is marked as "Right-to-left", scrolling now works in reverse
- Added: Ability for a game's original language to read right-to-left as well as translations
- Added: Ability to include a speech order identifier column when exporting game text (requires re-gathering of game text)
- Fixed: Translation mismatches when creating a new language
Hotspots- Added: If a Hotspot relies on custom scripts for Interactions, used Inventory Item ID numbers are passed as a function parameter
- Added: Optimisation when merging similar IDs when gathering text
WebGL- Changed: The "Save game screenshots" feature is disabled for WebGL due to Unity's security measures
- Fixed: Compilation issues on the WebGL platform
Conversations- Added: Option to allow third-person camera rotation during Conversations
- Fixed: Timed Conversations not deactivating if its dialogue options are overridden in an ActionList
- Fixed: Ending conversations with the "EndConversation" input not setting the GameState to the correct value
- Fixed: Game state being incorrect if Conversations are run or ended via script
Characters- Added: List of expected animations to character Inspectors that use 2D Toolkit for animation
- Changed: Follow Sorting Maps are now set to follow the scene's default Sorting Map by default
- Changed: Characters animated with Sprites Unity Complex - Angle float values now range from 0 (inclusive) to 360 (non-inclusive)
- Changed: The "Moving and turning" field's "Top Down" option is now deprecated - users should use Unity 2D mode instead
- Fixed: Mecanim characters turning inappropriately in rare circumstances
ActionLists- Fixed: Scene-based ActionLists not saving properly in rare circumstances
- Fixed: Various issues with skipping Cutscenes and "Engine: Play movie clip" Actions
- Fixed: Game not autosaving when finishing a skipping Cutscene with "Autosave after?" checked
CursorEditor
- Added: Readability improvements to Sorting Maps in the Scene window
- Added: Minor UI improvements to Menu Manager
- Added: UI improvements to Phonemes Editor
- Added: Right-clicking a variable's "Replacement token" field allows you to copy it to the text buffer
- Changed: Removed ability to hide the stacktrace of Console logs, to improve compatibility with other assets
- Fixed: Fields in Speech Manager showing twice under certain circumstances
API- Added:
- Added: Static Options functions to more easily get/set sound volumes
- Added: GetItemsInCategory function to InventoryManager - use to get an array of all inventory items in a given category
- Added: Functions to StateHandler to determine if the game is currently in a cutscene, or in regular gameplay
- Changed: PlayerCursor.GetCurrentCursorTexture now returns a Texture, not a Texture2D
MiscGetUIButtonWithItem function to MenuInventoryBox element class - use to
retrieve a UI Button linked to a given inventory item
Inventory and portrait graphics are now of the type "Texture", not
"Texture2D", and now support Sprites and RenderTextures
Is it compatible with Unity 2017.1?
@dude: Happy birthday!
@Deckard_89: Can't be as wierd as wanting to re-write it..
@DexterStardust: Thanks, re-doing the manual showed up a few workflow shortcomings, so I tried to address them as I went along.