Grab a drink and pull up a chair, this is a big one..
Scripting guide
As AC's scope becomes wider, it's clear that there's becoming a greater need for coders to be able to integrate their own scripts / assets with AC. This update introduces the
Scripting guide, which provides a breakdown of all of AC's classes, public functions and public variables. A link to this guide is also provided in AC's top toolbar within Unity.
Some users, particularly those coming from an
AGS background, have also expressed an interest in being more easily able to hand-code Interactions. So, new functions have been added, and a full tutorial that covers the conversion of one of the Demo game's Interactions into a script can be found
here.
Tint maps
This one's down to the excellent discussion over on
this thread - sprites in Unity 2D games can now be tinted according to their position in a scene, allowing for some nice lighting effects without the need for custom shaders or sprite lighting assets. A tutorial on using them can be found
here.
Facial expressions
This one's for Mecanim characters and those that speak using portrait graphics: expressions can now be defined within a character's Inpector, and they can be called upon using tokens within their speech lines - allowing for portrait-switching (or a Mecanim integer parameter) to change midway through talking. Thanks to
@Eastman for the suggestion. Again, a tutorial on this feature can be found
here.
New movement options
Nothing major, but there's a fair few new options to be found - based on your chosen Movement method. See the changelog below for the full list, but the main additions are improved 1st-person movement on mobile devices, and the ability to only move 2D characters when they change animation frame (equivalent to AGS's "anti-glide mode").
Variable presets
A very useful feature when testing - now you can define preset values for all your Global and Local variables, and bulk-assign them at any time. Thanks to
@Ressie for the suggestion.
Those links again:
Thanks also go to
@humaldo this time around for some invaluable pre-release testing.
Full changelog below. As ever, back up before upgrading, and happy dev-ing!
Comments
- The “Scrolling subtitle text” option in Speech Manager has been split into separate speech and narration options
- Interaction icons can no longer by clicked with the right-mouse button
- Mecanim characters no longer have a “Rely on root motion?” checkbox - this is inferred by the Animator
- PlayerMenus.RecalculateAll () is no longer a static function
- The InventoryBox menu element type “Hostpot Based” has been renamed to the correct “Hotspot Based”
Scripting- Added: Scripting guide - get descriptions of all public AC functions and variables at adventurecreator.org/scripting-guide
- Added: New script functions to easily enter and exit a cutscene through script
- Fixed: KickStarter script’s TurnOffAC () function not completely disabling Adventure Creator
Debugging- Added: Ability to mark an Action as a breakpoint, which causes the game to pause just before the Action is run (Editor only)
- Added: Text entered in the “ActionList: Comment” Action can now span multiple lines
Tint maps- Added: Tint maps - Sprites used in Unity 2D games can have their colours tinted based on their position in a scene, see section 8.9 of the manual.
- Added: “Object: Change Tint map” Action - use to change which Tint map a FollowTintMap component follows, or the intensity that it is affected by it
- Added: “Engine: Change scene setting” Action can be used to change the scene’s Tint map
- Added: “Remember Visibility” component can be used to record changes made using the “Object: Change Tint map” Action
Variables- Added: Variable presets - Global and Local Variables can be given preset values that can be assigned in bulk at any time
- Added: “Variable: Assign preset” Action - use to assign all Global or Local Variables to preset values
- Added: Variable tokens can now be used in Journal menu elements
Movement- Added: “Minimum run distance” field to all character’s Movement settings - use to ease character speed as they near their destination
- Added: Ability to only move 2D characters when the sprite changes (equivalent to AGS’ “anti-glide” mode)
- Added: Ability to override the global “Vertical movement factor” setting per-scene, used in 2D games to reduce vertical move speed
- Added: Ability to control touch screen first-person games by using one touch to look, two touches to move
- Added: Option for Sprites Unity Complex characters to slow movement when they near 2D wall colliders
- Added: Ability to turn Player instantly when moving with Direct control - works well for 2D games
- Added: “Input magnitude affects speed?” option for Direct control now affects tank-turning as well, allowing for smooth rotations
- Added: Option to use tank-turning with First Person movement - useful for keyboard-only first-person games
- Changed: The “Touch-drag affects” field in Settings Manager for first-person games has been changed to “First person movement”
- Changed: Mecanim characters no longer have a “Rely on root motion?” checkbox - this is inferred by the Animator
- Fixed: Characters not always stopping when told to if “Experimental super-accurate” destination accuracy is enabled
Camera- Added: Section to Manual explaining how to convert the MainCamera to work with VR projects
- Added: GameCamera Third Person’s pitch and spin axes can now be simulated
- Added: “Camera: Rotate third-person” Action - use to rotate a GameGamera Third Person to a fixed angle
- Added: “Camera: Shake” Action’s fields can now be parameterised
- Fixed: Roll rotations assigned to GameCamera Third-Person being incorrect
- Fixed: “Camera: Shake” Action not being skippable
- Fixed: “Overlay current screen” option in “Engine: Change scene” Action no longer working
Menus- Added: Option to set a MenuJournal’s first open page to the one being previewed in it’s properties panel
- Fixed: Menu text effects not always being correct colour if rich text is used
- Fixed: Unity UI-based Menus set to Appear At Cursor And Freeze not being correctly positioned at some resolutions
- Fixed: Error when saving a game that has no manually-controlled Menus
- Fixed: Menus set to appear “On Interaction” not being able to pause gameplay
- Fixed: Error when using Menu text effects on an empty label
Interactions- Added: “Hotspot: Check interaction enabled” Action - use to determine if any Hotspot’s interaction is enabled
- Changed: Interaction icons can no longer by clicked with the right-mouse button
- Fixed: Rare issue with interaction icons not running their Interactions when clicked
- Fixed: Rare issue with interaction icons being displayed inappropriately
- Fixed: Rare issues with Touch Screen interactions
Speech- Added: Facial expressions - character portraits and an integer Mecanim parameter can be changed on the fly using speech tokens
- Added: Ability to limit Menus that appear “When Speech Plays” to either normal or background speech only
- Changed: The “Scrolling subtitle text” option in Speech Manager has been split into separate speech and narration options
- Fixed: Overriding Conversations not always running if a non-overriding Conversation was run beforehand
- Fixed: Asset-based “Dialogue: Start Conversation” Action not being able to override a scene-based Conversation
- Fixed: Subtitle scrolling speeds varying with frame-rates
InventoryMoveables
- Added: Draggable and PickUp objects can now reduce the player’s movement speed when manipulated
- Fixed: Errors with “Disable free-aim when dragging?” feature when using Ultimate FPS
- Fixed: Draggable and PickUp objects still being moveable if the interaction system is disabled
Othervisible either in the scene or through the current camera
performance, but will cause errors if inputs are undefined
This is indeed a rare case where quantity meets quality.
More power to us!
Weird thing - my mouse over inventory is pausing the game now/not opening. Thoughts?
@10FingerArmy: Correct - Update functions in the Player, NPC and Char scripts are now called by StateHandler for performance. Try calling StateHandler's GatherObjects function after changing the enabled state of NPCs - though I may have to introduce a null check in there somewhere.
@Geometrix: Is your second issue v1.47 related, or was it present beforehand? Unless your Inventory menu pauses the game, I'd say that sounds like the correct behaviour.