Forum rules - please read before posting.

Version 1.78 - Scene items, Events editor, and other building blocks

Note: This update makes a few changes to AC's API that affects some of the packages available on the Downloads page. These packages have been updated, so if you encounter an error from one after importing AC, update the Download package as well.

A common and welcome surprise on these forums is to hear how people leverage AC's features in surprising ways, finding novel ways to build things that I hadn't anticipated. To help with those looking to push AC a bit further, this update introduces a number of building blocks that should help making new features a little bit easier.

Key features:

Scene items

It's now much easier to manage the representation of an Inventory item as a GameObject in the scene. Once an Inventory item has been assigned a "Linked prefab", the Inventory: Scene item Action can be used to spawn and remove instances of it in the scene - optionally retaining a link back to the original item. Together with the Scene Item and Remember Scene Item components, this can be used to enable mechanics such as:

  • Inspecting items from the Inventory with a "close up" mechanic
  • Equipping items in the Player's hand, for interacting with the environment
  • Dropping items from the Inventory into the sene, while allowing them to be picked up again later

A tutorial on the latter can be found here.

Events editor

Custom events have long been a handy way of extending AC through custom script. As an optional alternative, they can now also be used to run ActionLists automatically from the Events Editor window - without need for additional code. Event parameters can also be passed to the ActionList's parameters - allowing the object the event involved to be further manipulated. If you wish to run such events only in a particular scene, or associate them with a particular prefab, you can instead make use of the new Event Runner component.

A tutorial involving this can be found here.

New Actions

A handful of new Actions:

  • Hotspot: Interact - use to interact with a Hotspot manually. This might be handy if making an "equip" system where you want to interact with a dynamic object in the Player's hands.
  • Physics: Raycast - perform a RayCast or SphereCast in the scene (both 2D and 3D). Optionally, you can assign both the hit object, and the position, to GameObject and Vector3 parameters in the same ActionList.
  • Input: Simulate - simulate the pressing of an AC input button or axis. If run from an Active Input, it can be used to dynamically enable/disable individual input recognition by enabling/disabling the Active Input.

Other features of note

The Menu: Set input box text Action has been upgraded, and renamed to Menu: Update content. It is now capable of updating the text of any Menu element type, and can also alter textures.

A much requested feature: individual Document pages can now be assigned textures. These can be modified through script at runtime, if e.g. a texture should change with the game's language.

Inventory Categories are no longer limited to Items - they can also be used to tag Documents and Objectives. InventoryBox elements that display Documents and Objectives can also be filtered by category, allowing for e.g. Main and Optional objectives lists.

Comments

  • And the full changelog:

    Upgrade notes

    • The OnOpenDocument and OnCloseDocument custom events have been replace with OnDocumentOpen and OnDocumentClose, which take a DocumentInstance parameter instead of Document
    • The OnFinishLoading custom event now takes an integer parameter for the loaded save-file's ID
    • The "Menu: Set input box text" Action has been renamed to "Menu: Update content"
    • "Unity Navigation" pathfinding's "NavMesh segment" and "Static obstacle" prefabs are now deprecated, and have been removed from the Scene Manager
    • 2D Toolkit integration has been removed, following its deprecation

    Inventory

    • Added: "Inventory: Scene Item" Action - use to spawn an Inventory item's linked prefab into the scene, or take an object in the scene and add it to the Inventory
    • Added: Scene Item component - attach to a GameObject to create a link to an Inventory item instance
    • Added: OnContainerOpen and OnContainerClose custom events
    • Added: Ability to delete all items in the Inventory Manager at once
    • Added: Ability for the "Inventory: Check selected" Action to set an ActionList parameter to the currently-selected item
    • Changed: The 3D Demo now uses the "Inventory: Scene Item" Action to show the Sword item in the Player's hands during cutscenes
    • Fixed: Overriding an Inventory item instance's label not always being reflected in Hotspot labels
    • Fixed: Default Inventory items sometimes going to the wrong Player character even if "Non-default Player(s)?" is unchecked
    • Fixed: The "Prevent selection?" option in InventoryBox menu elements sometimes being ignored

    Characters

    • Added: The "Character: Hold object" Action is now compatible with 2D characters
    • Added: Ability for the "Character: Hold object" Action to drop the currently-held object, with an option to delete it
    • Added: OnCharacterHoldObject and OnCharacterDropObject custom events - called whenever a character holds or drops an object
    • Changed: 2D Toolkit integration has been removed, following its deprecation
    • Fixed: "Character: Animate" Actions sometimes not completing if multiple instances are run simultaneously

    Navigation

    • Added: Option to the NavMeshAgent Integration component to set the NavMeshAgent's avoidance priority based on the character's current speed
    • Added: Option to have characters starting at a random, closest, or specific node when using the "Character: Move along path" Action
    • Changed: "Unity Navigation" pathfinding's "NavMesh segment" and "Static obstacle" prefabs are now deprecated, and have been removed from the Scene Manager
    • Fixed: 2D pathfinding sometimes failing if there is an offset along the Z-axis

    Events

    • Added: Events Editor - use to run ActionLists automatically when a specific condition is met globally
    • Added: Event Runner component - use to run ActionLists automatically when a specific condition is met while active in the scene

    Documents

    • Added: Ability to assign textures to individual Document and Journal pages
    • Added: Document page textures can be overridden at runtime through script
    • Added: "Page Texture" option to the Graphic menu element's "Graphic type" property
    • Added: Ability to change the label colour of Documents that have been read in InventoryBox elements of the type "Collected Documents"
    • Added: OnDocumentAdd and OnDocumentRemove custom events - called when a Document is added to, or remove from, the Player's collection
    • Added: Documents and Objectives can now make use of categories defined in the Inventory Manager
    • Changed: The OnOpenDocument and OnCloseDocument custom events have been replaced with OnDocumentOpen and OnDocumentClose, which take a DocumentInstance parameter instead of Document

    Menus

    • Added: The "Menu: Update content" Action now supports translations
    • Added: The "Menu: Update content" Action now accepts parameters of the type Inventory Item and Document
    • Changed: The "Menu: Set input box text" Action has been renamed to "Menu: Update content" - use to update the text or graphic of Menu elements
    • Changed: The EventSystem prefab is now spawned at the start of AC's initialisation process
    • Fixed: Pause menus not always becoming directly-navigable if another is being navigated at the time it turns on
    • Fixed: OnMouseOverMenu event not firing when selecting Interaction elements with "For fixed icon?" unchecked
    • Fixed: OnMouseOverMenu event not firing when directly-navigating Unity UI-based SavesList, ProfilesList, Interaction and DialogList elements

    Input

    • Added: "Input: Simulate" Action - use to simulate the pressing of an AC-recognised button or axis
    • Added: Ability to interact with Hotspots when a touch is released when using Touch Screen input
    • Changed: The Settings Manager's Touch-screen input option "Activate Hotspots with double-tap?" has been replaced with "Hotspot input mode", allowing for more options
    • Fixed: Tapping two fingers on mobile devices to right-click Inventory items not working with Unity UI menus
    • Fixed: Draggables not responding to input when the "Drag threshold" slider value is non-zero

    Saving

    • Added: Most Remember components can now affect objects other than the one they are attached to
    • Added: Ability to configure the relative order in which Remember Transform components are loaded
    • Changed: The OnFinishLoading custom event now takes an integer parameter for the loaded save-file's ID

    Conversations

    • Fixed: Conversations not respecting a dialogue option's "When finished" option if the Conversation is not in the scene and no Interaction is assigned
    • Fixed: ActionLists sometimes causing incorrect variable values when skipped after running a Conversation

    Hotspots

    • Added: "Hotspot: Run interaction" Action - use to run a Hotspot interaction manually, optionally ignoring its "Player action" setting
    • Fixed: Draggable cameras still reacting to Hotspots even when the Interaction system is disabled
    • Fixed: The Hotspot script's GetMainIcon function being Editor-only

    Translations

    • Added: Ability to split text data into multiple sheets when exporting to SpreadsheetML
    • Fixed: Text import wizard's "Import As Original Text" option not updating Speech Timeline tracks

    Cameras

    • Added: Remember Game Camera 2D Drag component - attach to GameCamera 2D Drag objects to save their position
    • Fixed: 2D Camera positioning issue when no target is assigned, but a background constraint is applied

    Variables

    • Added: The "Variable: Set" and "Variable: Check" Actions now accept GameObject parameters when dealing with Component variables
    • Added: The "Variable: Set" Action's pre-processing of text tokens when setting String variables is now optional

    Misc

    • Added: "Physics: Raycast" Action - use to check the result of a 2D or 3D raycast, with the option to send the hit object and position to parameters
    • Added: Ability to configure the "Cursor Mode" used with Hardware cursor rendering
    • Added: The "Engine: Check platform" Action can now check if the game is running in the Unity Editor
    • Added: Ability to omit already-translated lines from the Speech Manager's Text export wizard
    • Added: Option to the "Engine: End game" Action to reset data, which affects variables, inventory and unopened scene data without affecting the current scene
    • Added: Ability to assign prefixes to speech audio and lipsync Addressable keys
    • Fixed: Objects spawned using the "Object: Add or remove" Action sometimes being added twice when its ActionList is skipped
    • Fixed: Object selection in the Editor sometimes overridden by the drag-and-drop system
  • Would it be possible to have the raycasts be shown as a gizmo in the scene view?

  • I'll see - agreed that'd be handy.

  • Great update Chris. Thanks for continuing to support AC.

  • Yeah, looking great. Thanks for this!

  • This update solved or streamlined so many things. Fantastic work, as always.

  • These are great! Thank you so much, Chris!

  • Version 1.78.2:

    • Added: "Objective" type to ActionList parameters
    • Added: Option to the PlayerInteraction component to always prevent camera-dragging while a Hotspot is selected
    • Changed: The PlayerMenus script's MakeUIInteractive and MakeUINonInteractive functions have been replaced with UpdateUIInteractability
    • Fixed: Save-game timestamps not being recorded if the "Time display" setting is set to "None"
    • Fixed: InventoryBox elements that list Documents not always updating Unity UI Button colours at the correct time
    • Fixed: Playback issues with Timers that are not linked to Global Variables
    • Fixed: Prevented the "Inventory/Add" event from running in reaction to the Player's initial inventory
    • Fixed: Unity UI-based menu selection issues with v1.78.1
    • Fixed: Issues with direct-navigation of duplicated UI Menus
    • Fixed: Certain inputs still being registered even when the Input system has been disabled

    Version 1.78.1:

    • Added: The "Physics: Raycast" Action now draws a debug line in the Scene window to represent the generated ray
    • Added: "Character / Point and click" event to the Events Editor
    • Added: Function to the Conversation component to manually un-mark a given dialogue option as having been chosen by the Player
    • Added: Option to the "Sound: Play one-shot" Action to play the audio from the scene's Default Sound
    • Fixed: Converting scened-based ActionLists to ActionList assets not always generating Constant ID values
    • Fixed: Graphic elements not displaying Document page textures correctly
    • Fixed: Unity UI-based Pause menus not always being directly-navigable when turned on using the "Menu: Change state" Action
    • Fixed: Interaction elements with "For fixed icon?" unchecked not highlighting correctly when using "Cycling Menu And Clicking Hotspot" interaction mode
    • Fixed: Game being placed in permanent "loading" mode if a save file's scene to load was not found
    • Fixed: Save-game labels not being correctly displayed in the Save-game file manager
    • Fixed: "Hide if no save file found?" option for SaveList elements not having an effect in AC-based Menus
    • Fixed: Remember Transform component not always applying data when "Save assets with Addressables?" is checked
    • Fixed: DialogueList element's "Already chosen" highlighted colour not always being applied to Unity UI-based menus
    • Fixed: Saving a new game with the "Save: Save or load" Action not always applying a custom label
  • Version 1.78.3:

    Upgrade notes

    • The OnBeforeChangeScene event is now triggered before scene data is saved
    • The "Turn instantly when under player control?" option has been replaced with a "Turning mode" dropdown

    • Added: Option for Direct-controlled Players to turn and move independently when changing direction

    • Added: Duplication options to the ActionList Editor window's context menu
    • Added: Ability to compress save-game data to reduce filesize
    • Changed: The OnBeforeChangeScene event is now triggered before scene data is saved
    • Changed: The "Turn instantly when under player control?" option has been replaced with a "Turning mode" dropdown
    • Fixed: Hotspot labels not appearing for Crafting menus since v1.78.0
    • Fixed: Performance issues when dealing with large numbers of save files in the Editor or Builds on standalone platforms
    • Fixed: Error when saving games in XML format
    • Fixed: "Inventory: Add" and "Inventory: Remove" events somtimes firing when they shouldn't
    • Fixed: QTEs sometimes failing automatically if run in succession
    • Fixed: Characters sometimes not following the scene's Default Sorting Map after loading
    • Fixed: Camera Fade tracks affecting the Main Camera at runtime when "Draw fade?" is unchecked
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.