Cheo
Active member
Hello, I checked the Deathmatch asset again this morning in a fresh project using UCC 3.1.1, and here's what I found :
-Whether the First Person checkbox is ticked in the main menu, we start the game in third person but with the weapon displayed in first person perspective :


This issue is sometimes solved on respawn, but not always, and it may require several respawns.
-I got this error when trying to start the Cover ability several times :
Here's a screenshot of one time that happened :

-The pistol is missing a muzzle flash prefab, and when in first person perspective is not even animated and not held straight :

Hope this can be fixed, thanks.
-Whether the First Person checkbox is ticked in the main menu, we start the game in third person but with the weapon displayed in first person perspective :


This issue is sometimes solved on respawn, but not always, and it may require several respawns.
-I got this error when trying to start the Cover ability several times :
C#:
[Exception] ArgumentNullException: Value cannot be null.
Parameter name: key
System.Collections.Generic.Dictionary`2[TKey,TValue].FindEntry() at <51fded79cd284d4d911c5949aff4cb21>:0
System.Collections.Generic.Dictionary`2[TKey,TValue].TryGetValue() at <51fded79cd284d4d911c5949aff4cb21>:0
GameObjectExtensions.GetCachedComponents[T]() at <5be52286c54c47958ace04af73911405>:0
Cover.GetMoveTowardsLocations() at /Opsive/DeathmatchAIKit/Scripts/Character/Cover.cs:112
110: return m_PredeterminedMoveTowardsLocation;
111: }
--> 112: return m_DetectedObject.GetCachedComponents<MoveTowardsLocation>();
113: }
UltimateCharacterLocomotion.TryStartAbility() at /Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:922
920: // If StartMoving returns true then the MoveTowards ability has started and it will start the original
921: // ability after the character has arrived at the destination.
--> 922: if (m_MoveTowardsAbility.StartMoving(ability.GetMoveTowardsLocations(), ability)) {
923: moveEquipStarted = true;
924: }
MoveTowards.AbilityStopped() at /Opsive/UltimateCharacterController/Scripts/Character/Abilities/MoveTowards.cs:483
481: // Start the OnArriveAbility after MoveTowards has stopped to prevent MoveTowards from affecting the arrive ability.
482: if (m_OnArriveAbility != null) {
--> 483: m_CharacterLocomotion.TryStartAbility(m_OnArriveAbility, true, true);
484: m_OnArriveAbility = null;
485: }
Ability.StopAbility() at /Opsive/UltimateCharacterController/Scripts/Character/Abilities/Ability.cs:731
729: m_ActiveIndex = -1;
--> 731: AbilityStopped(force);
733: return true;
UltimateCharacterLocomotion.TryStopAbility() at /Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:1103
1101: m_ActiveAbilities[m_ActiveAbilityCount] = null;
-->1103: ability.StopAbility(force, true);
1105: // Let others know that the ability has stopped.
Ability.StopAbility() at /Opsive/UltimateCharacterController/Scripts/Character/Abilities/Ability.cs:726
724: // If the ability wasn't stopped from the character controller then call the controller's stop ability method. The controller must be aware of the stopping.
725: if (!fromController) {
--> 726: return m_CharacterLocomotion.TryStopAbility(this, force);
727: }
Ability.StopAbility() at /Opsive/UltimateCharacterController/Scripts/Character/Abilities/Ability.cs:703
701: public bool StopAbility()
702: {
--> 703: return StopAbility(false, false);
704: }
MoveTowards.Update() at /Opsive/UltimateCharacterController/Scripts/Character/Abilities/MoveTowards.cs:326
324: if (m_Arrived && (m_CharacterLocomotion.ItemEquipVerifierAbility == null || !m_CharacterLocomotion.ItemEquipVerifierAbility.IsActive)) {
325: if (!m_MoveTowardsLocation.PrecisionStart || Time.frameCount > m_PrecisionStartWaitFrame + 1) {
--> 326: StopAbility();
327: return;
328: } else {
UltimateCharacterLocomotion.UpdateAbilities() at /Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:662
660: }
661: if (abilities[i].IsActive) {
--> 662: abilities[i].Update();
663: } else if (abilities[i].Enabled) {
664: abilities[i].InactiveUpdate();
UltimateCharacterLocomotion.UpdateCharacter() at /Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:579
578: // Start and update the abilities.
--> 579: UpdateAbilities(m_Abilities);
580: UpdateAbilities(m_ItemAbilities);
CharacterLocomotion.Move() at /Opsive/UltimateCharacterController/Scripts/Character/CharacterLocomotion.cs:568
566: EnableColliderCollisionLayer(false);
--> 568: UpdateCharacter();
570: 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:739
737: for (int i = 0; i < m_Characters.Count; ++i) {
738: if (interpAmount == -1) {
--> 739: m_Characters[i].Move(preMove);
740: } else {
741: if (!m_Characters[i].Locomotion.Interpolate) {
SimulationManager.FixedMove() at /Opsive/UltimateCharacterController/Scripts/Game/SimulationManager.cs:679
677: MoveCharacters(true, -1);
678: RotateCameras();
--> 679: MoveCharacters(false, -1);
680: MoveCameras(-1);
SimulationManager.FixedUpdate() at /Opsive/UltimateCharacterController/Scripts/Game/SimulationManager.cs:668
666: protected virtual void FixedUpdate()
667: {
--> 668: FixedMove();
669: }
Here's a screenshot of one time that happened :

-The pistol is missing a muzzle flash prefab, and when in first person perspective is not even animated and not held straight :

Hope this can be fixed, thanks.