UFPS Integration Troubles

BrettL

Member
Hi, I recently purchased Ultimate Inventory System (UIS) after seeing that it integrates with Ultimate First Person Shooter (UFPS), which I already owned. As I understand it, UFPS is basically a type of Ultimate Character Controller. I had an earlier version of UFPS, so I had to update, but I now have version 2.4.4 of UFPS and version and 1.2.4 of UIS. I followed the recommended steps for this update, such as deleting the old UFPS folder and Asset store cache. However, I'm still encountering several issues when running the demo scene from the integration.

When I run the integration demo scene I see the error:
Error: The item 1 Body (869584078) || ItemCollection is NULL || ItemStack is NULL has a "Prefab" attribute which is null or is missing the Item component.
Assets/Opsive/UltimateCharacterController/Integrations/UltimateInventorySystem/Scripts/BridgeEquippableProcessing.cs:191

I'm not sure if this is related to some issue with the update/installation process, or if there's something that I need to do in the UFPS or UIS manager as part of the setup process, or if it's an actual bug. Here are several other issues I've experienced with the demo scene that may shed light on things:

When I duel wield the pistols, I see 3 arms. When I press the "i" key, the inventory flashes on then off, so I can only keep it open by clicking the "Main Menu" button. In the inventory UI screen, the character's head and arms are not showing.

Hopefully all of these issues are related to a few key mistakes that I made. Has anyone else had luck with the UFPS UIS integration demo scene? I'm wondering if any of the assets I created with the old version of UFPS could be having some residual impact on the new version, like prefabs using the old "nolan" or camera. I would be really disappointed if these bugs were the actual expected behavior of the integration.

Thanks in advance for your help!
 
Any errors that you get will likely have residual effects so it's best to first fix the error and then see if there are any other issues.

With your first error, UFPS does not have melee weapons and so it looks like there is an error with the body item type that is not included in UFPS. @Sangemdoko is currently on vacation but we'll see if are some references that need to be removed from the demo scene for UFPS. I know that it's very useful to have a demo scene but until then the actual integration will work without a problem with just UFPS.

To start you should be able to remove the melee Item Definitions from the Inventory component on Nolan GameObject. The Item Definitions that you'll want to remove is Body from the Equippable Item Collection and Excalibur from the Loadout Item Collection.
 
Thanks for your quick reply, I really appreciate the help. I removed the Body and Excalibur item definitions from the nolan inventory, which resolved that error message. I'm still seeing some of the other issues, but I may not need to resolve all of them.

In terms of seeing the three arms when duel wielding, I'm also seeing that in the UFPS demo scene, so I don't think it's specific to the integration. I don't think I will be using duel wielding in my game, so I don't need to address that.

In terms of parts of the character model being hidden when I open the inventory (such as the arms), I guessing that it's related to how the character's arms are displayed when holding a gun from the first person perspective. I'd be curious if there is an easy way to resolve this and still show the gun in the character's arms on the inventory screen. Maybe there's a way to switch to third person perspective for the purpose of the inventory view?

The one other issue is when I pressed the "i" key, the inventory screen didn't stay open. I think this may have been related to using both the old and new Unity Input Systems. After disabling the old system, I realized that I had deleted the Opsive new input system integration, so I imported that again. After doing so, I followed the setup instructions for making the demo scene compatible with the new input system. Now, pressing "i" works to open the inventory. However, pressing "Esc" doesn't work to close the inventory screen anymore. I see that "Close Panel" is bound to the Escape Key in the input actions, but I guess that's part of the Player inputs rather than the UI inputs. I think that the "Cancel" action is also bound to "Esc", but somehow that isn't working to close panels or the menu. I'm a little confused about how the UI events from the "Input System UI Input Module" trigger changes to the UI and inventory state. I'd be willing to consider using the old input system or Rewired if it resolves the inventory UI issues.

Thanks Again for your help.
 
Last edited:
P.S. I'm using Unity 2019.4 which could explain some bugs with the new input system and the UI. I'd be curious if others have gotten it to work with newer versions of Unity.
 
In terms of seeing the three arms when duel wielding, I'm also seeing that in the UFPS demo scene, so I don't think it's specific to the integration. I don't think I will be using duel wielding in my game, so I don't need to address that.
Are you running the latest version of the controller? I remember this issue in the past but it should have been fixed in a more recent version. If you're running the latest how can I reproduce it in the main demo scene?

The one other issue is when I pressed the "i" key, the inventory screen didn't stay open. I think this may have been related to using both the old and new Unity Input Systems. After disabling the old system, I realized that I had deleted the Opsive new input system integration, so I imported that again. After doing so, I followed the setup instructions for making the demo scene compatible with the new input system. Now, pressing "i" works to open the inventory. However, pressing "Esc" doesn't work to close the inventory screen anymore. I see that "Close Panel" is bound to the Escape Key in the input actions, but I guess that's part of the Player inputs rather than the UI inputs. I think that the "Cancel" action is also bound to "Esc", but somehow that isn't working to close panels or the menu. I'm a little confused about how the UI events from the "Input System UI Input Module" trigger changes to the UI and inventory state. I'd be willing to consider using the old input system or Rewired if it resolves the inventory UI issues.
@Sangemdoko will better be able to respond but I think that's an issue with the old input system. Using the new input system integration I think fixes it.
 
The "Close Panel" Input is processed by the DisplayPanelManagerHandler (on the Canvas), it uses the Input component on the player character bound to the DisplayPanelManager. Check whether or not ir is correctly set.

There is a known bug with the old input system and gamepads. When a gamepad is connected and the panel is opened (pressing "I"), the panel is opened and closed within a frame. This might be what you experienced before switching to the other input system
 
Are you running the latest version of the controller? I remember this issue in the past but it should have been fixed in a more recent version. If you're running the latest how can I reproduce it in the main demo scene?


@Sangemdoko will better be able to respond but I think that's an issue with the old input system. Using the new input system integration I think fixes it.
It says I'm using version 2.4.4 of Ultimate First Person Shooter: 1639773819849.png

Here is a screenshot from the demo scene, I just picked up two pistols from the first shooting area:
1639773923528.png
I know you guys are busy with the holidays, so don't worry about addressing this issue, I won't be needing it for my game, but hopefully this helps if you need to resolve it at some point.
 
The "Close Panel" Input is processed by the DisplayPanelManagerHandler (on the Canvas), it uses the Input component on the player character bound to the DisplayPanelManager. Check whether or not ir is correctly set.

There is a known bug with the old input system and gamepads. When a gamepad is connected and the panel is opened (pressing "I"), the panel is opened and closed within a frame. This might be what you experienced before switching to the other input system
Thanks, I think you are right about the bug with the old input system, because I did have a gamepad plugged in. In terms of the new input system, thanks for pointing me to those scripts, that's the functionality I was looking for. So I did need to set the Display Panel Manager on the Display Panel Manager Handler, but even after doing so it still doesn't work. I added a debug statement to this function:
C#:
//Close Panel
if (m_ClosePanelInput.CheckInput(m_PlayerInput)) {
    Debug.Log("close panel");
    m_DisplayPanelManager.CloseSelectedPanel();
}

Now, when I press the Escape key with the menu closed, I see it print "close panel" and the mouse control switches to the cursor, although It won't let me click the menu button, and it still fires the gun on click. When I press Escape with the menu open (I opened using "i"), nothing prints. I think this might relate to the user (player) input disappearing when the menu is open as seen in the Input debug:
Menu closed:
1639775082559.png
Menu open:
1639775140158.png
Here are some screenshots of the relevant components in case you see any issues with those:
1639775237494.png
...continued
 
In terms of the character not displaying correctly in the inventory, I'm guessing I could remedy this by switching to the 3rd person view type with the Camera Controller if I had the full Ultimate Character Controller instead of just UFPS. I'd prefer a solution within UFPS, but I'd be curious if it would be as simple as switching view type in UCC.
 
And you say this is hapening in the demo scene? Or is it particular to a scene you created?

Out of curiosity, Have you followed the UI section of the page? It's around the end, there are two screenshots one for the player input and another for the Display Panel Manager:

It might help you find what is wrong.
 
And you say this is hapening in the demo scene? Or is it particular to a scene you created?

Out of curiosity, Have you followed the UI section of the page? It's around the end, there are two screenshots one for the player input and another for the Display Panel Manager:

It might help you find what is wrong.
Thanks for the response. Yes, it's happening in the demo scene under UltimateCharacterController/Integrations/UltimateInventorySystem/Demo. I only have UFPS and not the full UCC. I'd be curious if others have encountered the same issues with the Inventory UI when using Unity's new input system, even after following the integration instructions here: input system integration

It looks like the screenshot in the tutorial you linked to is for the "Unity Input" component, which I believe is for the old Unity input system. I'm using the "Unity Input System" component, which I believe works for the new input system. My "Display Panel Manager" looks correct. I'd be willing to consider going back to the old input system, although it sounds like it would make controller support more difficult.

Thanks for your help.
 
I've also tried to get the UIS demo scene working with the new input system, but I haven't had any luck with that either. I assume it's for similar reasons.
 
I will have a look at this as soon as I am back from my vacation on the 3rd. Don't hesitate to remind me if I don't respond in awhile. I have a pile of things to go through once I am back so I might forget to answer some of them.
 
Hey, just wanted to leave a brief reminder as per your last post. Hope you aren't too overwhelmed with catching up on things. Thanks again for your help.
 
@BrettL - from the UFPS side of things I have the three hands bug fixed. This will be in the update releasing next week. Thanks for letting me know about it :)
 
Just giving you a heads up that we are planning on fixing the integration issue with UFPS in the next update as well :)
 
Just giving you a heads up that we are planning on fixing the integration issue with UFPS in the next update as well :)
Sounds great, let me know if you need any other information from me. Having the inventory UI work with the new Input System would be very helpful.
 
You'll be happy to know that we've updated UIS, UCC and the input integration today. The issues you pointed out should now be fixed!
 
Top