Forum rules - please read before posting.

Version 1.64 - Documents, improved player-switching, gameplay conversations

The contents of each update varies with need, but this time a lot of the improvements included are based on my own needs as I experiment with a new game project of my own.  v1.64.0 brings many new features and fixes, chief among them:

Documents
The journal system has always been designed for just that: a single journal that the player can flip through.  We now have a dedicated Document system, that allows you to separately define any number of multi-page documents that can be displayed in a single, re-useable menu.  They can be defined in the Inventory Manager, and the default interface also includes a new Document menu to get started with.

Improved player-switching
Player-switching between 3 or more players was previously a bit of a hassle, because you had to define specifically what happened with each combination of incoming/outgoing player.  Now, Players can have an "Associated NPC prefab" assigned, which can be used by the Player: Switch Action to automatically swap a replacement NPC in and out of the scene.

Gameplay conversations
Conversations can now be set to be treated like regular gameplay, i.e. the player can still move and interact while options are displayed.  This may not automatically give correct results, but the Engine: Manage systems Action can be used when a Conversation begins to correctly limit the player's control as appropriate.

Physical cameras
2018.2 worked fine with the previous release, but this update allows you to incorporate cameras with Unity's new "Physical camera" mode - meaning games can benefit from perspective shift etc.
«1

Comments

  • edited July 2018
    And the full changelog..

    Version 1.64.0:

    Upgrade notes
    • The PersistentEngine prefab must now include the "Runtime Documents" component - this should be added manually if you choose not to import it
    • If "Inventory interactions" is set to "Multiple", the "Auto-hide Interaction icons based on Hotspot?" option now applies to the selected Inventory item as well
    • Combining inventory items no longer turns off all "pausing" Menus - this behaviour can be reproduced by hooking into the OnInventoryCombine custom event
    • If the "Sound: Play one-shot" Action does not have a position specified, the audio is not played at the MainCamera's position and not at the origin
    • The MenuElement script's isVisible property is now protected - use IsVisible instead

    Documents
    • Added: Ability to define Documents in a new tab within the Inventory Manager
    • Added: "Document" menu to the default Menu Manager, to demonstrate how Documents can be viewed
    • Added: New menu "Appear type" setting - "On View Document"
    • Added: Ability for Journal menu elements to display a Document's pages, Label elements to display a Document's title, and Graphic elements to show a Document's texture
    • Added: Ability for InventoryBox menu elements to display a list of all Documents held by the Player
    • Added: "Document: Add or remove" Action - use to add or remove a Document from the Player's collection
    • Added: "Document: Open" Action - use to view a Document defined in the Inventory Manager via a Menu with an "Appear type" of "On View Document"

    Inventory
    • Added: "Inventory: Property to Variable" Action - use to transfer an inventory item's property value to a Variable
    • Added: Option for InventoryBox elements to ignore interactions, and handle item selection and deselection only
    • Added: Ability to do nothing when right-clicking while an Inventory item is selected
    • Added: OnCraftingSucceed custom event - called upon completion of a crafting recipe
    • Changed: If "Inventory interactions" is set to "Multiple", the "Auto-hide Interaction icons based on Hotspot?" option now applies to the selected Inventory item as well
    • Changed: Combining inventory items no longer turns off all "pausing" Menus - this behaviour can be reproduced by hooking into the OnInventoryCombine custom event
    • Fixed: Inventory parameters of type "Vector 3" not being definable
    • Fixed: Inventory items not selecting correctly when no graphic is assigned to them
    • Fixed: Default Crafting and Container menus allowing Inventory item interactions

    Conversations
    • Added: Ability to allow regular gameplay while Conversations are active
    • Added: Ability to prevent the DialogList menu element from resetting its offset value if a Conversation is shown twice in a row
    • Added: Ability to override the Conversation that a DialogList element displays options for
    • Fixed: Display issues with offset DialogList menu elements when fading out
    • Fixed: Conversation icons not animating correctly when displayed in a keyboard-navigated Unity UI-based Menu
    • Fixed: OnClickConversation event not triggering if the Conversation's options are overridden by the "Dialogue: Start conversation" Action

    Players
    • Added: Ability to define an "Associated NPC prefab" for each Player, to ease character handling when switching Player prefab
    • Added: "Max free-aim speed" field to first-person movement - was previously enforced but can now be customised
    • Changed: 3D Players created using the Character Wizard are now placed on the Ignore Raycast layer to avoid ground-check conflicts
    • Fixed: If a Player switch occurs with no previous data, the "NPC to be replaced" not being used for the new Player's initial position
    • Fixed: Issues when switching Player if the Player or NPC does not turn in 3D space
    • Fixed: Player being able to jump when the "Engine: Manage systems" Action has disabled Movement
    • Fixed: Characters being incorrectly considered "grounded" when using Capsule Colliders that point along the X- or Z-axis
  • edited July 2018
    Menus
    • Added: OnMenuElementShow and OnMenuElementHide events - called whenever a menu element's visibility is changed
    • Added: OnMenuElementShift custom event - called whenever a multi-slot menu element's slots are shifted
    • Added: Method to PlayerMenus script to retrieve the Menu a MenuElement is used by
    • Added: Ability to clear a Journal element of all its pages using the "Menu: Change state" Action
    • Added: Ability to set a menu element's offset value through script
    • Added: Ability to force the Hotspot label to update when hovering over InventoryBox elements that are not set to display "Icon Only"
    • Added: Improvements to the positioning of "Above Speaking Character" menus when the speaking character is behind the camera
    • Changed: The MenuElement script's isVisible property is now protected - use IsVisible instead
    • Fixed: Subtitle menus momentarily displaying previous subtitle text unless "Duplicate for each line?" was checked
    • Fixed: Deleted Menus and MenuElements remaining in Menu Manager after being deleted via Undo
    • Fixed: Subtitle Menus configured to only display for specific characters displaying incorrectly
    • Fixed: Menus with an "Appear type" of "Mouse Over" on the edge of the screen turning off if the cursor leaves the boundary of the Game window
    • Fixed: Subtitle menus sometimes flickering on when they shouldn't be displayed

    Interactions
    • Added: OnEnableInteractionMenus custom event - called whenever Interaction menus are to be turned on for a Hotspot or Inventory item
    • Added: Ability to set the "Single ‘Use' Interaction?" Hotspot property when the Interaction method is set to Custom Script
    • Fixed: Hotspot script's GetFullLabel method not returning correct string if the Interaction method is set to Custom Script
    • Fixed: Issue with cycling through cursors if the last cursor defined is set to be left out of the cycle
    • Fixed: "Show pending interaction while moving to Hotspot?" Label element property not working as intended

    Editor
    • Added: Ability to assign Editor labels to Active Inputs
    • Added: Various usability improvements to the Game Editor window
    • Fixed: Error message showing upon completion of the New Game Wizard
    • Fixed: Cosmetic and dragging issues with the ActionList Editor
    • Fixed: "Variable: Check random number" and "Variable: Run sequence" Actions losing connections when the number of outputs exceeds 10
    • Fixed: Horizontal and Vertical axes sometimes being omitted from the Settings Manager's "Available inputs" box

    Unity 2018.2
    • Added: Ability for MainCamera to account for the active camera's "Physical Camera" settings in Unity 2018.2
    • Changed: Use of MovieTextures is deprecated in Unity 2018.2, in line with Unity's own deprecation

    Game text
    • Added: Ability to recycle no-longer-used ID numbers when gathering text in the Speech Manager
    • Added: Ability to update individual translation lines at runtime through script
    • Added: The script sheet exporter's "Limit to lines with no audio?" option is now available for auto-named speech audio as well as manually-set
    • Fixed: Speech Manager recording incorrect Player name when gathering speech text in rare circumstances
    • Fixed: Speech Manager gathering dialogue text overridden by String parameters in "Dialogue: Play speech" Actions
    • Fixed: Game text IDs not always starting from zero after all previously-collected text was reset
    • Fixed: The script sheet exporter's "Limit to lines with no audio?" option not accounting for lines present in ActionList asset files

    2D
    • Added: Ability to retrieve a FollowSortingMap's "Shared Depth" value, which determines its rendering order relative to other objects in the same Sorting Map region
    • Fixed: Error when saving the game when a non-default Sorting Map does not have a Constant ID
    • Fixed: Follow Sorting Map affecting Sprite Renderer in Edit mode even when "Edit-mode preview?" is unchecked

    Profiles
    • Added: OnSwitchProfile event - called when the active profile is changed, if save profiles are enabled
    • Added: If save profiles are enabled, the active profile ID is now displayed in the AC Status window
    • Fixed: Global variables linked to Options Data not loading correct values upon switching save profile

    Paths
    • Added: Ability to assign a "Node command" ActionList for the origin node of a Path
    • Added: Ability to lock all of a Path's nodes relative to its origin
    • Fixed: "Wait time" Path property not always applying to the origin node

    Misc
    • Added: Ability to pause VideoPlayer components when the game is paused using the "Engine: Play movie clip" Action
    • Added: When assigning prefabs GameObject parameters between ActionList assets, ability to choose if the prefab or the scene instance is affected
    • Added: ForceOffCursor property to PlayerCursor script - use to force the cursor invisible at any time
    • Added: Ability to convert Player to NPCs and vice-versa via the Inspector cog menu
    • Added: Option to keep the cursor within the boundary of the game window at all times
    • Added: Ability to cancel the loading delay before and after scene-changes by setting the delay time to zero during the load
    • Added: Message call to "OnSnapRotate" whenever a character's rotation is changed instantly. Similar to "OnTeleport", this is useful when building custom motion controllers
    • Added: Updated the ActionTemplate script with information on how overriding the Skip method can be used to control behaviour when a custom Action is skipped
    • Changed: The ActionListManager script's List of ActiveList classes, which store information about currently-running ActionLists, is now publicly accessible
    • Changed: If the "Sound: Play one-shot" Action does not have a position specified, the audio is not played at the MainCamera's position and not at the origin
    • Changed: If a GameCamera's Follow speed is negative or zero, it will snap instantly to the target
    • Fixed: Characters being unable to move if "Turn before walking?" is checked but the "Turn speed" is zero
    • Fixed: Minor performance issues
  • WOuw!! Thats a lot to look!
  • Hi, I have a few errors updating AC. I have the last version of Unity and AC.

    All the problems were in interaction with inventory. 
    1)Doesn´t combine objects.
    2)I had the option to examine inventory objects with the left button.
    3)I have change the drag and drop options but still, the same problem doesn´t combine two inventory objects. 

    Here are some screens of the settings
    The error is nothing happened when I combine objects or examine with the left button. 
    https://drive.google.com/open?id=1YlVobAnWtfNf72xTuzotPfHUaon-V1cd
    https://drive.google.com/open?id=1AjqaPUvRQhJ7P0CmuvWM5nU93D2K0Npf
    https://drive.google.com/open?id=1uL-OeZXGbX7aw-a5D-E3F-etTtk2zivd
    https://drive.google.com/open?id=1K_rACdsAVGPlsmmGiN2juDc9gB56Zygs
  • edited July 2018
    yeah, same here

    combining two items no longer works for me (although it worked fine in the previous version)

    i've tried numerous variations of Inventory Settings, but it doesn't even get as far as executing a breakpoint on the first Action in the relevant Combine ActionList


    (latest AC 1.64.0 + Unity 2018.1.6f1)

  • edited July 2018
    In case it's any help, to replicate:

    > New Project, using all default values

    > Create two Inventory Items, each with CarryOnStart, and each with a Combine Event to combine it with the other item (both items refrencing the same ActionList)

    > Add an action into the shared Combine ActionList (a bit of dialogue, or a comment to the console, for instance)

    > Run. Select either item and try and combine it with the other one. Nothing will happen. The ActionList won't be fired
  • edited July 2018
    Ah. Got it, I think

    In the Inventory Menu/Inventory Box, if "Prevent Interactions" is set to TRUE, then the Combine Interaction fires as expected

    I guess that really should be the other way around, no?



    Edit: Uggghhhh... except that, although that now allows items to be combined, it prevents some other items from being selected immediately (i.e. things like Maps etc)

    I think I'll just go back to bed...
  • edited July 2018
    Apologies.  Indeed, the behaviour appears to be "swapped" only for a specific case.

    I'll push out a fix today, but in the meantime this can be addressed by opening MenuInventoryBox.cs, and changing line 894:

    else if (!AllowInteractions ())

    to:

    else if (AllowInteractions ())
  • yep, that seems to have fixed it

    thanks Chris
  • Thanks now working!
  • Thank you for blessing us again
  • Version 1.64.1:
    • Fixed: Inventory combine interactions sometimes not triggering in v1.64.0
  • Crazy update! Thank you very much Chris for this amazing product!
  • Man ! Insane update !  You are on the top my list of best Unity addons !  Btw I am  2d artist send me a note if you are looking for someone to help you on the game projects :)
  • Thanks for another great update. But personally I think the best news is that you are working on a new project. Looking forward to it!
  • Remarkable update 
  • @MAC: Much appreciated - will post when there's more to share.

    Version 1.64.2:

    Upgrade notes
    • The Char.cs script's GetScreenCentre method has been renamed to GetSpeechScreenPosition, to better reflect its purpose
    • World-space Unity UI menus that are set to display above characters now account for their height or speech-placement children for positioning
    • The OnAfterChangeScene custom event now requires a LoadingGame parameter
    • The SceneChanger's previousSceneInfo variable is now private, and accessed via the GetPreviousSceneInfo method

    • Added: OnHotspotTurnOn and OnHotspotTurnOff custom events
    • Changed: The Char.cs script's GetScreenCentre method has been renamed to GetSpeechScreenPosition, to better reflect its purpose
    • Changed: World-space Unity UI menus that are set to display above characters now account for their height or speech-placement children for positioning
    • Changed: The "Character(s) to limit to" and "Characters(s) to exclude" Menu fields now support multiple lines
    • Changed: The "All Players share same inventory?" option has been moved from Player settings to Inventory settings
    • Changed: The OnAfterChangeScene custom event now requires a LoadingGame parameter
    • Changed: The SceneChanger's previousSceneInfo variable is now private, and accessed via the GetPreviousSceneInfo method
    • Fixed: Playback issues with VideoPlayer videos if set to pause when the game does
    • Fixed: Cursor sometimes disappearing when an item is selected but only the Hotspot is set to change
    • Fixed: "Variable: Run sequence" Action not being able to reference local variables when running in a sub-scene
    • Fixed: Every character change to the "Save filename" field creating new PlayerPrefs keys
    • Fixed: Menus displaying above characters that are behind the camera unless "Always fit within screen?" is checked
    • Fixed: Button element click textures not fading out when used in a Menu that pauses the game
    • Fixed: Minor issues with parameters in the "Inventory: Add or remove" and "Container: Add or remove" Actions
    • Fixed: OnAfterChangeScene custom event triggering before Unity recognises the change in active scene
    • Fixed: Issue with New Game Wizard in Unity prefabs preview build
  • Wonderful updates as per usual! And I can't wait to see what you're working on @ChrisIceBox !!
  • edited August 2018
    Hey Chris, 

    Awesome job! Tons of really great stuff here. A couple of things that I think are affected by the new update:

    1. The way the "Sound: Play One-Shot" action has changed has greatly decreased the volume of my sounds that are played through this action. Every time my player picks up an item or combines an item, I have a menu that pops out that says "New Item" or "New Combo". The menu, upon activation, plays an action-list that has a "Sound:Play One-Shot" action, playing a little chime. Since this action list needs to be played across scenes, assigning my "Sound: Play One-Shot" action a transform wouldn't work. Any ideas? Thoughts? You wrote: "
    • If the "Sound: Play one-shot" Action does not have a position specified, the audio is not played at the MainCamera's position and not at the origin" 
    Is that correct? Seems like a double negative.

    2. Also, I definitely updated the asset (1.64.2) and "All Players share same inventory?" is still in my player settings.

    Anyways, I hope I don't sound too complainy. This is the best available asset out there! I love love love it. I use it every single day. 

  • 1. Apologies, that is a double-negative.  The first "not" is the erroneous one - audio is now played at the MainCamera's position.  Unless your AudioSource isn't on it, I'd expect all such audio to be increased in volume.

    You can assign a Transform if need be, however, by making your MainCamera a new prefab and attaching a Constant ID to it (with "Retain in prefab?" checked) so that all instances of it have the same ID.  If you then assign the prefab itself in the Action's Position field, it'll find the same object in each scene.  Similar in technique to this tutorial.

    2. Should it not be?
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.