Not much exciting about this update, but hopefully that's a sign that AC is now getting more mature. This update focuses on bugfixing and some behind-the-scenes changes to the save system, but there are still a few goodies to be found.
Key features:
Save system rewrite
The acts of file-saving, option-saving, and data serialization are now all delegated to separate interfaces - making it easier to manage but also now possible to override them with custom scripts. This should make it feasible, with some customisation, for a project to run on a platform that AC doesn't officially support. On the game/design side of things, nothing (hopefully) should be different, however.
Vector3 variables
Vector3s are now available as an option when creating variables and parameters. They can be used in the Object: Teleport and Object: Transform Actions, and can be written to with the new Object: Record transform Action.
And the full changelog:
Upgrade notes
- Save and load functions no longer return success as a bool - the OnFinish / OnFailSaving etc events must be used instead
- The SpeechManager script's LanguageReadsRightToLeft functions have been moved to RuntimeLanguages
- Removed "HasPausing" function from Speech class as it is no longer used
- Save and load functions no longer return success as a bool - the OnFinish / OnFailSaving etc events must be used instead
Variables
- Added: Ability to declare Vector3 Variables and Parameters
- Added: "Object: Record transform" Action - use to store the position, rotation or scale of a GameObject as a Vector3 Variable
- Added: The "Object: Transform" Action can now take Vector3s when setting new Transform values
- Added: The "Object: Teleport" and "Object: Add or remove" Actions can now position objects relative to Vector3s
- Added: The "Variable: Run sequence" Action no longer requires an external Variable, though the current order will not be saved without one
- Added: The "Variable: Check random number" Action can now be prevented from generating the same value in succession
Save games
- Added: Ability to implement custom save formats and file handling through scripting interfaces
- Added: Ability to customise the time display of save game files
- Added: Ability to prevent saving of individual Remember components through script with the PreventSaving bool
- Added: Option to allow multiple instances of objects with RememberTransform components
- Changed: Save and load functions no longer return success as a bool - the OnFinish / OnFailSaving etc events must be used instead
- Fixed: Using the "Save: Check" Action's "Is Saving Possible" method sometimes giving false positives
QTEs
- Added: The "Input: QTE" Action now supports axis-based QTEs
- Fixed: Error if the "Input: QTE: Action refers to a Menu that does not exist
Editor
- Added: Variable and Parameter selector fields now only show those appropriate for the situation
- Added: Scroll bar to Active Inputs Editor window
- Fixed: BackgroundImage Inspectors not working with Unity 2017
- Fixed: "Hotspot: Check interaction enabled" Action showing unused output socket
Speech and language
- Added: Ability to script event token keys that trigger custom events when placed in speech text
- Added: "OnClickConversation" and "OnStartConversation" events
- Added: Constructor to ButtonDialog class with no ActionList requirements (useful for scripted Conversations)
- Added: Ability to filter speech text listed in the Speech Manager to those with or without associated audio, provided audio is manually assigned
- Added: Ability to only include lines with no associated audio in script sheets, provided audio is manually assigned
- Changed: Removed "HasPausing" function from Speech class as it is no longer used
- Fixed: Script sheets not showing line ID numbers
Translations
- Added: Ability to create languages before gathering text
- Changed: The SpeechManager script's LanguageReadsRightToLeft functions have been moved to RuntimeLanguages
- Changed: The RuntimeLanguages' ImportRuntimeTranslation function now requires the text column to import as an integer parameter
- Fixed: Issue with Hotspot labels when the game's original language reads right-to-left
Physics
- Added: Ability to set the initial lift of PickUp objects when grabbed
- Fixed: Handling issues with PickUp objects in first-person
- Changed: The "Player movement reduction factor" of Draggable and PickUp objects now also affects free-aiming speed
Menus
- Added: Slider element labels now support tokens
- Fixed: "Mouse over" Menus being able to open while the player is manipulating physics objects
Movement
- Added: Smoother movement to first-person free-aiming
- Fixed: "Straight To Cursor" movement not making use of the NavMesh search fields
Cameras
- Added: The restoration of the MainCamera transform when loading in VR is now optional
- Fixed: GameCameras not being able to move vertically if the X-axis movement option is set to "Side Scrolling"
- Fixed: Warning message when using GameCamera 2D Drag prefabs
Misc
- Added: Integer parameter support for the item count fields in the "Inventory: Check" and "Inventory: Add or remove" Actions
- Fixed: 2D Demo sharing assets from Demo folder
- Fixed: Hotspots not being interactive when inventory items are selected in rare circumstances
- Fixed: Loading scenes not exiting correctly in some circumstances
Comments
Custom speech event tokens
Bit of a mouthful, but custom coders may find this useful. Basically you can now define your own tokens of the form [key:value] which, when placed in speech text, can trigger a event that can be used to run custom code. See Section 10.5.1 of the Manual for more on how they work.
Thank you!
I thought I had broken it because I had been messing with some new assets, but I created a new project and it still happens. I updated to 1.59 today, so the timing makes sense too.
I can't recreate - please post a new thread in Technical Q&A with more details: including the Unity version, platform, and game perspective.
Upgrade note:
Version 1.59c