Version 2.3.3 and Add-On Updates

Justin

Administrator
Staff member
We are starting to have a lot of add-ons for the character controller so I am trying a new announcement format.

This page has information on the latest version of the character controller:


This is the base version for the upcoming Climbing Pack.

The following add-ons were also updated:

Agility Pack: https://opsive.com/news/agility-pack-1-1-released/
PUN Add-On: https://opsive.com/news/pun-multiplayer-add-on-1-1-12-released/
Swimming Pack: https://opsive.com/news/swimming-pack-1-1-3-released/
VR Add-On: https://opsive.com/news/vr-add-on-1-1-8-released/
 

rkeown

Member
Hey Justin, I just upgraded to v2.3.3 on Unity v2019.4.21f, and I ran into 2 issues, post import. I don't know if it was just me, but after the import, both of the Add-Om Packs for Swimming and Agilty generted errors regarding the Editor/Inspectors/*InspectorDrawer.cs files not being able to locate their respective abilites. When I looked at both of the Editor Assembly Definitions, both only had 5 Assembly Defintions referenced, and I had to manaully add a new reference to their respective script assemblies.

Example:
Opsive.UltimateCharacterController.AddOns.Swimming.Editor was only referencing the following:

Opsive.UltimateCharacterController
Opsive.UltimateCharacterController.Editor
Opsive.UltimateCharacterController.Addons.Shared.Editor
Opsive.Shared.Editor
Opsive.UltimateCharacterController.Addons

I had to click on the plus sign, and add the Opsive.UltimateCharacterController.AddOns.Swimming refence, and then applied the changes.

I had to do the same for the Agility Addon as well.

Just an FYI, in case anyone else runs into this.
 

Justin

Administrator
Staff member
I don't know if it was just me, but after the import, both of the Add-Om Packs for Swimming and Agilty generted errors regarding the Editor/Inspectors/*InspectorDrawer.cs files not being able to locate their respective abilites. When I looked at both of the Editor Assembly Definitions, both only had 5 Assembly Defintions referenced, and I had to manaully add a new reference to their respective script assemblies.
Make sure you first remove the add-on folder before importing the new update. The latest version changed how the assembly definitions are setup.
 

zroc

Member
Justin,

I just updated my entire project to 2.3.3 and upon testing after the update, I discovered there appeared to be an animation issue or something along the path of the animator (yours, mine, etc), and after several hours of reverting and re-installing and re-installing......

What was happening is my character seemed to be very shuttering from the animation perspective. Seeing this should have been a flag to look at the animator settings, component wise at run time which I thought I did. If I did, I totally missed the fact that at run-time, the Update Mode is being changed from inspector setting to "Animate Physics". Which reduces frames by 20+ as well as the shuttering, delays, etc.. With any weapons attached to character make frames even worse.

Anyhow, I should have looked here first, but normally on updates these are not affected. So where is this being auto-set and why is not an option? If it's an option can you please direct me to it? I need to use "Normal" or "Unscaled Time". Sorry if I'm coming across rude, not my intention, just frustrated with the amount of time I just spent fixing something that was right there..

Thank you
 

zroc

Member
Justin,

I just updated my entire project to 2.3.3 and upon testing after the update, I discovered there appeared to be an animation issue or something along the path of the animator (yours, mine, etc), and after several hours of reverting and re-installing and re-installing......

What was happening is my character seemed to be very shuttering from the animation perspective. Seeing this should have been a flag to look at the animator settings, component wise at run time which I thought I did. If I did, I totally missed the fact that at run-time, the Update Mode is being changed from inspector setting to "Animate Physics". Which reduces frames by 20+ as well as the shuttering, delays, etc.. With any weapons attached to character make frames even worse.

Anyhow, I should have looked here first, but normally on updates these are not affected. So where is this being auto-set and why is not an option? If it's an option can you please direct me to it? I need to use "Normal" or "Unscaled Time". Sorry if I'm coming across rude, not my intention, just frustrated with the amount of time I just spent fixing something that was right there..

Thank you
Ok, found the culprit. In "AnimatorMonitor.cs" there is a method to detect when the controller goes from UpdateMode to FixedUpdate mode. However, why are you forcing the "Animate Physics" as the fixed update process.
Code:
 /// <summary>
        /// The character has changed between Update and FixedUpdate location.
        /// </summary>
        /// <param name="fixedUpdate">Should the Animator update within the FixedUpdate loop?</param>
        private void OnChangeUpdateLocation(bool fixedUpdate)
        {
            m_Animator.updateMode = fixedUpdate ? AnimatorUpdateMode.AnimatePhysics : AnimatorUpdateMode.Normal;
        }

Also, my character controller is configured to update in the FixedUpdate Loop which forces this into the AnimatePhysics on the animator. However, if I change at run-time the update mode to "Update" loop on the controller, it will remain in the state animator update state.
 

Justin

Administrator
Staff member
Thank you for debugging this! I think that you found the solution to this thread! I made that change and things worked properly so hopefully it will for everyone else as well.
 

nathanj

Active member
I just applied this change to my system and it did fix the running animation jitter but my jumping behaviour still seems a little weird, there is a slight lag and then catch up. Anyone else getting this?


And just opened the UIS demo and rotating my camera around the player character is very choppy

 
Last edited:

Justin

Administrator
Staff member
I just applied this change to my system and it did fix the running animation jitter but my jumping behaviour still seems a little weird, there is a slight lag and then catch up. Anyone else getting this?


And just opened the UIS demo and rotating my camera around the player character is very choppy

Try changing the Third Person Adventure View Type's Position Smoothing value to 0. In some sense it is being doubly smoothed and causing jitters.
 
Top