Adventure Puzzle Kit - V1.6 - Documentation
  • APK - V1.6: Introduction
  • ⭐Getting Started
    • Quick Setup
    • Setting Up Interactive Objects
    • Tag & Layer Reference
  • 🏔️URP Setup
    • URP Setup
    • Deferred Rendering?
  • HDRP Setup
    • HDRP Setup
  • 🛡️System Breakdowns
    • AK Inventory Canvas
    • Door System
    • Keypad & Phone
    • Note & Letter
    • Themed Key
    • Generator
    • Gas Mask
    • Flashlight
    • Examine
    • Padlock
    • Chess
    • Lever
    • Valve
    • Fuse
    • Safe
  • ⏭️Extending
    • System Inputs
    • Name / Emission Highlighting
    • System Namespace
    • Adding a Trigger Event
    • Adding Audioclips
      • Audio Effect Volume
    • Swapping Character Controllers
  • ❓Support
    • FAQ
    • Examine Issues?
    • Post Processing Errors
    • Examine Text Missing?
    • Tooltip Manager
    • Yellow Warnings?
    • Item Pickup Range
    • Animation Rotations
    • I can't see new fields / variables?
  • 🌀Development
    • Patch Notes - V1.6
    • Roadmap
  • 📧Contact Me
    • Contact Me
    • Request A Feature
    • My Other Assets
Powered by GitBook
On this page
  1. Development

Roadmap

PreviousPatch Notes - V1.6NextContact Me

Last updated 8 days ago

CURRENTLY WORKING ON: Last Updated 22-May-25

  • Add separate .unitypackages for each pipelines to make installation easier

  • Test each pipeline against documentation

  • Create brand new trailer:

Coming April 2025 - V1.7.0 (IN DEVELOPMENT)

  • Added brand new persistence bool to all managers so you can specify if you want to keep managers / singletons between scenes

  • Added null checks for Examine, Flashlight, Keypad, Phone, Fuse box, Safe System, Valve System

  • Added isPlaying & FadeOut to audio manager for easier usage for system

  • Added scriptableobject creation in Menu: APK > Create > ScriptableObject

  • New folder structure for all systems assets in the Project tab

  • Added new Door Objects to the demo scene

*NEW v1.7* Keycard System

  • Added brand new system that allows players to pickup keycards to open specific door scanners

  • Two scanner examples: Generic and Sci-Fi

  • Custom sound effects added to the system

  • Custom events can be used to do interactions for each keycard instance

  • Added UI elements to inventory system

*NEW v1.7* Code Driven & Animation Door System

  • Added new door controller for code driven rotation logic whilst keeping animation options

  • Added a unified door controller

  • Added new interactive door option for the object itself

  • Added new red button model with PBR textures

*NEW v1.7* Inventory Re-design and layout

  • Added new layout for the inventory system with new upper and lower boxes

  • Added new spacing for collectables and multi use collectables

*NEW v1.7* AKPromptManager

  • Added a way to pre-warm prompt pool by changing PrewarmPromptPool(); and initialPromptPoolSize

  • Created a brand new prompt manager to control prompts that will appear during each system usage

  • You can now set specific lower section prompts for each system

*NEW v1.7* FPS Controller & New Functionality

  • Added new camera zoom script to aid looking at smaller objects called AKCameraZoom

    • Camera zoom is disabled in disable manager and within it's own script based on GameState script

  • Added newer FPS Controller called AKFPSController

    • Added basic movement, camera rotation and old input system

    • Character controller now has normalized movement to stop a speed boost when pressing two buttons at once

    • Added canMove & canRotate as a way to disable camera and/or player movement

      • Added SetPlayerDisableMode method so this could be used in other scripts for better understanding

    • Added jumping functionality for more realism

      • Added jumping sound logic and only jumps when in the air

    • Added sprinting functionality

    • Added SetMovementSpeed method so we can change movement speeds more easily and disable crouching if movement speed is too slow

    • Added footstep functionality when both sprinting and walking

      • Fixed an issue where footsteps were still playing when walking and then entering inventory

    • Added crouching functionality

      • Limited player movement speed when crouching

      • Added Ctrl key to make crouch happen

Main System Re-write:

  • Basic item collectable interactions use an Interface so an event driven approach for all inputs, making systems work more fluidly, when not looking

  • AKInteractor now handles all basic input logic for looking, button pressing, holding and item name highlighting

  • AKItem is now re-written to use an Interface so it can all be event driven

  • Added brand new GameState global script to manage when you're inside invenntory, examining or otherwise. So you can easily negate certain systems and stop unwanted interactions

  • Created new AKMasterTrigger to be used across all systems rather than seperate scripts which share similar logic

AudioManager

  • Created brand new custom inspector so all sound Scriptables can be categorised

  • Added a refresh button for the new layout to make sure tracks will always show if added recently and needs a manual refresh

  • Created brand new category in Sound ScriptableObject so all systems could be organised

  • Added new options in the inspector for adding a sound to the array or creating some with a button press for easier creation

  • Added a button to the top of the inspector to show default inspector incase the user needs to access the original array fields

Disable Manager

  • Removed all references to third person controller

  • Added functionality for disabling mouse cursor

  • Added new tips with custom inspector, added nullref checks to help with setup issues on start and optimised the main script with less redundancy

AKUIManager

  • Changed AKUIManagerEditor to have dropdowns rather than tickboxes

  • Created custom editing variables for examine and pickup prompt buttons

  • Added customisation for button prompts on highlighting

    • Made sure name highlight scales with text for proper background resizing

  • Renamed Adventure Kit Canvas to InventoryContainer to match with new inventory container naming

AKItem:

  • Added Interact Prompt to system so the user can choose that instead of pickup or use a combination, this allows for customisation in the UI manager

  • Added warning message in custom editor for telling the user when ticking "Show Examine Prompt" that an ExaminableItem script should be on the object

  • You can now choose whether to have prompts for examining, picking up or just showing the object name

  • Added emission highlight to this script from the examine system

  • Emission highlighting now automatically works for child gameobjects with mesh renderers

  • Added custom editor note for empty parent and child types

Padlock System

  • Removed and deleted PadlockTrigger scripts and can now use generic AKMasterTrigger scripts

  • PadlockController now references the AKMasterTrigger rather than PadlockTrigger script

  • Renamed all elements in the demo scene are consistent conventions and added new text to doorways

  • Removed Interactable and AKItem script from interactle padlock when using trigger

Note System

  • Added TMP integration to note controllers

  • Updated custom editors for text settings to HeaderFoldoutGroups

  • Converted all UI elements to TMP and updated all UI managers

  • Removed NoteTrigger scripts and replaced with AKMasterTrigger

Chess System

  • Updated all scripts from CP to Chess - So all scripts having better naming conventions

Lever System

  • Created a custom editor for LeverItem to remove the sound option for fuse box item

Generator System

  • Adjusted all popup UI's to use TMP rather than the legacy UI system

  • Added new audio effects to the system

    • Added brand new looped generator filling audio

    • Added brand new jerrycan pickup audio

  • Changed UI design for generator inventory to be more professional and en keeping with other assets

  • GeneratorItem script Improvements:

    • Fuel barrel can now be set to unlimited usage

    • Made sure collected Jerrycan updates inventory fuel as it didn't work as intended

    • Added brand new functionality for being able to turn the generator on and off on the keypress

    • Added a new audio for looping and sound pouring

    • Added functionality to fill the generator over-time using a long keypress

      • Added new fillrate field for customisation

Gas Mask System:

  • Updated GMHealthManager to match v1.4 of the single asset which includes new optimisations, new ways to control health and split into helpeful methods for more consistency

  • Added checks for when the inventory is open to stop filter from falling and health from fading

  • Renamed Visor UI to "UI - Gas Mask Visor Overlay" for more consistency

  • Added null checks for all Gas Mask UI and other UI manager related elements

  • Added functionality to reference new FPSController rather than old one

  • Renamed all Gas Mask related inventory elements

  • Convert all text UI elements to TMP

    • Edited the AKUIManager to reference this change for TMP

Themed Key System:

  • Added null checks for all UI elements

Valve / Pipe System:

  • Added null checks for all UI elements, including arrays

  • Renaming ValveSliderContainerUI to best match other elements of the system

  • Removed the CanvasGroup from the progress container and optimised the code to disable the object rather than using the group

Safe System

  • Removed SafeTrigger script and the system now uses AKMasterTrigger

  • Fixed an issue where safe UI numbers didn't update on the next tumbler press (Visual bug rather than anything that stopped the system working effectively)

  • Created brand new single colliders around the skeleton of the safe, so interactions for items can be used within the safe (When opened) - Large colliders won't get in the way

  • Created new input name to SafeCloseKey and added to input manager script

  • Rename Safe Model reference in Safe Controller / Trigger to Safe Interaction

  • Remove collider from Safe - Model and added to Safe - Door

  • Renamed all UI elements to be consistent with other systems

    • Updated all UI elements to TMP

  • Created a new parent for Safe UI for easier disabling

Fuse Box System

  • Created a custom editor for fuseItem to remove the sound option for fuse box item

  • Added null checks to UIManager script to avoid missing reference issues

  • Converted UI elements to TMP

Keypad System

  • Updated Keyboard Sci-Fi UI elements to TMP

  • Updated Keypad Sci-Fi elements to TMP

  • Updated Keypad modern UI elements to TMP

    • Renamed all UI elements and organised for better debugging

  • Updated UI manager to reflect TMP additions

    • Added null checks for all fields related to keypad system

  • Removed KeypadTrigger script to be replaced with AKMasterTrigger

Phone System

  • Updated Mobile phone UI elements to TMP

  • Updated Payphone UI elements to TMP

  • Updated Office phone UI elements to TMP

    • Renamed all UI elements and organised those for better usage

  • Updated UI manager to reflect TMP additions

    • Added null checks for all fields related to phone system for easier debugging

Flashlight System

  • Removed the FlashlightBaseClass script as it wasn't relevant

    • Refined all logic into the FlashlightItem script

  • Removed the custom editor and now allows a certain amount of batteries to be collected on flashlight pickup

  • Added a new check within the update method to check the GameState to see if the player would be busy, interacting, examining or in the inventory and stop the flashlight battery from decreasing

  • Added "Should persist" option to the flashlight controller, so user can choose whether this should be destroyed between scenes

  • Converted Flashlight battery parent UI text to TMP

  • Removed some raycast targets on the UI to avoid interaction issues

  • You may pick up multiple batteries initially if the flashlight controller has more than 0 Battery Count at the start. Fix this by adding 0 to this field

  • Fixed an issue where the flashlight wouldn't appear in the inventory even if the HasFlashlight bool was checked

  • Added null checks for UI manager

Examine System

  • Added global static for isExamining so we can turn off raycast and stop unwanted interactions

  • Added new HasChildObjects boolean to specify if the parent object has children that need to be rendered when examining. As empty parents don't need layers changing.

  • Removed all highlighting logic and emission logic from this script and moved to the AKItem & AKUIManager

  • Added E to collect to AKPromptManager based on examinableItem script

  • Fixed an issue where inspect points could be interacted with from behind the object

  • Edited Basic & Right Sided Examine UI

    • Expanded parent UI element for better usage

    • Recreated all text elements to TMP

    • Renamed all elements

    • Added TMP to Empty Close Button UI elements

    • Renamed and TMP added to Examine Help Panel UI elements

  • Changed the UI Manager now references the TMP type text

    • Fixed all font style issues when converting to TMP

    • Changed Interaction naming to Highlight name for name highlight system

    • Added UI debugs to UI manager for examine system

APK Support Hub Fixes

  • Rewritten APK hub description

  • Added Write Review button and re-arranged button layout

  • Updated header image for V1.7

  • Added a new Dont Open Automatically check box so user can choose to stop this opening automatically but still open via Window > Adventure Kit Support Hub

Documentation Updates

  • Which UI objects need to be disabled by default at start for all systems

    • AK - Phone Canvases

      • All individual canvases needs to be disabled by default

  • Made UI elements child of UI manager for singleton purposes

  • Online documentation saved to PDF for included docs?

  • Mention about if text is missing, add font from "Additional Packages" (Backup font)

  • Mention all global states: isExamining (ExaminableItem)

  • In Introduction Online Doc page: Include table of contents

  • Strip out included documentation

  • Mention new FadeOut for audio manager as seen in GeneratorItem

  • Add page about key buttons, inputs and presses

  • Add more details to where inputs are located in each script

  • Mention AKMasterTrigger to replace all other triggers, may need to mention in individual assets

  • Mention new FPSController

  • Mention new AKCameraZoom

  • Mention how GameState works

  • Add page about PromptSystem and how to:

    • Register prompts

    • How to create them in the AKPromptManager

    • How to clear prompts

  • Mention how DisableManager works

    • About the GameState

  • Examine System

    • Mention scroll delta for item zooming about input

  • Gas Mask System

    • Mention about setting player speeds using my new controller

    • Also mention using another character controller

  • Safe System

    • Mention that if you rename any objects (Door / Handle) this will cause animations to be lost on the models

    • Mention about spawning objects and the events that you can create including the changing of colliders

    • Mention Safe Model has animations

    • Mention Model has AKItem & others

      • Also mention that in the opening event, we disable main collider and enable full body colliders

  • Inventory Canvas UI - OFF

    • UI_Left_ButtonContainer - ON

      • All items inside - OFF

V1.8 Update List:

Modularity and event update

  • Make sure system is more modular and easier to use for decoupled with events

  • Have temporary icons appears (Like in inventory) that flash up to show an item is being used - Like jerry can filling or flashlight being enabled or disabled

New Additions:

  • Door Interaction Kit

System Updates

  • Note System:

    • Update Note System to v2.0

    • Add custom inventory with selector tab

  • Update all relevant systems to work with new inventory system

Input System:

  • Add functionality for new input system (Create tutorial in documentation and mention in description)

Recreate Third Person Controller functionality:

  • Make sure this scene uses the newer Unity TPS controller

Inventory System:

  • Brand new inventory system with 2 tiered functionality

    • Add title and description in a space relevant for each object in inventory

    • Make sure all collectable items use ScriptableObjects for collecting

  • JSON save system

Fixes / Updates:

  • Combine keypad & phone system together

🌀
Example