We’re excited about this release, which includes a range of quality-of-life additions and refinements. Drag-and-drop support has been improved with a second strategy: Click-and-release: Simply clicking (and releasing) an item will pick it up. This leverages Godot’s force-drag functionality and approximates the drag-and-drop behavior that games like Valheim and Palworld use in their inventory items. Switching between click-and-release and click-and-hold strategies is possible by configuring the GGInventoryUI with the respective strategy resource.
New features:
The Window Manager and Inventory UI demos now allow switching focus via controller
Focus switching now sorts dialog (from left to right), greatly improving the user experience.
Added the click-and-release drag-and-drop strategy.
Added Interaction demo with inventory item transfers.
The Inventory UI demo toolbar now uses an item collection to configure the SimpleItemGiver’s items.
And of course, lots of bug fixes:
Add missing drag_item to project input map
Allow dropping items into list item container
Container drag signal handled in the inventory controller
The refined Inventory UI demo defines item collections
The inventory manager (window manager demo) sets inventory UI’s action and drag-and-drop strategy
The InventoryUI demo reuses the ItemUseDebugger.
Corrected the GGInventoryUI scene mouse_filter configuration
The multiplayer demo uses the inventory controller for local inventory state
Renamed the default action strategy’s move_item action to drag_item.
Correction to the sequencer demo action strategy’s focus handling
Set missing transfer and drag-and-drop strategies for various demos
The stacking strategy uses multiplayer-friendly items_changed callback
Inventory transfer button quantity correction
WebSocket demo action and drag-and-drop strategy correction
Workaround for Array.map() incompatibility with Array[int].
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.
For some reason, my Godot game would no longer launch on the Steam Deck. I could hear it running as if it were running in the background, but the screen kept showing the Steam Deck’s UI. Since it’s all Linux I figured it should be possible to just drop to the command line and launch …
Per feedback, we’ve exposed more inventory user interface component signals to make it easier to react to slot/item interactions with custom logic. New features: In addition, these bug fixes are included:
I had a setup with nested CanvasLayer nodes. Toggling the visibility of the root CanvasLayer doesn’t hide any nested CanvasLayer nodes. My solution was to listen to the visibility_changed signal, find any CanvasLayer child nodes, and apply the same visibility to them.
Creating network connections with Godot is simple — as long as you have the other party’s IP address, and there’s no NAT gateway involved. Unfortunately, that’s exactly the problem in most cases. You don’t know the other party’s IP, and these days, just about everyone is behind a combination wifi router/gateway/firewall with NAT. Conceptually, NAT …
Inventory System v1.10 available
We’re excited about this release, which includes a range of quality-of-life additions and refinements. Drag-and-drop support has been improved with a second strategy: Click-and-release: Simply clicking (and releasing) an item will pick it up. This leverages Godot’s force-drag functionality and approximates the drag-and-drop behavior that games like Valheim and Palworld use in their inventory items. Switching between click-and-release and click-and-hold strategies is possible by configuring the GGInventoryUI with the respective strategy resource.
New features:
And of course, lots of bug fixes:
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.
Related Posts
Launching Godot Games on Steam Deck from the command line via Remote Shell
For some reason, my Godot game would no longer launch on the Steam Deck. I could hear it running as if it were running in the background, but the screen kept showing the Steam Deck’s UI. Since it’s all Linux I figured it should be possible to just drop to the command line and launch …
Inventory System v1.6 available
Per feedback, we’ve exposed more inventory user interface component signals to make it easier to react to slot/item interactions with custom logic. New features: In addition, these bug fixes are included:
Toggling Visibility of Nested CanvasLayers
I had a setup with nested CanvasLayer nodes. Toggling the visibility of the root CanvasLayer doesn’t hide any nested CanvasLayer nodes. My solution was to listen to the visibility_changed signal, find any CanvasLayer child nodes, and apply the same visibility to them.
Creating a UDP peer-to-peer connection
Creating network connections with Godot is simple — as long as you have the other party’s IP address, and there’s no NAT gateway involved. Unfortunately, that’s exactly the problem in most cases. You don’t know the other party’s IP, and these days, just about everyone is behind a combination wifi router/gateway/firewall with NAT. Conceptually, NAT …