A large update that makes several much-needed overhauls to various systems, v1.70 has lots of new features - but also many changes. Please be sure to read the "Upgrade notes" section of the Changlog - and the "API" section if you make use of any custom scripts. Be sure to back up those projects beforehand!
Takeaway features:
Switching between different Player characters is now much easier, thanks to the ability for inactive Players to now behave like NPCs. Gone is the clunky "Associated NPC" system, and instead AC will not keep track automatically of all Players defined in your Settings Manager. The new workflow is detailed in this video.
Special thanks to @kloot and @chaosmonger for their help with testing this.
A side-effect of the Player-switching overhaul above is that it's now possible to track characters across a game. Essentially: if you enable Player-switching, any Player you define will have their data (position, scene, etc) saved and loaded automatically - even if they aren't technically controlled by the player at any time. This makes it possible to have such characters still only be used as NPCs - only you can let AC handle their spawning and positioning, instead of having to place them in scene files and/or worry about Remember NPC components.
If a GameObject is marked as DontDestroyOnLoad (and isn't on the Player), then any Remember component attached to it will be accounted for in save game files. This allows for things like "global" Conversations - see the video above for an example, as well as this wiki page.
ActionLists can now reference objects placed in other scenes, if those scenes are present using the Scene: Add or remove Action. Player-switching is now also compatible with sub-scenes.
It's now possible - via CSV importing - to overwrite your game's original text (i.e. that entered in directly to e.g. Dialogue: Play speech Actions).
First-person movement is now smoother by default, and custom animations options have been extended to allow for sideways and backwards camera motion. A new downloadable package to get quickly up-and-running can be found on the Downloads page.
Available via this wiki script, it's now possible to make use of Unity's Addressable system for speech audio files.
The Interaction menu element type now supports the displaying of multiple icons in a single element, allow for scrolling through them in the way you can with InventoryBox elements.
Through script, Inventory properties can now be modified at runtime, and such changes will be recorded in save game files.
The Camera: Fade Action now lets you choose the behaviour of a fade effect if the game is paused during the transition.
A new template on the Downloads page is available that allows for "Gabriel Knight 1"-style Conversations, where two character portraits are displayed at a time while showing dialogue options in between.
It looks like you're new here. If you want to get involved, click one of these buttons!
Comments
And the full changelog..
Upgrade notes
Player-switching
API
Characters
Speech
Menus
ActionLists
ActionList Editor
Cameras
Inventory
Variables
Interactions
Movement
First person
Save system
Misc
HOLY HUGE UPDATES, BATMAN. Seriously cool stuff here, Chris!
This is Awesome! I'm pretty excited to try all the new things...
Thanks for the update! Great features added.
Should I report bugs here or do it at other place? I found that:
When trying to check which is the previous scene, either by
GetPreviousSceneIndex
or Action > Scene > Check > Previous, it will return NullReferenceException if the scene is the first scene.When the player walk to a Trigger, the player will move 1 small step after the Trigger actionlist finish playing. This didn't happen in the previous version.
Fantastic stuff here Chris! Excited to check it all out!
Oh my! I gasped at Gabriel Knight template! Thanks a lot, this is a real gift. I could have used this in the adventure jam last week. I'm going to for my next project for sure!
Just confirming Rekzie's bug reports. My playerstart2Ds are not able to determine what the previous scene was if the previous scene is 1 in the built settings. I fixed it by putting a dummy scene in the first place.
And when player gets to scene edge trigger2d, he will walk a little now before the scene switches.
Thanks for the reports, @Rekize and @ZcheK, though I'll need more information. Please share details of your movement methods, steps to recreate, and error messages in full in new threads in Technical Q&A.
For the scene-check previous issue, open SceneChanger.cs and replace the IndexToName function with:
For the Trigger issue, what is the effect finding the PlayerInput component of the scene's GameEngine object, and setting the Direct Movement Responsiveness value to zero?
Thanks. The testing results are:
The above script works and solved my GetPreviousSceneIndex issue.
The Trigger issue can indeed solved by setting the Direct Movement Responsiveness value to 0, but would there be side effects? I have made a thread here:
https://www.adventurecreator.org/forum/discussion/10136/ac1-71-0-when-the-player-walk-to-a-trigger-the-player-will-move-1-small-step-after-the-trigger/p1?new=1
Version 1.71.1:
Awesome thank you Chris, you're the man.
Version v1.71.2
Hey! Very helpful update. Thank you!
Great news! Thanks a lot!
Looks like another fantastic update Chris. Thanks a lot.
There are many nice stuff in the update. I have a little suggestion for the future, I'll post it in Tech