Version 2.2 Released

Justin

Administrator
Staff member
There are some manual changes required in order to update to version 2.2. See the video below or this page for details. The release notes for version 2.2 are on this page. If you are enjoying the character controller and can leave a review on the Asset Store that would be really appreciated :)

 
Version 2.2 is on the Asset Store! Make sure you take a look at the upgrade video:

 
Met with this error when trying to build a new character even after starting a new project and importing 2.2:

NullReferenceException: Object reference not set to an instance of an object
Opsive.UltimateCharacterController.Editor.Managers.CharacterManager.DrawNewCharacter () (at Assets/Opsive/UltimateCharacterController/Editor/Managers/CharacterManager.cs:311)
Opsive.UltimateCharacterController.Editor.Managers.CharacterManager.OnGUI () (at Assets/Opsive/UltimateCharacterController/Editor/Managers/CharacterManager.cs:180)
Opsive.UltimateCharacterController.Editor.Managers.MainManagerWindow.OnManagerGUI () (at Assets/Opsive/UltimateCharacterController/Editor/Managers/MainManagerWindow.cs:423)
Opsive.UltimateCharacterController.Editor.Managers.MainManagerWindow.OnGUI () (at Assets/Opsive/UltimateCharacterController/Editor/Managers/MainManagerWindow.cs:326)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <437ba245d8404784b9fbab9b439ac908>:0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <437ba245d8404784b9fbab9b439ac908>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <437ba245d8404784b9fbab9b439ac908>:0)
UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at <78f1ad0f25c84e3ca853e639f50d95f5>:0)
UnityEditor.HostView.Invoke (System.String methodName) (at <78f1ad0f25c84e3ca853e639f50d95f5>:0)
UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition, UnityEngine.Rect viewRect) (at <78f1ad0f25c84e3ca853e639f50d95f5>:0)
UnityEditor.DockArea.DrawView (UnityEngine.Rect viewRect, UnityEngine.Rect dockAreaRect) (at <78f1ad0f25c84e3ca853e639f50d95f5>:0)
UnityEditor.DockArea.OldOnGUI () (at <78f1ad0f25c84e3ca853e639f50d95f5>:0)
UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <3736d7cfd1f845a5922f99478cb469e7>:0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <3736d7cfd1f845a5922f99478cb469e7>:0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <3736d7cfd1f845a5922f99478cb469e7>:0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Boolean canAffectFocus) (at <3736d7cfd1f845a5922f99478cb469e7>:0)
UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUI (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus) (at <3736d7cfd1f845a5922f99478cb469e7>:0)
UnityEngine.UIElements.IMGUIContainer.HandleEvent (UnityEngine.UIElements.EventBase evt) (at <3736d7cfd1f845a5922f99478cb469e7>:0)
UnityEngine.UIElements.CallbackEventHandler.HandleEventAtTargetPhase (UnityEngine.UIElements.EventBase evt) (at <3736d7cfd1f845a5922f99478cb469e7>:0)
UnityEngine.UIElements.MouseCaptureDispatchingStrategy.DispatchEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <3736d7cfd1f845a5922f99478cb469e7>:0)
UnityEngine.UIElements.EventDispatcher.ApplyDispatchingStrategies (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, System.Boolean imguiEventIsInitiallyUsed) (at <3736d7cfd1f845a5922f99478cb469e7>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <3736d7cfd1f845a5922f99478cb469e7>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEventQueue () (at <3736d7cfd1f845a5922f99478cb469e7>:0)
UnityEngine.UIElements.EventDispatcher.OpenGate () (at <3736d7cfd1f845a5922f99478cb469e7>:0)
UnityEngine.UIElements.EventDispatcherGate.Dispose () (at <3736d7cfd1f845a5922f99478cb469e7>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <3736d7cfd1f845a5922f99478cb469e7>:0)
UnityEngine.UIElements.EventDispatcher.Dispatch (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, UnityEngine.UIElements.DispatchMode dispatchMode) (at <3736d7cfd1f845a5922f99478cb469e7>:0)
UnityEngine.UIElements.BaseVisualElementPanel.SendEvent (UnityEngine.UIElements.EventBase e, UnityEngine.UIElements.DispatchMode dispatchMode) (at <3736d7cfd1f845a5922f99478cb469e7>:0)
UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at <3736d7cfd1f845a5922f99478cb469e7>:0)
UnityEngine.UIElements.UIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at <3736d7cfd1f845a5922f99478cb469e7>:0)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at <817eebdd70f8402280b9cb11fff8b976>:0)
 
NullReferenceException: Object reference not set to an instance of an object
Opsive.UltimateCharacterController.Editor.Managers.CharacterManager.DrawNewCharacter () (at Assets/Opsive/UltimateCharacterController/Editor/Managers/CharacterManager.cs:311)
That error has been fixed if you download the most recent version off of the Asset Store. Make sure you first clear your Asset Store cache so it downloads the latest.
 
Yes that error went away after I cleared the cache but now the character no longer stops running he slides across the terrain to a stop! Version 2 did not do this but I really want that drive ability!

EDIT: Okay, weird but if I build a new terrain everything works perfect but if I use a previously created terrain the character will slide across it! Im using Gaia for my terrains so no big deal on creating new terrains, just find the behavior odd!
 
Last edited:
Version 2.2f2 was released which fixed an installer issue on the Mac. If you have installed the character controller there's no reason to update as this was the only change.
 
Some great features added with this release so thank you very much for these Justin. I noticed the following issues after installing in a new project (V2.2f2):

- there is an infinite echo on the ricochet item, which when using the assault rifle after this also creates more infinite echos with each shot
- had some trouble exiting the vehicle, not sure if there is a maximum speed to exit, but sometimes I found I couldn't exit while driving very slowly and other times when going a little faster the vehicle would screech to an instant stop and let me exit
- I tried the drive abilty's use item checkbox but this only allowed me to use the body item inside the vehicle and on exiting I was no longer able to switch to the assault rifle
- I'm not sure if this has always been like this, but the "turning circle" of the horse makes it very difficult to use at all, obviously this can be changed in the properties but from a UX perspective for new customers it may be worth making this more easy to use for the demo

I hope this helps :)
 
It would be great to have an option to scale center crosshair instead of going to the crosshair script to comment out the sizing of the sprite because this doesn't work for all weapons because they all could have different sizing crosshairs.
 
- there is an infinite echo on the ricochet item, which when using the assault rifle after this also creates more infinite echos with each shot
- had some trouble exiting the vehicle, not sure if there is a maximum speed to exit, but sometimes I found I couldn't exit while driving very slowly and other times when going a little faster the vehicle would screech to an instant stop and let me exit
- I tried the drive abilty's use item checkbox but this only allowed me to use the body item inside the vehicle and on exiting I was no longer able to switch to the assault rifle
- I'm not sure if this has always been like this, but the "turning circle" of the horse makes it very difficult to use at all, obviously this can be changed in the properties but from a UX perspective for new customers it may be worth making this more easy to use for the demo
Thanks for letting me know! I'll take a look at those for 2.2.1 and will followup if I have any repro issues.
 
- there is an infinite echo on the ricochet item, which when using the assault rifle after this also creates more infinite echos with each shot
Does the infinite echo occur all of the time for you? I have been firing the ricochet at the different dummy targets but am not hearing the echo.
 
Starting in 3rd person view
Click right arrow to move to Magic room
Switch to Particle Stream and hold to cast
Switch quickly (while Particle beam is still active) to Ricochet and cast Ricochet to get the echo
 
Last edited:
Top