JCInventory, Grid based jigsaw Inventory for your projects

@Rotru I agree that would be really cool! On my next development day i will check out the scope of adding some kind of scripting to the text field similar to this forum or basic HTML. I’m not sure how changeable UMG is in this way, but i will find out and report back!

@Sitrec I indtend to spend one more full wenesday on feature development and then i will be sending it off to epic for QA! So soon i expect.

**@AlexW88 **Thank you for your kind words and some fantastic suggestions, the good news is some of that is already supported! However features are only as good as there documentation and my recording skills are not totally up to par. i intend to get my hands on a much better mic for recording. However some of those features are too project specific and i would rather show tutorial videos then add features to the system, that way the user has the power to extend the system rather then being stuck on what i determine is the one and only way an inventory should work. For example, it is very easy to set up a way to make a container burn and do something to all the items just by making a function that iterates over the array of items and i would be very interested in making that tutorial.

Bags within the inventory, or multi inventories (e.g. multiple bags) is currently supported! I have experimented with this and it is working! As for a quickbar specifically, I think this would be the next logical big feature. I’m not sure i have the time to develop this in this iteration of the system however.
I will also be releasing a tutorial to show how to add a weight system as well as a value system to the inventory. As you pointed out it will bloat the system somewhat, so i think telling the user how to do it very easily helps more as it enables them to add other variables that perhaps i have not thought of!

That is something to think about. My feelings towards code snippets for projects is that i don’t feel right designing more then the structure and teaching the user to build from there, rather then just building lots of systems and having checkboxes for turning them off and on. The reason for this is in my previous experience with using third party systems is that you will need to modify it to tailor your game, no matter what; There are just so many unique and subjective opinions when it comes to inventory systems!
As said before, this could be used as a starting point and well laid out structure for development or even a learning resource. I’m quite happy to show tutorials on how to achive more advanced effects but its one of those situations where there are too many subjective factors to please everyone. If i come up with a way that makes sense to make an advanced system then perhaps i would develop it, but i just want the system to be as clear and unbloated as possible for now. Anyway these are my feelings for better or for worse and id like to know if you all agree or disagree and why.

I will be making videos in this priority order:

  • How to set up JcInventory into your project.
  • Setting up a Item Container in your project.
  • How to add weight or value to objects. Show basic encumbrance system.
  • Multibag set up and feature show off

Sweeet! Looking forward to it going live!

I have good news, the Multibag process has been moved from a clever hack into** official support** and easy to implement. Backpack containers and Items now have there own base class to work out of the box. This was nessesary as well to stop exploits like backpacks inside backpacks creating the tardis and summoning daleks. I’m really happy with how it turned out!

Additionally, the get the system work work dynamically i added the new feature ‘Tags’ into items, so now you can have two identical items be treated the same in the inventory but have different results because of there tags. In my own game i am using the tag system to make keys work on different doors and it is working very well! Tags move to the Actors Tag when there in 3D space, and into the ItemTag Array of the ItemData when there inside the inventory, so there always easy to access.

I have also added a Function Library of helper functions to deal with the structs, making the entire code base a lot cleaner to read! The codes ability to read has moved to my top priority now, equal to documentation.

@Rotru I also looked into the scope of your colored text for attributes suggestion, as much as i would like this feature is is outside of the possibilities of blueprint. The only way to implement something like this would be to add an array of strings with a color value to display on the description in a list, perhaps this would work but will not give the flexibility i had imagined in my mind and will be more frustrating for content creators. I will do some tests and see how we go!

Ah ok, I guess I can build something on my own. But yeah I assumed it’d have to be managed in arrays anyways. I’d think most people using this would be at least that advanced. As long as some kind of item listing support w/ dynamic variables would be great, creating random loot seems kinda dumb if your loot can’t show on popup what that random value o.O

thanks for the reply, looking forward to this! :slight_smile:

@Rotru Yeah it would not be too hard to implement, but right now im focused on getting it onto the marketplace. I intend to do a video of adding attributes to item (value, weight, +str etc) and i will incorporate it into that! Sometimes it can be hard to modify large third party code without help so i want to provide as much support as i can. UMG makes most things like this pretty simple mind you!

Tutorial !

https://.youtube.com/watch?v=Ofrvs6KLeG0&feature=youtu.be
New Tutorial for Multibag/Backpack system as well as tag system posted on YouTube!

Do you have a marketplace release date?

an action bar would be great with this inventory

Hey all, is a updated features video.

Check it out!

Is there any specific reason this isn’t on the marketplace yet?

@aWinter There’s a few elements to the process i’m afraid aWinter. Working with epic as fast as i can. Had some strange issues when i was packing the files for the market place but that’s all in the past now.

I had some files corrupt and had to do a rollback (bless source control) and redesign the tag and backpack system,
however this gave way to some new thinking about implementation creating a New feature, or rather an extension of the tag system. Instead of an array of Names for persistent data now there is a struct called Attributes.

How does Attributes work?
The default values in the struct are Tags (works like old tags), Value, Weight- however this can be extended to whatever you like. For instance in my own game i have a nested Struct called Statmod, and it holds a few Ints that represent character attribute points (CRPG style) and how it modify the characters strength, dex, con etc whenever you equip the item. Whats good about having this system inside the attributes struct is it is persistent to that instanced item rather then the items class,

Example
So- i can generate a dagger from my dagger class, but i can randomly assign its attributes when it is spawned effectively creating a random loot system. I’m really excited about the potential for this, and i think a system like this could tie in really well with what Rotru was suggesting before.

Just wanted to share this implementation into my own game i’m working on (dodgy alpha warning!)

https://.youtube.com/watch?v=753Z2VAGGbk

This uses the ***attributes ***system to hold damage types and 3 ints, Intelligence, dex and strength. In my game these don’t do anything yet, but i have plugged in functionality for damage resistance. Remember, because i used attributes, these values could be generated at run time for a Diablo style random item effect.

is a image to show how i extended attributes to handle custom attributes in my game.

whenever an item is added or removed from the system it recalculates all the equipped items total modifiers,
For example it adds all the +ints on each item and comes up with 7,
then it adds that to the characters base int (4) so int 11 = 7 + 4!

JCInventory can set something like this up with ease without having to access any of the core modules! I’m hoping once it is published i can do tutorials that cover things like this with good depth!~

when is this released?

I want that. NOW. This is what i searched for so long! Im definit going to purchase.

Same, if Epic ever decide to put it up on the marketplace. These submission times are taking way to long.

It is a long process but i can understand the need for it (lets not go into it as this forum is about this system not that one!).
I will say that i’m itching to add features but cant because its been submitted. (thus showing some implementation stuff in this forum instead)

Thanks for the kind words everyone. Epic has just got backed to me today and asked me to make the drag and drop widgets scale to there size better, its my opinion the inbuilt drag and drop system is not up to the job so i’m going to implement a solution i made some time ago to fix drag and drops problems. You might be able to see in the video that drag and drops scale can be somewhat different to the item size?

This will ***fix issues such as drag and drop ***not functioning in full screen, scale will be 100% accurate, should work somewhat quicker.
All of these things are good, but because i intended this as a learning resource and a base point for everyone i wanted to use the drag and drop system so the code is clean and everyone can relate with the feature. Hopefully to some this will be good news, I know some people have asked me to support full screen drag and drop in the past.

The method i will use will be quick to implement as i will still use the ‘payload’ system. When making a payload i will move a canvas slot on tick/on mouse move to the mouse location, thus replicating the visual aid of drag and drop but still using its data moving and event handling properties. I use this method in my own projects from time to time and it does in fact work better then drag and drop.

can you make an action bar with this inventory ? i think almost everyone would want one

I never asked for this… thx .

I PM’d but no response. I would like to buy a copy.

In the end i did not go with a different drag and drop solution after speaking to the community. I’m happy with this choice as it keeps the project much cleaner and that’s very important! I fixed the scale issue as well and made the entire system feel better. Submitted to Epic last Sunday :slight_smile:

Hey Xter,
Very glad you would like to use this system! All the information regarding this system would be better kept in the forum so that others can benefit.
Its really uplifting to be contacted via PM to buy the system before it is on the market place, but i think the process of working with epic to get it on the market place will benefit the project and i want to make sure it is 100% for your projects! As as i have said to to other people in PM’s please be patient! I’m sure Epic are working as fast as possible but good curation takes time. Good polish always needs testers and after making the changes that epic requested i think the system is a lot cleaner to use.