• We are looking for a content creator to help market our assets and a future unannounced project. More details are on this page.

questions about the integration

Marcus

New member
Hello, I'm new here obviously, I bought the TPC a couple weeks ago on a whim just to play around with it, the first day I was completely overwhelmed
with it, by the end of the week I had modified the hell out of it making it nearly completely unrecognizable. I was very quickly able to bring in my personal models, skinned mesh equipment and weapon models, animations and add attributes threw the attribute manager like stamina that effects many other abilities such as swinging a bat or running and many many other things. I'm a 3d artist and not a programmer but I can code a little and I can normally read threw code like on the TPC controller and figure out what its doing and modify it or make it do something little different.. I believe I touched on nearly every part of the character controller and had little to no real problem, this is a fantastic product and I'm gonna review it from my personal scope soon.
this brings me to the UIS, by chance about a week after I bought the TPC I got an email from unity, I clicked on it and it brought up Opsive UCC and UIS
and I seen UIS for the first time and realized that it was made by the same people.. I had a look and seen it said that an integration also made by Opsive was available and after watching the video for the UIS I bought it immediately. I had no plans to use UIS on its own for anything I was only interested in the integration with TPC, again I was overwhelmed but after a couple days messing around with it, I had figured out and had working nearly everything, I read threw the documentation I set the integration up, created the data base, added a weapon I can equip threw the UIS added a consumable item, added a skinned mesh equipment item that can be equipped and works, I played with changing the inventory layout and design and everything was going kinda great until I wanted to make an equipment item (in this case a Jacket) modify the TPC Attribute (in this case Health.MaxValue) when equipped and un-modify it when unequipped. Im the kinda person that doesn't ask for help often in life, I will fight push and pull until I figure out an issue, I had many issues with TPC and UIS, and I went to work to fix those issues by spending time in the documentation & watching the videos or looking threw the code literally whatever it takes. the both of these products have selling points that these can be used by non programmers in the case of the TPC, I agree 100% their is enough information (documentation and Videos) on nearly all the systems and features that you really should be able to work out most problems you come across
but the UIS not so much. lets take for instance, in the video for the UIS and the DEMO you can change stats when equipping gear, but in the integration this isn't touched on at all, and after searching I end up with statements from Opsive like, (the UIS is an inventory system and a Stat system is out of scope) I actually agree with that.. but here lies the issue, the video feels bit misleading when you show the system modifying stats which is whatever I guess, but as a artist, this Inventory system is completely useless to me, because in the scope of the integration I expected at the very least a working example of how to use the inventory and not just set up an item that changes the appearance of a character and nothing else. with just TPC I was able to get skinned mesh equipment working that when the character collided with the equipment he would put on automatically and that equipment could modify an attribute stat and un-modify when I put something else on.. with UIS I pick up the item in an inventory and I can equip it and it appears and works great, but I can not find any information anywhere about how I can get the item attributes values so I can apply them to another variable somewhere else in the code, I can't even figure out how I can even tell when that item is equipped / unequipped(outside the visual inventory icon) in code so as to know when or where I can inject my own code to change
other variables, I have tried using the itemActions themselves, I created new item actions just to see if I could change something like an TPC Attribute.MaxValue when equipping an item and I did get this to work but its a terrible solution that I believe just shouldn't be done. I am beyond stressed out with this problem, and the lack of a simple example I just can't work threw it.. I just want to be able to know two simple things, how can I tell when an item that is not a weapon (I understand how to use the shootable weapon binding and the item attributes to change things on the weapons) is equipped, what that code looks like and how to then get a Item Attribute from the UIS item.. a simple modify say the single attribute TPC comes with Health on equip and Unequip in the UIS, would go along way for me. I don't need or care about stats, if I can figure this out I can write my own stat system because Ill know how to effect them when I equip an item and be able to use the item attributes to set those values..


UCC has a great attribute system its very powerful easy to use and just plain cool, it just seems to me that the integration with UIS should have a example of at the least changing one attribute on equipp/unequip of one item so people like me have a way forward.

I'm so sorry for this post lol I think both of these products are ACES. truly cool engineering. I'm just frustrated.
Ive only ever bought art tools, like Gaia, I'm not making a game and I don't intend to try making a game, I'm just that guy
that makes alot of cool art and wanted to just play around with it with little more then what I get from modifying the unity character controllers
like I have done for years.. this problem of mine, I know Is a Me problem, you guys are good at what you do and you could do this with your eyes closed
but for me everything I do with code comes at a huge effort which is why TPC is so cool, I feel like I can make the controller do anything I want it to do.
 

Sangemdoko

Moderator
Staff member
Hi Marcus,

I'm glad you like UCC and UIS. I've noted your concerns and I'll see if we can simplify those things in the future. If you come accross some issues do not hesitate to write a forum post, we are happy to help.

As you mentioned the Inventory System does not come with a stat system. But there are a few ways you can get attribute values from items (and equipped items). We have a documenation page about using attribute as stats here :

As for knowing if an item is equipped or not, we simply check if the item is part of the specific itemCollection. You can have many item collections. One for your bag, equipment, weapons, pouch, etc... so simply checking does that collection contain that item, tells you if you have it equipped. Unique items can only part of a single item collection at a time. Here you can find some code examples about itemCollection:

I assume you've already read about the Equipper component for equipping clothes:

The Equipper component has a function for getting a sum of the equipped item attributes that have the same name, as mentioned in Item Stats.

So between the ItemBinding component which can be used on any component and the Equipper script. It should be possible to get the attribute values without to much complication.
For more advanced use cases you can get the attribute values directly in code using the "myItem.GetAttribute<Attribute<MyType>>(attributename)" function.
You can find some examples here:

If you think there is anything in the documenation or within UIS that we can improve do let us know and we'll do our best to add it
 

Marcus

New member
Hey Man Thanks for taking the time to respond to my bullshit.
I have wen't threw all of the links you supplied both before my Original post and again after your post.
I'm sure there is an answer located in all that information for Programmers, but I'm not a programmer, despite that I spent
days trying to work threw this problem and I'm just not having any luck with a solution. I have tried even to circumvent the entire
inventory items attributes completely and just use a script on the skinned mesh that changes the charattributes when the skinned mesh
becomes Enabled when the mesh is equipped and sets them back when they become unequipped by Ondisabled. (which works but isn't really what I want)
I've tried writing custom ItemActions to do this as well, I got this to kinda work but it was just a bad idea,
the issue I'm having is that for all this information, there lacks a working example, most of this code examples doesn't do anything, im sure in some context in some code somewhere when added correctly with the correct namespace and attached to the right object or whatever the case maybe, they all work. but that's only helpful if you already know what all those things are.. Most of the things concerning modifying a variable when something is equipped using the item variables does not have a working example.
for instance you said:
The Equipper component has a function for getting a sum of the equipped item attributes that have the same name, as mentioned in Item Stats.
and the documentation says pretty much the same thing, however the code supplied underlines that function in visual studio and says it doesn't exist in Equipper. now of course I open Equipper and have a look around that script and I find two functions similarly names
one that end with INT the other with Float but not the function referenced in the example code on the documentation page. this leads to frustration, because even if I figure out this problem this code still doesn't work, their are no mentions to the namespaces that are needed, what this code should be attached too, how it should be used or anything and by the time I work threw all this stuff I'm frustrated because it still doesn't work..
I rewrote this example and worked threw about 20 different issues until it would finally compile and it still doesn't work.. it doesn't error
there is seemingly no issue with any of it so far as visual studio is concerned or Unity but it doesn't do seemingly anything. and I know that its probably a ME problem but I just haven't been given the information, I'm having to guess.
generally im use to unity documentation where there is nearly always a working example with a explanation, I can copy the code if need be load it up in unity and run it and it works, I know then what it does and how it does it, I can play with the example change somethings and then when I feel like I understand it I will start using it in my own scripts.. I'm still working threw this documentation and I'm still trying to figure this out.. maybe I fucked up something somewhere else in my setup and that's causing this not to work
but I'm not getting any errors in unity and everything else seems to work fine, my skinned mesh appear and work when items are equipped my weapons appear and work as intended, their is an example for using shootable weapon binding so I understand how that's done and have no issues with it.. if I had confidence in the example code and I knew it should work, then I'd be probably trying to find the problem somewhere else, but since the example code doesn't actually work I'm assuming it was my implementation of that code is the reason it doesn't work lol

this is the only issue I have had with UIS TPC and the integration, literally I have touched on everything else and am able to do everything with the supplied documentation.. but I'm not sure if im gonna be able to figure this out..

cheers
 

Marcus

New member
Jeez man, I'm sorry about this huge shit wall of poor grammar and English, and I hope I don't sound like I'm trying to say this
is a problem with your products or anything like that, I know this is a problem with how much I know about programming and believe me
when I say I have been studying the documentation, and using every resource at my disposal to figure this out. I learn faster when I see something work, I am a visual sorta person, I'm an artist. I can most of time figure out what a script is doing and sometimes its over my head. I think I did pretty well with UIS and TPC and the integration, I was able to figure out nearly everything and I didn't have to ask anyone for anything. That's the way I prefer it, but there is no working example here, I tried many different ways to do this but I just don't know enough to do it the right way, and I have no idea what the right way is.. I'd very much like to know and I'm gonna keep hacking at it
maybe I figure it out, I'm just playing with this stuff for fun, its not the end of the world if I don't but I'm obsessive compulsive, so I have a hard time just walking away from something..
 

Sangemdoko

Moderator
Staff member
and the documentation says pretty much the same thing, however the code supplied underlines that function in visual studio and says it doesn't exist in Equipper. now of course I open Equipper and have a look around that script and I find two functions similarly names
one that end with INT the other with Float but not the function referenced in the example code on the documentation page. this leads to frustration,
Thank you for pointing that out it seems the code example in the documentation was out of date.

If you want to find a working example of this you can have a look at the "CharacterStats" class in the "Opsive.UltimateInventorySystem.Demo.CharacterControl" namespace.

When writing code the namespaces should be added automatically by the IDE (vistal Studio) when pressing Alt+Enter (the short cut might be different depending on the system) on the part that is complaining about a missing namespace.

If I understand correctly you want to get the sum of the attribute values, something like this:
Code:
/// <summary>
/// Get the Equipment stats by retrieving the total value of the attribute.
/// </summary>
/// <param name="attributeName">The attribute name.</param>
/// <returns>The total amount for the attribute.</returns>
public virtual int GetEquipmentStatInt(string attributeName)
{
    return (int)GetEquipmentStatFloat(attributeName);
}
/// <summary>
/// Get the Equipment stats by retrieving the total value of the attribute.
/// </summary>
/// <param name="attributeName">The attribute name.</param>
/// <returns>The total amount for the attribute.</returns>
public virtual float GetEquipmentStatFloat(string attributeName)
{
    var stat = 0f;
    for (int i = 0; i < m_Slots.Length; i++) {
        if (m_Slots[i].ItemObject == null) { continue; }
        var item = m_Slots[i].ItemObject.Item;
        if (item.TryGetAttributeValue<int>(attributeName, out var intAttributeValue)) {
            stat += intAttributeValue;
        }
        if (item.TryGetAttributeValue<float>(attributeName, out var floatAttributeValue)) {
            stat += floatAttributeValue;
        }
    }
    return stat;
}

I have to make a new update today. So I'll add a shortcut for this, I think your frustration clearly shows that something is missing.

I've added a new class called "AttributeUtility" in the "Opsive.UltimateInventorySystem.Utility" namespace. Please find it attached bellow while you wait for the update. Here is an Example on how it can be used:
C#:
var attributeName = "MyStat";
// Get the inventory reference.
var inventory = InventorySystemManager.GetInventoryIdentifier(1).Inventory;
var itemCollection = inventory.GetItemCollection("MyItemCollection");

// The AttributeUtility.GetFloatSum can take any list or readoonly list of item, itemDefinition, itemInfo, itemStack. so it is quite versatile.
var statSum = AttributeUtility.GetFloatSum(attributeName, itemCollection.GetAllItemStacks());


I'm also adding it built in the itemCollection:
Code:
var statSum = itemCollection.GetFloatSum(attributeName);
But you will need to wait until the update comes out for that or you can add those two functions in ItemCollection script:
Code:
/// <summary>
/// Get the sum of the attributes as an integer. Includes Int and Float attribute values.
/// </summary>
/// <param name="attributeName">The attribute name.</param>
/// <returns>Returns the sum of the attribute values with the attribute name.</returns>
public virtual float GetFloatSum(string attributeName)
{
    return AttributeUtility.GetFloatSum(attributeName, GetAllItemStacks());
}

/// <summary>
/// Get the sum of the attributes as an float. Includes Int and Float attribute values.
/// </summary>
/// <param name="attributeName">The attribute name.</param>
/// <returns>Returns the sum of the attribute values with the attribute name.</returns>
public virtual int GetIntSum(string attributeName)
{
    return AttributeUtility.GetIntSum(attributeName, GetAllItemStacks());
}


This way you can very easily get the sum of the attribute as a float or int. I really hope that solves the frustration you had with UIS. Let me know if there is anything else I can do. If this solves it I'll update the documentation and prepare to upload the update
 

Attachments

  • AttributeUtility.cs
    11.7 KB · Views: 2

Marcus

New member
This all looks great, I loaded an earlier version from my svn repo yesterday of my project before I integrated UIS, and am currently working threw resetting everything up, this time with out the extensive moding of both the character controller or UIS, just using what it comes with and not changing anything from the instructions.. I kinda feel like maybe I made some mistake and that mistake maybe what's causing things not to work as expected. So as a last resort, this was the only option left.

I should have everything running sometime tonight and Ill be messing with the new stuff above
(which all looks great) Thanks alot man, I'm not likely to bother you guys anymore with this either way. I feel like an idiot because I'm having issues here to begin with.
 

Sangemdoko

Moderator
Staff member
No worries I'm happy to help. And knowing where the frustration points are is very useful to us such that we know what to work on and how to make our assets better
 

Marcus

New member
AttributeUtIlity.cs where does that script go in the unity project folder? and is there anything else that needs to be updated for it to work?
 

Marcus

New member
I guess im missing something, I went back to the documentation and tried the updated code there, which wasn't far off from the script I had written trying to get it to work originally, but its like the Eventlistener never detects when anything is "equipped" and it never seems to update stats, exactly like before, it did have some compile errors but I worked those out and even when comparing to the DEMO script that does the samething, it looks good but the demo has some event names in a script that are referenced and there are some differences in the two examples.
I then messed around with the first example you typed on your second reply, it has some errors right off in the loop.. m_Slots.Length maybe if I remember right isn't defined and I don't know what its supposed to reference to begin with so.. I then added the new AttributeUtility.cs script and also added the two functions supplied to inventory.cs (if memory serves) and after playing around with the file location, I was again able to get everything to compile and I thought it would work, but it didn't, 8 hours of rewriting code in every possible way I could think of I still wasn't able to retrieve an attribute from the Armor Equipped item collection.. or threw the Equipper.. I spent sometime looking threw the DEMO stuff and really its a stupid cool system, but this kinda ruins it for me, I have never really been at a point where I couldn't get something to work and I don't generally get stressed out over my hobbies.. I took sometime to do something else and so I played around with the TPC for awhile and God it feels so nice to have so much information about that system, like there are video on just about everything you would want, I was able to make a couple new simple Abilities in a hour, largely in part of the video explaining how to make new abilities, the state system is amazing and while I still suffer threw the coding its so much easier to start from working examples of everything.. UIS and integration is like half as good, it has videos explaining alot of very simple things to figure out, alot of which I just figured out on my own.. integration videos show you how to set up UIS and a few things that are important to know, but then stops completely on showing you how to actually use the attributes on the items accept for a special use case with shootable weapon binding and attack dmg, no example on how to access those attributes by code or any other way really and not really any good examples, documentation is full of var this or var that, which im not all that familiar with and its hard to know what "var" is alot of times for me.. is it a int is it an object is it a string.. sometimes is it all 3 fuck idk lol, I couldn't care about a stat system.. I just want to be able to increase or decrease my own variables when things are equipped and unequipped.. I'd also like to be able to get total attribute values off all items in the inventory not just the equipped attribute totals.
when I first set down to do this, I thought it would be straight forward to do these two things.. I couldn't even get a change in a variable by using the item binding script and binding the attribute to a variable in a quick script I wrote just to see if I could get that to work.. I gotta about 40 hours of my life into this at this point and I have never felt more like an idiot lol. I'm definitely no programmer, but I almost always work out whatever I was trying to do.. even in this case I worked out a solution, I just don't want to bypass the UIS system and have to manage each equip-able item on its own. I think the UIS system is brilliant and easy to setup and easy to create items and manage attributes, item actions are cool and fairly straight forward to code, plenty of examples of ItemActions that work so its not hard to study that and I wrote a couple of those that I think are pretty cool.. (simple stuff like playing a sound effect and having a status bar while using an item to restore health or whatever)
but my brick wall here is actually using the damn Item Attributes for anything at all is just, man.............
 

Sangemdoko

Moderator
Staff member
I'm sorry to hear you are still having issues with getting the item attributes.
When you are having issues it would help if you could show me your code, your setup of the item attributes, some screenshots, or better even a video of you explaining how you've set things up, what results you were expecting and what you got instead (you can use streamable.com to share videos).

You mentioned how you are missing a working example on how to get/set attributes, or get the sum of attributes. So I will add a Feature scene specifically to help with this in the next update, I hope that helps out.
It will contain a heavily commented and working example script on how to get, set attribute and sums. And the scene will have some buttons and input fields to play around with. We're hoping to get that update out very soon hopefully as soon as I finish making that feature scene
 

Marcus

New member
Hey Man sorry about the late response, I seen and read this post in my email while at work and first off thanks for taking the time to reply.
I understand the benefit to posting a video of my problem and showing screen shots etc of what I'm having issues with, in this case, I didn't see much need to do all those things because I basically had the default setup for UIS/TPC a couple simple items that were also basic with no deviation from the tutorial stuff, literally the only scripts I added where scripts you linked here and copy paste of the examples in documentation and this post, and the only thing I really did to any of that stuff was fix a couple simple compile errors if memory serves.. so I kinda felt like it would be redundant to post videos or screenshots of pretty much the exact information that's here, since there wasn't any compile errors or any other useful information to gleam from that, now after that stuff failed to work for me, I then rewrote that code a 100x in a desperate "Lets just see, if I can get it to do anything" attempt, but that code I couldn't get to work either and was just me trying different stuff (most of which I didn't expect to work to begin with). I learn best like this most of the time.. It's helpful when like with the TPC, lets say Abilities, there is a video of how to program new abilities, with that video and the already really large list of abilities that come with TPC, I watched the video, and then I tried writing some simple stuff of my own, and when I ran into problems, I was able to go threw other existing working Abilities that maybe did something similar and see how it works and playing around with it to figure out how to make my own stuff work.. basically I learn by just taking something and playing around with and seeing what I can get it to do.. I feel like if there was already something in place here I would had easily worked threw things, but maybe not.. UIS is bloody AWESOME
in fact these two assets are crazy powerful solid systems (TPC & UIS) but they are also among the most complicating assets I have personally every worked with.. the code written here is very different then what I'm used to, its probably because you guys are real professionals and your really good at what you do..
Me though I'm an Artist, who can program not much at all, now I have written simple plugins for Blender or Photoshop and written alot of much simpler code in unity over the years and even the code I have written for TPC and UIS that works looks childish compared to the complex code you guys have written, its comical sometimes to see something I edited or changed in one of your scripts lol..
I'm simpler minded in this aspect, getting these attributes totals from the main inventory and the Equipped or Armor Equipped inventories is too complex for me..
from my perspective, I'd want a way to in the item category to "mark" any attribute that I created in an Item category or Item definition to always be calculated as a total on change, both in the Main inventory or Equipped & Armor Equipped (which could also have a inspector check box on the inventories that could be selected to also include inventory attribute calculations for that specific inventory) and then added to say a global read only variable (use a singleton to make the variables global for each attribute)

Code:
public class PersistentAttributeManagerScript : MonoBehaviour
{
  public static PersistentAttributeManagerScript Instance { get; private set; }

    // List of every attribute "Marked in Item editor to be added here" on any item total from Main inventory
    public int ExampleItemAttributeTotalValue;
    public float ExampleItemAttributeTotalValue1;
    public int ExampleItemAttributeTotalValue2;
   etc
  
    // List of every attribute "Marked in Item inspector to be added here" any item total from ArmorEquipped inventory
    public int ExampleItemAttributeTotalValue;
    public float ExampleItemAttributeTotalValue1;
    public int ExampleItemAttributeTotalValue2;
    etc

    // List of every attribute "Marked in Item inspector to be added here" any item total from Equipped inventory
    public int ExampleItemAttributeTotalValue;
    public float ExampleItemAttributeTotalValue1;
    public int ExampleItemAttributeTotalValue2;
   etc

    private void Awake()
    {
        if (Instance == null)
        {
            Instance = this;
            DontDestroyOnLoad(gameObject);
        }
        else
        {
            Destroy(gameObject);
        }
then I could access individual attribute totals from specific inventory something like this from anywhere in my own code, which makes it so I don't have to modify anything in UIS directly but still gives me the information I want.

Code:
MyStat += PersistentAttributeManagerScript.Instance.ExampleItemAttributeTotalValue;
MyStat2 += PersistentAttributeManagerScript.Instance.ExampleItemAttributeTotalValue1;
etc etc

This is extremely stupid to you guys I'm sure.. for a whole lot of reasons I probably don't understand, I'm not saying this is a solution, that you should do this or that this is even a good idea or something you should consider, you guys are the masters /bow

what I am trying to say or show, is that some manor to achieve something like this (attributes in different inventories being auto calculated totals, and those totals being really simple to get and set to other scripts/variables for people who aren't the best coders would go along way to making UIS more friendly to the none programers, and also allow for us to get these totals with out having to modify any of the original UIS code ( which is something I like about TPC with abilities) I can write a whole new ability with out worrying im gonna fuck something up..
so far my experience with UIS has been fantastic, I can create an inventory, items, skin-able mesh item equipment, weapons, usable items, add attributes, variations & UI with out any coding. the only hiccup I have ran into is in getting and using the attributes..
(well I also have some issues with limiting inventory slot amount, which I did do but that opens a whole lot of problems in TPC/UIS integration when unequipping items when the inventory is full and such, but im working threw those things on my own so far) anyway whatever lol

for me those new examples and such sound amazing and I can't wait to watch/read and see how it works, I been playing with rendertotexture
and showing the player model in the ui, which has been fun and then I decided to change UIS drastically and made it a 3d world space canvas and then basically reworked how the whole thing looks and works, and made some awesome effects and functions in 3d Space, which look amazing.. and then I had some new ideas for how to use UIS to make other kinds of Systems not in UIS, I was able to make this really neat "Perk" System using UIS where you can Select "Perks" in this awesome looking 3d canvas.. its hard to explain but its basically UIS inventory with "Perks" that are just Items that aren't gameplay items like equipment and don't show up in the inventory, and they can be equipped, behind the scenes its just UIS but you can't tell its an inventory or that the perks are items, because I built some custom canvas &itemViews, its awesome..
I then extended on this idea to make a status effect system that shows mood icons on the HUD which apply some effects to the player.. I am having some issue with this one, because I need to equip certain Status mood icons(items) with code when certain conditions are met.. but god UIS has so much potential to create awesome shit.. when I finish up these systems ill show them off, I don't think most people understand what all you can do with UIS if you think outside the box a little.. (I am going to build a skill system as well, once I can get the attributes, and totals )I was gonna copy the SkyRim Skill tree where you look up at the constellations in the stars and select skills, So much stuff I managed to do with it with very limited and basic programming.. (Yeah Ill copy Skyrim for learning project, I'm not making a game its all just for fun so don't care)
anyway sorry about the rant as always

cheers
 
Last edited by a moderator:

Sangemdoko

Moderator
Staff member
(I've added you code snippets into code brackets. Next time make sure to use them it make it easier to read)

Having persistant attributes sums is something that could be done, but I don't feel like it is necessary or that it will make things easier. The latest update to UIS contains the code improvement I told you about last time. You can read more about it here:

I think that should be simple enough for anyone to use. And of course there is the new feature scene you can have a look at for a wroking example that you can have fun tweaking to learn.

I'm really glad you enjoy using UIS and find the attribute system to be useful for much more than just items. I really enjoy it when people show me things they made with UIS that I didn't even think of as a use case.
 

Marcus

New member
oh sorry about the code, I just typed it out not thinking much about it.. let me ask this thing.. with the update to UIS, How can I go about updating UIS / TPC with the integration, I mean Can I do that with out completely breaking TPC integration? I'm gonna try regardless when I get a chance but it would be nice to know if there are any considerations or if it simply won't work before I start..

thanks..
 

Marcus

New member
also at first I was just playing around with UIS by adding a perk / status effect system with UIS because I have created those systems before
and while they aren't that difficult to do I thought this was kinda a novelty... but after making animated mood icons and for status effects and having these really awesome specific items/itemviews for perk system.. I can see a real benefit to managing all this information in the UIS editor..
you can add, update or even have varying versions of perks or status effects, all by simply having a new item type and a separate inventory for these status effects and perks, then adding them all to that players separate hidden inventory (which they can't see or access, and then equipping them threw code to custom views, even in 3d world space if you wanted and perks would have there own UI screen and essentially just have custom cool itemViews to make it look like it should.. all in all in my experience as it is, I think I'm gonna handle these types of systems
in UIS, one system to rule them all.. oh wait,. different thing, but you get the idea.. why use a bunch of different systems doesn't make much since to me imo..
 

Sangemdoko

Moderator
Staff member
I'm glad UIS will be your tool of choice for most of your systems :)

When updating any of the Opsive assets it is usually recommended to first make a backup of your project (that's true for any asset for that matter).
Then delete the entire Opsive folder and make sure to download the latest version of all assets and integrations. Then reimport them again one by one.
This is the safest way to update. Of course you can always try to simply update UIS and if something breaks then you can remove the Opsive folder and start reimporting everything.
Of course that means that any changes made to the source code will be overriden. So it is always better for you to create new scripts which inherits the UIS/UCC classes and keep them outside the Opsive folder rather then changing the source code directly
 

Marcus

New member
Dude, I updated everything and found the new Demos, and while I haven't had any time yet to play with any of it, I did read threw the code,

// DO NOT do:
//attack += equipmentAttackSum;
// as explained above this can cause issues over time.
LoL I kinda feel like this might had been aimed at me, I wouldn't actually do that lol it was just a quick example lol

anyway this stuff is awesome, I already learned so much, and I think I already spotted my error in the code I wrote before..
anyway looking for to really digging into this in a couple hours and seeing just how much new shit I can make my other systems do
with this new information..

Thanks Man....
 
Top