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 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
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.
A new version of the Inventory System is available. This version requires Godot Engine 4.3 and includes many refinements. New Drag and Drop system The Drag-and-Drop component has received a major overhaul. The previous system was quite complex and the separation of the classes that implemented the click-and-drag and click-and-release approaches had so much overlap …
Any sufficiently large code base needs documentation. Documentation tends to come in all sorts of shapes and sizes. Among them are high-level architecture and design docs, class and method interface documentation, and inline comments to explain optimized or complex algorithms so the reader doesn’t have to parse the logic in their head (often, this is …
New to Godot Engine? Want to get started creating awesome games quickly? Just use AI! AI learns (is trained) from online content (which is a whole separate topic). As a result, the quality of the answers the AI provides is based on the volume and variety of content available to learn from. Since Godot is …
Inventory System v1.14 available
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:
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
Inventory System v1.16 available
A new version of the Inventory System is available. This version requires Godot Engine 4.3 and includes many refinements. New Drag and Drop system The Drag-and-Drop component has received a major overhaul. The previous system was quite complex and the separation of the classes that implemented the click-and-drag and click-and-release approaches had so much overlap …
Generating documentation for GDScript
Any sufficiently large code base needs documentation. Documentation tends to come in all sorts of shapes and sizes. Among them are high-level architecture and design docs, class and method interface documentation, and inline comments to explain optimized or complex algorithms so the reader doesn’t have to parse the logic in their head (often, this is …
Creating games with Godot Engine using AI
New to Godot Engine? Want to get started creating awesome games quickly? Just use AI! AI learns (is trained) from online content (which is a whole separate topic). As a result, the quality of the answers the AI provides is based on the volume and variety of content available to learn from. Since Godot is …
Inventory System v1.2 available
A few new features: Bug fixes: