Patch Notes - v1.7
June 2025 - v1.7.0 (CURRENT)
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
AK UI System Updated to V1.0.2 (APK V1.6.0)
Roadmap images for WIP previews
Created new Inventory layout for improved coherence
Added new backing images for each button
Each button - On Click - AKUIManager - Method to open UI
Create new main container holder for UI
Added the flashlight system UI to the new invenotry
Added fuse system UI to the new inventory
Added the Gas Mask System UI to the new inventory
Merged seperate UI managers into this script
Chess Puzzle System to V1.2.0 (APK 1.6.0)
Created brand new ScriptableObjects for all fuses
Create prefabs for all chess fuses
Renamed all chess piece icon sprites
Reimport the fuse boxes and reset everything up
Change "Chess puzzle system" so you can right click to exit inventory
Rotation of fuses based on Fabios email suggestion hint
Renamed "ChessPowerManager" to "CPPowerManager"
Refactored this script to remove hard coded sections
Created a new "CPUIManager"
Add Chess Puzzle to new Inventory Canvas
Make sure chess puzzle left icon is linked and opens multiple
Created new remove button and linked to UI manager
When enabling inventory without opening fuse box, make sure can't interact with fuse icon
Highlight on UI icons buttons?
Remove fuse error when using it without placing first
Added new namespace: AdventurePuzzleKit.ChessSystem
Only be able to close UI with right click if it's already open
Valve System to V1.1 (APK 1.6.0)
Added new ScriptableObjects for each Valve
Added UI icons for Valves
Added Valves, textures and models
Created a new wheel and slot with collectables
Remove Sprite circle & Rectangle?
Created a "Valve Collectable" script
Created "Valve Inventory" script
Removed opening inventory
Created "Valve UI Manager"
Created "Valve Slot" script
Check input for checking the slot?
Created "Valve Wheel Interactable"
Check inputs for turning the wheel
Edited "AKItem" script to incorporate the new valve system
Added this script to each interactable item
Created a new set of Valve pickups for: Red, Green, Black & Blue
Edited the AKUIManager for taking the valve into account
Added new namespace AdventurePuzzleKit.ValveSystem
Themed Key System to V1.3.0 (APK 1.6.0)
Created Scriptable Objects for Keys
Renamed Sprite Key Icons
Renamed "ThemedKeyController" to "TKKeyCollectable"
Refactored this script, added a script to KeyPickup
Renamed "ThemedKeyItemController" to "TKItem"
Refactored this script and refined the item
Renamed "ThemedKeyDoorController" to "TKDoorInteractable"
Refactored this script
Renamed "ThemedKeyInventoryManager" to "TKInventory"
Refactored this script
Check all the scripts and remove commented lines
Created key silhouette white icon
Added new container and button command for the inventory to show the container
Added generic door controller for this ssytem instead of it's own
Changed namespace to: AdventurePuzzleKit.ThemedKey
Merged TKUIManager into AKUIManager for ease of use
Examine System to V1.5.0 (APK 1.6.0)
Renamed "ExamineItemController" to "ExaminableItem"
Added new rotation speed & invert rotation selections
Refactored the script and added new tooltips
Added a drop sound option to the sound
Changed disabled for inspect points in the "DropObject" method
Removed line: "raycasterManager.doOnce = false"
Decoupled UI elements from this script
Renamed the "ExamineUIController" to "ExamineUIManager"
Merged all UI functionality to this script
Added new methods for setting and replacing UI names
Created new custom editor script for "ExaminableItem"
Added new header foldout groups for Text settings to make customisation easier
Added a text box for item descriptions for easier usage
Generator Item: Make sure floating UI disappear when examining
Finalise Examine System Demo Objects
Added brand new animated box example
Rename examine UI Manager and all the elements?
Changed inputs:
Left Click: Interact
Right Click: Rotate
Middle Mouse: Drop the item
Added new namespace to all scripts: AdventurePuzzleKit.ExamineSystem
Added cooldown for next enabled inspect point
Add a smooth lerp to picking up and dropping objects
Reset current zoom levels when dropping objects
Namespace changed to: AdventurePuzzleKit.ExamineSystem
Note System to V1.6.0 (APK 1.6.0)
Renamed "NoteController" to "NoteTypeSelector"
Basic Note Updates:
Refactored "BasicNoteUIManager" script to keep all UI calls together
Refactored entire "BasicNoteController"
Refactored entire "BasicReverseNoteController"
Refactored entire "CustomNoteController"
Refactored and renamed "CustomReverseNoteController"
Decoupled all UI calls into the UI Manager script
Created a custom editor script for BasicNote
Created a custom editor for the BasicReverseNote
Created a custom editor for the CustomNote
Created a custom editor for the CustomReverseNote
ExamineUIController.InteractionNameMainUI.SetActive(false); - All Scripts
Make sure trigger note scripts have everything connected
Put methods onto new lines of UI Managers
Generator System to V1.3.0 (APK 1.6.0)
Added the audio to the audio manager
Changed "ActivateGeneratorScript" to "ActivateGenerator"
Added new custom light, emission and activations
Created a new GeneratorUIManager
Renamed "GeneratorItemController" to "GeneratorItem"
Edited AKItem to add "ShowObjectStats with true / false"
Creating a custom editor script for the "GeneratorItem"
Created custom editor titles and sorted the script
Edited the world space popout UI's for easier viewing
Updated AKInventory for collecting Jerrycan
Removed public variables from Generator Inventory / Item / UI Manager
Add script line to top of custom editor script
Edited AKUIManager script to throw up error if UI canvas isn't added
Updated collecting jerry can functionality to increase inventory fuel
New namespace to all generator scripts: AdventurePuzzleKit.GeneratorSystem
Refactored Generator Inventory script for easier usage
Gas Mask System to V1.3.0 (APK 1.6.0)
Added a brand new high quality PBR Gas mask to the system - Scaled and ready
Renamed "GasMaskItemController" to "GasMaskItem"
Renamed "GasMaskHealthController" to "GasMaskHealthManager"
Refactored health manager for ease of use
Created a brand new "GasMaskUIManager" to separate logic from other controllers
Moved generic Gas Mask UI to the new Inventory Canvas for V1.6
Fixerd an issue where breathing after a one breath when equipped
Picking up second gas mask resets health?
Refactored GasDamage script to remove references to the controller without any need for it
Refactored the GasMaskController script and split into seperate methods for easier usage
Add UI Manager for GasMask to AKUIManager
Flashlight System to V1.6.0
Refactored entire Flashlight Controller script
Added new reference to having the option to have a flashlight on start
Added an option to show and hide the flashlight inventory if you wish
Decoupled references to UI when "Show Flashlight" disabled
Refined controller into methods to simplify "PlayerInput" section
Created a brand new FlashlightUIManager to keep all UI section separate
Updated UI naming and optimisations
Renamed FlashlightItemController to FlashlightItem
AK Radial UI - Remove public reference
Check Public fields inside UI Manager for disabling inventory view
Check entire system, see if it's working?
Better placement of flashlight UI? Where should this go?
Stop flashlight ticking down during inventory viewing?
Moved all flashlight objects and components to a central location
Change name of flashlight UI manager, canvas variable
Added new namespace to system: AdventurePuzzleKit.FlashlightSystem
Created base class for FlashlightItem and FlashlightTrigger so fields can be shared
Also created custom editor for ease of use for disabling battery field when selecting a flashlight item
FlashlightMovement: Now reduces .transform calls
Removed the need for the FlashlightUIManager and merged into AKUIManager for ease of use
Flashlight radial UI now has a duplicate circular background for the UI
Safe System to V1.2.0 (APK 1.6.0)
Added all SO sound effects to the Audio Manager
Removed additional handle spin ScriptableObject
Updated Trigger Script
Renamed "SafeItemController" to "SafeItem" for consistency
Created brand new "SafeUIManager" script to control UI's in one place rather than on each object
Refactored the "SafeController" script for ease of use and split audio effects into seperate class
Removed redundant reuse of 3 UI variables that shared logic
Added new customisation and layout for demo scene objects
Added an "isInteracting" boolean to make sure right click interaction didn't happen outside of the system usage
Added new namespace: AdventurePuzzleKit.SafeSystem
Made big improvements to performance of SafeUIManager and SafeController. Simplfying both scripts, removing redundant code and making it cleaner to read.
Fuse Box System to V1.2.0 (APK 1.6.0)
Renamed "FuseItemController" script to "FuseItem"
Refactored this script
Added introduction of ScriptableObjects to the "FuseItem" script
Renamed "FuseboxInventoryManager" to "FuseInventory"
Added public property for optimisation of public fields
Create new Fuse Icon / Sprite
Add sound effect SO for door
Migrated fuse UI to the AKInventory
Restructed the UI elements and removed redundant parts
Refactored "FuseboxController" script
Make fuse icon slightly smaller?
Make fuse icon highlight on UI when collected?
Make sure Door Controller is added to this
Added new namespace: AdventurePuzzleKit.FuseSystem
Added Fuse UI elements to AKUIManager isntead of FuseInventory
Padlock System to V1.4.0 (APK V1.6.0)
Added sound effect SO to the AKAudioManager
Refactored "PadlockDoorAnimation" example script with new comments
Refactored "PadlockController" to add new refinements and easier viewing
Renamed "PadlockItemController" to "PadlockItem"
Renamed "SpinnerScript" to "PadlockNumberSelector"
Refactored this script to remove redundant lines of code
Highlighted numbers on the brass padlock, as it's easily identified in all lighting conditions
Added the Door Controller to this system
Added new namespace: AdventurePuzzleKit.PadlockSystem
Final Optimisations: PadlockTrigger, PadlockItem, PadlockController, PadlockNumberSelector
Created brand new functionality to instantiate padlocks when needed, removing the need to have physical models parented to the camera. Making management much easier.
Added brand new method to detect combination spinners, instead of using "OnMouseDown", it uses IPointerClickEnter and requires an eventsystem, physics raycaster on the main camera and a layer on the spinners called "PadlockSpinner"
Lever System to V1.1.0 (APK V1.6.0)
Removed the "LeverController" script and merged with "LeverItem" script
Renamed "LeverItemController" to "LeverItem"
Refactored "LeverSystemController"
Renamed all models, textures and materials
Added a new "ActivateLights" script and PBR standing lamps as an example
Added new namespace: AdventurePuzzleKit.LeverSystem
Final Optimisations: LeverItem, LeverSystemController
Keypad System to V1.3.0 (APK V1.6.0)
Renamed "KeypadItemController" to "KeypadItem"
Refactored and combined "KeypadController" and "KeypadKeyController"
Created a new "KeypadUIManager" to unify all three keypad canvases
Change public variables inside "KeypadController"
Added events to each valid code that can be used
Changed all layout and designs for demo scene
Final Optimisations: KeypadTrigger, KeypadItem, KeypadController
Added new namespace: AdventurePuzzleKit.KeypadSystem
Add new keypad dropkey to inputs
Phone System to V1.2.0 (APK V1.6.0)
Renamed "PhoneItemController" to "PhoneItem"
Refactored and combined "PhoneController" and "PhoneKeyController"
Created a new "PhoneUIManager" to unify all these phone keypads
Created brand new demo scene interactions
Change public variables inside "PhoneController"
Fully Optimised & Refactored: Phone Trigger, PhoneItem, PhoneController, PhoneUIManager, PhoneController
Added new namespace: AdventurePuzzleKit.PhoneSystem
Created new drop keycode for phone system
Last updated