UCC-UIS Integration demo scene issues

Cheo

Active member
Hello, I finally tried out the integration demo scene for UIS in UCC today, and have several issues to report. Most of them are not about the core functioning of UIS but still, as I say in the video, all of this doesn't look professional. Here's a video :


In summary :

-The text description on the left side of the floor are unreadable because of the lighting - the directional light's intensity could be decreased to begin with, and a different grid material should be applied, with a lower tiling, smoothness and albedo brightness if necessary.

-Text Mesh Pro should be used for text descriptions - it's already used for UCC's demo scene and is much cleaner, so no reason not to use it here as well.

-The third strike in the sword combo sequence sends crates and their drops flying off to a comical distance.

-The health pack has no material and cannot be picked up. I suggest making an actual prefab for it, the one from the integration folder is nothing more than a model with no components and on the Default layer.

-The AimObjectFaderPreset is not used on the main camera, leading the character to look like a ghost when aiming, especially when crouching too.

-The Color Setter component on the Sword Weapon Variant prefab (aka Excalibur) doesn't work properly - the weapon is red in first person view but gray in third person. It is worth mentioning that the Color "Color" on this script has zero references, and that when I removed the component from the prefab the weapon was as expected no longer red in first person, but it wasn't in either perspective when I added it again, until I reimported the prefab from the integration package, so there seems to be something weird as to how the color is stored and applied.

-I got two different errors when picking up Excalibur while dual wielding pistols in first person - in the video, the pistols are stored away but the blade becomes invisible. I was unable to reproduce a different bug that occured when I first tried that, which resulted in two left arms being displayed like this :

Capture d’écran (1869).png

Once again, this is quite a list I made for an integration scene ! When I say that UIS looks great and seems to be a good expansion for UCC, I mean it, and that's why it's even more disappointing to see all those issues ! In addition to being unprofessional, it also doesn't offer good examples to newcomers. So I hope this was helpful and that this scene can be fixed up as well.
 
I'm sorry to hear you found so many issues in the integration demo scene.
Thank you very much for taking the time to make such an in depth video on each point. It will speed things up a ton on my end as I go through everything.

I've added this to my todo list, I will do an extra polish pass when I have time, and I'll go through each of your points to fix them.
If you find other things to point out please do add them in this thread.

The first few points you mentioned should be quick to go through. But I'm curious about the excalibur issues.
I will specifically look in detail at the excalibur because the errors you had should not be happening. If you manage to replicate it please do let me know the reproduction steps. I'll try to mess with it on my end too
 
Hi, the issue with Excalibur disappearing can be reproduced just as I did in the video : get and equip the dual pistols, and pick up Excalibur in first person view, and the error should happen.

However, I'm still unable to recreate the issue with the third arm, but if my memory's correct the process was pretty much the same.

I spotted one error related to those issues - when creating the disappearing excalibur issue and picking up the assault rifle, this error is thrown :

Code:
[Exception] NullReferenceException: Object reference not set to an instance of an object
ChildAnimatorMonitor.SetForwardMovementParameter() at /Opsive/UltimateCharacterController/Scripts/Character/ChildAnimatorMonitor.cs:334
 332:  public virtual void SetForwardMovementParameter(float value, float timeScale, float dampingTime)
 333:  {
--> 334:      if (m_ForwardMovement != value && m_Animator.isActiveAndEnabled) {
 335:          m_Animator.SetFloat(s_ForwardMovementHash, value, dampingTime, TimeUtility.DeltaTimeScaled / timeScale);
 336:          m_ForwardMovement = m_Animator.GetFloat(s_ForwardMovementHash);

CharacterItem.SetForwardMovementParameter() at /Opsive/UltimateCharacterController/Scripts/Items/CharacterItem.cs:833
 831:              }
 832:              if (m_FirstPersonPerspectiveItemAnimatorMonitor != null && m_FirstPersonPerspectiveItem.IsActive()) {
--> 833:                  m_FirstPersonPerspectiveItemAnimatorMonitor.SetForwardMovementParameter(value, timeScale, dampingTime);
 834:              }
 835:  #endif

AnimatorMonitor.SetForwardMovementParameter() at /Opsive/UltimateCharacterController/Scripts/Character/AnimatorMonitor.cs:524
 522:  for (int i = 0; i < m_EquippedItems.Length; ++i) {
 523:      if (m_EquippedItems[i] != null) {
--> 524:          m_EquippedItems[i].SetForwardMovementParameter(value, timeScale, dampingTime);
 525:      }
 526:  }

AnimatorMonitor.UpdateAnimatorParameters() at /Opsive/UltimateCharacterController/Scripts/Character/AnimatorMonitor.cs:423
 421:  {
 422:      SetHorizontalMovementParameter(m_CharacterLocomotion.InputVector.x, m_CharacterLocomotion.TimeScale, m_HorizontalMovementDampingTime);
--> 423:      SetForwardMovementParameter(m_CharacterLocomotion.InputVector.y, m_CharacterLocomotion.TimeScale, m_ForwardMovementDampingTime);
 424:      if (m_CharacterLocomotion.LookSource != null) {
 425:          SetPitchParameter(m_CharacterLocomotion.LookSource.Pitch, m_CharacterLocomotion.TimeScale, m_PitchDampingTime);

UltimateCharacterLocomotion.UpdateCharacter() at /Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:593
 591:  // Update the animations.
 592:  if (OnAnimationUpdate != null) {
--> 593:      m_OnAnimationUpdate();
 594:  }

CharacterLocomotion.Move() at /Opsive/UltimateCharacterController/Scripts/Character/CharacterLocomotion.cs:561
 559:  EnableColliderCollisionLayer(false);
--> 561:  UpdateCharacter();
 563:  EnableColliderCollisionLayer(true);

SimulationManager+SmoothedCharacter.Move() at /Opsive/UltimateCharacterController/Scripts/Game/SimulationManager.cs:169
 167:      }
--> 169:      m_Locomotion.Move(horizontalMovement, forwardMovement, deltaYaw);
 170:      AssignFixedLocation();
 171:  }

SimulationManager.MoveCharacters() at /Opsive/UltimateCharacterController/Scripts/Game/SimulationManager.cs:723
 721:  for (int i = 0; i < m_Characters.Count; ++i) {
 722:      if (interpAmount == -1) {
--> 723:          m_Characters[i].Move(preMove);
 724:      } else {
 725:          if (!m_Characters[i].Locomotion.Interpolate) {

SimulationManager.FixedUpdate() at /Opsive/UltimateCharacterController/Scripts/Game/SimulationManager.cs:671
 669:  MoveCharacters(true, -1);
 670:  RotateCameras();
--> 671:  MoveCharacters(false, -1);
 672:  MoveCameras(-1);

Hope this is useful. In any case, thank you for looking at all those issues.
 
Top