Go, Go, Godot!
  • 0

Inventory System v1.14 available

July 4, 2024

A new version of the Inventory System is available with more multiplayer-related features. The Multiplayer Interaction Demo can now run in multiple modes, through two separate implementations of the Character scene: The simple character scene leverages the MultiplayerSynchronizer and can either let the client have authority and move the character, or have the client send inputs to the server, which then applies the movement logic server-side. A separate netfox character scene leverages the netfox addon to implement client-side prediction and server reconciliation.

Features:

  • Added a “drop all items” to the GGInventoryUI toolbar.
  • Added a GGAccessTestPolicy to the access manager for delay and failure testing of policies.
  • Added crafting to the main tour
  • Added crafting recipe collection
  • Added MyMultiplayerSpawner, which reads scenes from a directory to populate its auto spawn list
  • Added hotbar access policy
  • Hotbar tracks item when its moved around in the inventory
  • The GGInventory’s items_changed signal now supports batching
  • The GGInventory’s swap_items() method now atomic/emits a single items_changed signal
  • Added reusable MyItemDropHandler to drop items near character within configurable distance
  • Multiplayer Interaction demo inventory uses per-item audio bindings
  • Multiplayer Interaction demo character now includes two versions; A “simple” version, and a “netfox” version for client-side prediction.
  • Added Multiplayer Lobby demo; similar to the Multiplayer Interaction demo, but uses WebRTC with a lobby server that allows clients to join via lobby code.
  • Added window management examples to main tour
  • Added link to multiplayer lobby demo to main tour for web build
  • The main tour theme selector now uses the resource name as the theme name
  • Multiplayer interaction demo character can equip tools and weapons, with hotbar integration
  • Weapon types and item serialization enhancements

Bug fixes:

  • The inventory controller default action strategy handles touchscreen double-tap as double-click
  • Camera callback in physics process for smoother ux
  • Correction to sequencer action strategy method name
  • Correctly apply inventory search filter to inventory UI
  • Crafting component gdmaim enum compatibility
  • Disable project allow_hidpi and remove tour autoscaling via content_scale_factor due to issue with Godot’s drag-and-drop handling
  • Don’t export GGItemData active property
  • Don’t show sequencer’s save button on web
  • Adjust drag-and-drop order of operations to batch items_changed correctly
  • Drop filtered items compatibility with allow_gaps set to false
  • Enable access manager’s open access policy delay timer
  • Ensure GGInventorySlotItemUI follows theme variant naming convention
  • Proper GGInventoryUI slot_scene handling when in list view
  • Inventory UI’s grid and list view allow for grid columns configuration
  • Correct architecture guide references to demos
  • Hide sort menu’s clip_text at label breakpoint
  • Inventory expirations updates item quantity via LUT
  • Fix for simple inventory UI support
  • Inventory transfer stacking strategy batches items_changed so items can unequip correctly during transfer
  • Inventory UI passes slot_scene to controller even when outside tree
  • Larger Multiplayer Interaction demo character client scope shape to avoid Godot 4.2.2 MultiplayerSpawner’s visibility regression issue
  • Main menu eats/handles inputs when visible
  • MDI Game UI allows interactions while inventory is open
  • Correct minimum inventory browse and transfer UI sizes
  • Correction to main tour overlay layer
  • Prevent dropping items from multiplayer interaction demo loot bag
  • Properly clean up access manager’s pending contexts
  • React to hotbar actions when button is released
  • SDI Game UI inventory browse UI focus handling
  • SDI Inventory transfer UI handles input events while open
  • SessionManager only reacts to server-side join/leave signals
  • Show WebRTC warning when in web mode
  • Open window with noopener option on web to preview separate Godot instance smashing ArrayBufferView
  • Splitting inventory items fills slots to the left, if the right side is full
  • Splitting items resets the TTL to item type expiration

The Inventory System Deep Dive and Architecture Guide helps game developers implement advanced multiplayer inventories using Godot Engine. The PDF Guide contains over 500 pages of code walkthroughs, diagrams, and explains concepts related to inventories, items, and more.

Get It Now
Learn More

assetgdscriptgodottutorial
Posted in Godot.
Share
PreviousInventory System v1.15 available
NextInventory System v1.13 available

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Related Posts

  • August 1, 2022

    Running Godot Games on Steam Deck

    Right after I got my Steam Deck, I wanted to know how hard it is to get a Godot game running on it. What’s the developer experience for someone who’s stepping through this for the first time? It was really easy to do, so I’m sharing this here, whether you’re following along or like to …

  • September 29, 2022

    Audio Manager to handle the loading of sound effects in bulk

    Years ago I purchased a game dev bundle on HumbleBundle. Part of that was a sound library called Pro Sound Collection. It’s pretty comprehensive, whether RPG or FPS, there are sounds for a ton of use cases. I might as well use them for something. Luckily for me, the sound collection is pretty well organized. …

  • January 30, 2024

    Inventory System v1.1 available

    Hot on the heels of 1.0, version 1.1 allows for gaps in the inventory. This release also correctly bakes the release version into the PDF Guide.

  • Strings
    December 17, 2022

    When not all strings are Strings. Detect bugs in your GDscript more easily with static typing

    One of the benefits of working with Godot Engine is that GDScript allows one to operate high level. GDScript is dynamically typed, so not even variable types have to be specified, but I would strongly recommend using static typing wherever possible. It can help with performance but primarily adds clarity when trying to follow the …

    © 2026 GoGoGodot.io. All rights reserved.