Forum rules - please read before posting.

Version 1.57: Custom interaction systems, Video Player support and smoother movement

edited May 2017 in Official news
Your patience has been appreciated.  AC v1.57 brings some important refinements behind the scenes, so this is a recommended update for all.  Key features as follows:

Custom interaction systems
While AC provides a wide range of customisation options for your game's interaction system, the more ambitious developers out there may find that they want something completely unique.  Therefore, this version adds a new Custom Script option for both the Interaction method and Hotspot detection method settings, which allow you to control both using script commands only.  Coding knowledge is obviously required, but the new Section 12.12 covers the principles involved - and the included Custom Interaction System Example script demonstrates how your own interface can be written.

Video Player support
A lot of requests have been made for integration with Unity 5.6's new Video Player component, though @Alverik's custom Action has helped tide them over in the meantime.  This upgrade enhances the existing Engine: Play movie Action with the ability to play/stop/resume Video Players, and the new Remember Video Player component allows you to store a VP's state in save games.

Smoother movement
In a case of 'Unity best practice', Rigidbody-based 3D characters now move by having forces applied - as opposed to having their positions set explicitly.  This allows for smoother movment, however be aware that you will need to enable Rigidbody Interpolation for this to be noticeable.  You may also find that NPCs and other Rigidbodys can be 'pushed' by the player more easily - but this can be combated by increasing their Mass value (which won't affect their own walking speeds).  This feature can be disabled in the character Inspector, however.

Comments

  • edited May 2017
    And the changelog proper:

    Upgrade notes
    • Rigidbody-based characters are now moved by applying forces - Interpolation should be set for smooth motion, and Masses may need increasing to prevent object-pushing
    • Parameter values will now be changed when skipping the "Object: Animate" and "Character: Animate" Actions with the "Sprites Unity Complex" animation engine
    • The "Shift Left" and "Shift Right" options for Menu Buttons that offset elements have been renamed to "Shift Previous" and "Shift Next" respectively
    • Right-to-left languages are no longer auto-detected - they are now set directly within the Speech Manager's Translations panel
    Movie playback
    • Added: Ability to control Video Player components with the "Engine: Play movie" Action (Unity 5.6 only)
    • Added: "Remember Video Player" component - attach to Video Player components to save their playback state (Unity 5.6 only)
    • Changed: The "Audio source" field in the "Engine: Play movie" Action has renamed to "‘Sound' to play audio"
    Custom interaction systems
    • Added: "Custom interaction systems" section to Manual
    • Added: "Custom script" Interaction method - use to create a completely custom interface (see Manual)
    • Added: "Custom script" Hotspot detection method - use to have Hotspots selected only through scripting (see Manual)
    • Added: "Custom Interaction System Example" script - demonstrates how Hotspot and inventory interactions can be controlled via script
    Characters
    • Added: "Sound: Change footsteps" Action - use to change the AudioClips of a Footstep Sounds component
    • Added: "Remember Footstep Sounds" component - use to save changes made to a Footstep Sounds component
    • Added: Option for 3D characters to not rely on their Rigidbody for movement
    • Added: Option for the "Slow movement near wall colliders?" character option to only affect their Animator Mecanim 'Move speed float' parameter, not the actual move speed
    • Changed: Rigidbody-based characters are now moved by applying forces - Interpolation should be set for smooth motion, and Masses may need increasing to prevent object-pushing
    • Fixed: Rare issue when using the "Character: Hold object" Action to spawn the object to hold
    • Fixed: Various issues with character movement speeds
    ActionLists
    • Added: Ability to use ActionList assets for a scene's "On Start", "On Load" and "On Variable Change" cutscenes
    • Added: Warning messages to Actions that rely on scene settings that cannot be found
    • Added: Ability to choose if Trigger parameters are affected when skipping the "Object: Animate" and "Character: Animate" Actions with the "Sprites Unity Complex" animation engine
    • Changed: Parameter values will now be changed when skipping the "Object: Animate" and "Character: Animate" Actions with the "Sprites Unity Complex" animation engine
    • Fixed: Issues when viewing the Game Editor window when not all Manager assets are assigned
    Menus
    • Added: Option for Menus set to appear "When Speech Plays" to display even if Subtitles are disabled in Options
    • Changed: The "Shift Left" and "Shift Right" options for Menu Buttons that offset elements have been renamed to "Shift Previous" and "Shift Next" respectively
    • Fixed: Inconsistent UI behaviour when two speech lines are displayed one after another
    • Fixed: "Smooth movement" option for Unity UI-based Menus not always showing when it should do
    • Fixed: Issues with displaying AC-based Slider menu elements
    • Fixed: "Shift" menu buttons not always showing when crafting
    • Fixed: Minor display issue with Menus when "Position type" is set to "On Hotspot"
    Editor
    • Added: New "Default" subfolder which contains all assets necessary for creating new Managers
    • Added: Option to show the StackTrace from messages logged in the Console
    • Added: Option to clear the "Custom Action scripts" folder in the Actions Manager
    • Added: Scroll list to Menu Manager if too many Menus are listed
    Input
    • Added: Cursor Manager option to cycle between "Use" and "Examine" modes with right-clicks when using the Context Sensitive interaction method
    • Fixed: Issues with over-sensitivity when using the "CycleInteractions" input axis
    • Fixed: Arrow Prompt swiping on mobile being inverted vertically
    Save games
    • Fixed: Rare issue when loading save games with renamed Conversation options
    • Fixed: Incorrect time showing in save game labels if "Time display" is set to "Time And Date"
    API
    • Added: "OnUpdateDragLine" custom event - use to draw a custom joystick on-screen when dragging a Player instead of the default "drag line"
    • Added: Helper functions to InvItem and Hotspot scripts to aid the manual interaction of Hotspots and Inventory items
    • Added: Constructors to ButtonDialog class that aid with the creation of Conversation dialogue options through script
    • Added: Alternative StartDialog function to Dialog.cs that allows for a speech line to be played by Speech Manager ID alone
    • Added: GetInGameCursorState function to PlayerInput, which returns the locked state of the cursor during gameplay
    • Changed: The PlayerInteraction's "ClickButton" function has been made private in favour of easier Hotspot functions to manually interact with them
    • Changed: The RuntimeInventory's selectedItem variable has been made private - use the read-only SelectedItem instead
    • Changed: The _Camera component (and subclasses) no longer have a FixedUpdate function call
    Speech and translations
    • Added: 'Right-to-left' languages now construct Hotspot labels in reverse
    • Changed: 'Right-to-left' languages are no longer auto-detected - they are now set directly within the Speech Manager's Translations panel
    • Fixed: Speech lines sometimes not being marked as player lines in exported script sheets
    Misc
    • Added: Option for custom camera script to work in 2D games
    • Fixed: Compatibility issues with Unity 2017 beta
    • Fixed: Issue with volumes of AudioSources with "Sound type" set to "Other"
  • edited May 2017
    Awesomeness! Can't wait to test some of these stuff out! (but right now I'm off to bed, lol. But tomorrow for sure :) ).
  • Good stuff. That video player seems like a good incentive to upgrade to 5.6. Has this issue been fixed by Unity though?

    1. In order to call GetTransformInfoExpectUpToDate, RendererUpdateManager.UpdateAll must be called first

    I think it may be related to the use of a Rigid Body in the scene, and possibly interpolation is what causes it - this is what I read on the Unity forums at least.

  • Whoooooooah!  Downloading now!  This looks rad, @ChrisIceBox!!
  • Realy great update! Later I will test some of the features :)
  • Argh, don't give me new features to play with - I'm trying to finish a game here!  :D
  • @Deckard_89: The bug tracker report suggests its fixed in Unity 2017.  Though AC v1.57 fixes the compilation issues for that Unity version, support won't be official until it's out of beta.
  • Hello,

    I have been working on Conversation List Scrolling and I noticed that Settings/ConversationScroll script is calling ShiftDown and ShiftUp which in return calls MenuButton elementToShift.Shift (shiftInventory, shiftAmount); without calling CanBeShifted();

    This caused problems because mouse wheel scroll called menu re-position and shift even if there is nothing to shift. What I wanted are this 2 situations, which is position of elements depending if they require scroll or not. As in if there are more then 5 options available to show buttons, if not to hide them and re-position them to the left. On mouse wheel scroll this caused to text to move as if buttons for shifting were there.

    image

    image

    I ended modifying ConversationScroll.  
  • @Nick: There's nothing in AC's code by the name of "ConversationScroll".  What are you referring to, exactly - your own script?  Please provide details in a new thread - this thread is not intended for technical issues.
  • I was tired and I messed up, the problem came from a script I used to extend AC conversation and I copied the header commented disclaimer and I thought it was a native AC script. Ops.

    I am sorry. I will try to post next time only the next day when my head is cool and I am rested. I am extending some AC functionality while game developing, but in a way that allows me to upgrade to the latest version and still have everything working.

    It's a great tool to have.
  • edited June 2017
    Hi all, I just updated AC to 1.57. Not sure if this is a bug, I've got video player hooked up on one action list that's set to run in the background. I also created another action list containing Engine: Wait and that's also set to run in the background. I want an action to run a few seconds after the first action list runs, without blocking gameplay. I'm calling the second action list from the first as per suggestions here and on other threads. The second action list does not run past the Engine: Wait node when both action lists are set to run in the background but it does run through when it is set to pause gameplay. As far as I can see, that should not be the case. Could this be a bug in AC 1.57 or there's something else I should be aware of? 

    Using Unity 5.6.0f3
  • @DADA_universe: What are your ActionLists, exactly?  Please post screenshots of them showing the way you're attempting this in a new thread in Technical Q&A - this is not the best thread for debugging such issues.

    Know that you can use the ActionList: Run in parallel Action to have two chains of Actions or ActionLists run simultaneously, and you can check List active ActionLists in Game window? at the bottom of the Settings Manager to debug exactly what's running at any time.
  • Thanks Chris, running ActionList: Run in parallel does not solve it. I'll create a post in Technical Q&A with screen shots.
  • Version 1.57a
    • Added: Ability to run multiple instances of a single ActionList asset simultaneously
    • Added: Parameter tokens - use to display ActionList parameter values in a speech line or Action comment
    • Added: Ability to define a custom “Drag” input axis to the GameEngine’s PlayerInput component, which overrides the default drag input
    • Added: The default description for speech lines listed in the Speech Manager is now the name of the line's parent ActionList
    • Added: Option to make Hotspots invisible to the cursor if they do not have an interaction that matches the current cursor (Choose Interaction Then Hotspot mode only)
    • Added: Option to “Choose Interaction Then Hotspot” mode to have the Hotspot label update when hovering over an Interaction icon
    • Added: Ability to not limit text by speech tag in the Speech Manager
    • Added: Message to Settings Manager about Json limitation if Json format is used for save games
    • Added: The Speech Manager’s “Gather text” feature now optimises ActionLists to reduce scene filesizes
    • Added: Ability to locate the source Conversation of “Dialogue Option” text in the Speech Manager
    • Added: Ability to “Gather text” in the Speech Manager from all scenes in the Build Settings (not just those enabled) if “SearchAllScenes” is a Scripting Define Symbol
    • Fixed: “Auto-add save components to GameObjects” feature not adding “Remember Video Player” components to Video Players (Unity 5.6 only)
    • Fixed: Characters not resuming their active Path if the “Character: Face object” Action is used in their node’s “Cutscene on reach”
    • Fixed: PickUp objects being able to exceed their zoom limitations
    • Fixed: 2D NavMeshes sometimes incorporating holes outside of runtime
    • Fixed: Menu’s “ActionList when turned off” asset running twice if it is used to lock the Menu in question
    • Fixed: Issue with loading asset data from save games
    • Fixed: “Character: Move along path” Action causing characters to skip the Path’s first node
    • Fixed: Not being able to use the “Character: Move along path” Action in a Path node’s “Cutscenes on reach”
    • Fixed: Issues with saving to Json and XML (iOS) when multiple Remember components are placed on a single GameObject
    • Fixed: Issues with the barrel in the 3D demo game
  • Thanks for the updates!
  • Quick question: does anyone still make use of any 2D Moving and turning option other than Unity 2D?  They were originally added before Unity gave us a proper 2D mode, and shouldn't be necessary any longer.
  • i use the character turn left and right action from ac everywhere
  • @dude: I'm referring to the Moving and turning field in the Settings Manager - not the actual ability to move and turn.
  • ups, sry. Using Unity 2d with 2d cam.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.