Welcome to the Game Creator support forum!
This a place to ask questions, discuss ideas and report bugs. Please, provide your Unity and Game Creator versions as well as clear reproduction steps when opening a topic and full console logs.
Refund Requests will be removed. See our refund policy and send us an email if you think you have a valid claim.
I set out below the desired features of a new v2 Inventory Module OR an Advanced Inventory Module:-
- Customisable items at runtime which are loadable and saveable from Inventories (see below) or Containers;
- Items customisable at runtime in the following ways:-
- Socket Items and sockettable items;
- Multiple Socket item types;
- For example, gemstones, runestones, talismans etc
- Affixes (prefixes, generic affixes, suffixes); and
- Multiple Affix types (including substance item made from – metals, woods etc);
- Affixes effect customisable item name (save and loadable) – so a Sword could become a Holy Elven Rangers Steel Fire Sword of the Lion etc.;
- Enchantments and Upgrades.
- (a)-(f) effect rarity, price, buy price and sell price, item properties
- Multiple Inventories (not just one) for Player, Characters or Enemy Characters, NPCs, Monsters, Traders and Merchants;
- Multiple Currencies and conversion;
- Example – 10 bronze pieces = 1 silver piece, 10 silver pieces = 1 gold piece, 10 gold pieces = 1 mithril piece etc etc
- Craftable Items – from more than two other Items - and Recipes to allow for this;
- More than 32 Item Types and SubTypes or Categories and SubCategories – so perhaps based upon ScriptableObject ‘types’ – any number of which can apply to an item – and searchable and filterable by types and more than one type;
- Support for both Fixed Meshes and Skinned Meshes allowing/simplifying Character customisation at runtime; and
- Wizards/Editors to support all the same and creation of Items, Equippable Items, Currencies, Socket Types, Affix Types in Editor mode.
here are my thoughts about what Inventory 2.0 should handle:
- Hotbar/Quick Bar - It's either a quick access or the pockets of your character. I personally use this as where the player can activate a slot (equip an item) while when the inventory is equipped, you can't click to equip in the inventory.
- Number of slots available in the inventory - Basically a setting to state that the inventory has a base of XX slots (quite easy, it defines how many Slots are instantiated in the GridLayout on the canvas. And no, people don't like a weight system :D for the dev it involves always calculating and not forgetting. For the player it's just an annoying limit (which can be here anyway for RPGs!) - this point introduce the notion of: Inventory full
- Extensibility of the inventory size as mentionned in #1 - Quite basic too, imagine the player picking up a bigger bagpack that will raise the number of inventory slots by +XX
- Inventory organization - That is something I also implemented (#1 and #2) and I can share with you the code for that for inspiration. So it allows to move slots in the inventory or from the inventory to the hotbar and vice versa. it goes well with the hotbar concept. Imagine the hotbar having the slot 5 selected (that's your currently selected weapon for example). You can move you item from inventory slot 8 to hotbar slot 5: it will equip that item. move item from equipped slot in the hotbar to empty slot in inventory or hotbar: move the item and unequip. Move from slot to another slot that is already occupied by an item: swap their position. It basically stick the item to your mouse position and then decide on what to do when you click on another slot. It resets it to the original slot if you close the inventory or click outside of it.
- Items stats + custom fields - Be creative but give the dev the possibility to set additional fields for item stats (IE: int. +10 // Firepower: 500 for a gun)
- Tooltip - this is also extremely important for any rpg/survival game. Think World of Warcraft, Diablo, Divinity, literally any RPG around here
- Other way of equipping - An alternative option instead of left clicking an item to equip/consume, it could be a right click button that shows a context menu (useful if we use left click to re-organize items. But you could also have a little lock button in the inventory to allow re-organization of the inventory and keep the left click for consume)
- Stacking limit and allowing multiple stack of the same item: This is really important to have. Many many games have that. So it is simply to limit that for example the item Wood can only be stacked 10 times. if you have 10 woods in a slot and pick-up 1 more wood, it will occupy a second slot. It can trigger an inventory full message
- Containers: Same rules as inventory - Slots amount limitation, re-organization, stacking limit (should be on the item anyway), naming the container (so the player can have maybe a wood container, a rock container etc. It doesn't limit what kind of items you put in there (even though it could be interesting) but just a name for the player to see
- Containers owned by the player - To be fair I did not play with Containers yet but in case it is not how it is: some defined containers should the Player's inventory extension. So for other systems to look into the player inventory will check also the containers content (example in #11)
- Crafting evolved - Crafting should be kept simple but the option should be given to look up for more than 2 items to craft and this should be in an external GUI with blueprints possibility. Blue prints is for example a gray item in the Crafting UI, when you click on it you can see the requirements. The crafting system checks the player inventory (AND ITS CONTAINERS!!) and if the components are there, the crafting button is not greyed out for example
- On death prefab drop - simply a prefab item that the dev chose to have when the player dies. It basically drops the content of the inventory on the ground where player died and if the player pick-it up it restores the inventory (the container inventory is of course protected - think Minecraft
I'm sure I forgot things or will have other ideas, but here is my first version
In the inventory there is a display that shows what weight the player is already carrying. Unfortunately it is not possible to query this value with a condition.
I think that this is an important function that is currently missing in the Game Creator.
When adding or removing an item in the inventory, it should be possible to store this current weight value in a global variable.
It would also be useful to have a function to store an item in a Global Reference Variable. The same applies to the weight of the item.
This way you can check if the player has free capacity before recording individual items.
It would also be possible to build a trigger that would ask on every change of the global variable if or how fast a player can still move.
Furthermore, when collecting single items you could be asked if it is still possible to add them to your inventory.
For example, I use a target system that always shows me the next object in the vicinity of the player and visualizes this with a sprite ring. In addition, depending on the object, the player is shown a button that lets it interact with it. To open a container for every single stone or branch is not really useful.
Would it be possible to add these functions to the Game Creator?
I hope you won't feel offended by this question, but is there any deeper tutorial or documentation update coming soon regarding the Inventory module?
I tried to figure out how it works, I managed to do some basic stuff (add an item to the inventory, change the appearance of the default inventory...), but for the biggest part, I have no idea where I should find/modify/set up things. Kind of frustrating, 'cause I know it's a great and very powerful tool.
-I don't understand exactly how are connected the Inventory UI, the Item UI and the items themselves.
-I have issues when I want to display an item description on mouse over. Right now I managed to do that, but my description is too long and the font is too small. I would like the background image to fit automatically to the length of the text. So I've found this topic:
But when I put the Text description from the Item UI, ingame it's displaying the description of the preferences settings. At this moment, I was like: "I didn't get how this thing is working". ^^;
-Can I put a counter to some items (like medikit or bullets) but not to other items (like unique keys or unique quest items)?
Stuff like that. Can you help me? ^^;
Finally progressing enough to implement this Inventory module into my game!
Everything in this Inventory System works so well, really loving the RPG-Advanced inventory UI specifically!
But the problem is I'm making a platformer game that's controller-oriented.
Apparently I had assumed that because the Game Creator Character controller supported game pads the Inventory system would too but this was sadly not the case.
When I realized this Inventory didn't support it I was able to watch a few tutorials on how to enable a gamepad to work with unity UI and canvases, and it actually works pretty well once I add an "Event System" & "Standalone Input module" with a 'select ﬁrst' component into it and set the buttons to darken so you can tell when one is selected! I believe I'll also have similar luck when I do the same for the Merchant and Container windows.
The only problem that's stalling me is that I cannot drop items even with this method, as the only way to do that is click and drag one out of the item window. I guess I also miss out on combining too, but it's the same thing - it only works via clicking and dragging with a mouse.
I had an idea that maybe the easiest way to remedy this, would be that when you select & click on an item it could pop up a little window with options like:
• And if you use/drop something while standing within an object's collider it triggers the "item drop" trigger on it? This would make the 'click and drag' feature a nice shortcut rather than the only way to do it.
Maybe this extra options window would even be possible to make using the Module's built in Button
Actions component? Tinkering around now but not sure how to force the game to drop the item I've selected... Been several days now and so finally seeing if anyone has any ideas.
I feel like this inventory would be close to being gamepad-friendly if not for this one thing, is this possible?
This system will allow for an ARK like crafting system using GC items.
I'm going to make a Custom inspector for this system so it looks better, but it works 100%
so I thought I'd get it out there because I've noticed lots of people wanting this feature.
If the actual Devs want to use my code, or method in an update, that's perfectly fine. In fact, anyone feel free to expand on this idea, or make it cleaner looking. Just let me know so I can download it too haha.
Sorry for my toddler son yelling about his game in the background of the tutorial video, and lack of screen capture device, but it's a quick easy setup, so it should be fine.
I'd like to add this to the HUB, but I'm not sure how, Anyways, more GC hacks soon.
when clicking on "take all" in the container UI the player takes ALL the items regardless of the weight limit.
When clicking on "take all" in the container UI the player takes ALL the items regardless of the weight limit.
How can I limit the amount taken so it can not exceed the maximum weight, and what is left behind remains in the container?
So, I've noticed that the item description for an item does not seem to actually appear in the inventory window. I've checked using the adventure UI Skin and the RPG Advanced Skin just to be sure but unless I'm mistaken and have missed something it only seems to display the item description in the merchant/shop UI.
I'm wondering how difficult it would be to get it to show the item description when the mouse is over it, (similar to how the name pops up), as I think displaying item descriptions in the inventory screen is extremely important, especially for puzzle/mystery games.(ie a player may not understand that the weirdly shaped wooden object is a crank handle to use on a gate just by looking at the small icon, descriptions can be used to give hints as to its purpose) but as it is, it seems the only way to know what an item does is to hope you see it in a merchant screen or a storage container?
I tried to add the Item Description myself by experimenting a bit and copying over the game object of the item description from the merchant UI to the RPGItem Prefab and adding a component to have it activate on mouse highlight (just like the item name already does when you move the mouse over it). But it doesn't seem to be working, so now I'm wondering if maybe it isn't coded in to even display the item description at all? (I'm unfortunately not a coder and am just blindly trying to jam things together, so just guessing at why it doesn't work.)
As for how to make it fit in the inventory window, it fits quite nicely on the left of the Advanced RPG Skin without any changes at all (see the picture), but wouldn't be difficult to show on either top or bottom with a little resizing etc. Either way, the appearance isn't as important as getting it to appear at all.
So is it possible to show item descriptions in the inventory window?
Thank you in advance.
Under the Recipes tab if it displayed what the recipe created instead of or in addition to the requirements it would be helpful. Having to remember what each Item is created from or having to expand each tab can get frustrating when searching for a specific recipe to modify.
I am trying to make the menu support controller movement and I am having a few issues. When I click on the inventory with the the joystick button it adds it to the equipped item space however if I try to navigate to the Head Slot, Right and Left Slots it does not work with button input to remove the equipped item.
I added a button component to the slot but and tried to trigger to unequipped but it still seems to not work.
Is there a way you could make those slots selectable and able to remove also on a button press just like the mouse pointer ?
I hope that makes sense.
Customer support service by UserEcho