Search Unity

HOTween: a fast and powerful Unity tween engine

Discussion in 'Assets and Asset Store' started by Demigiant, Jan 7, 2012.

  1. MaDDoX

    MaDDoX

    Joined:
    Nov 10, 2009
    Posts:
    764
    So, with the new DOTween we're no longer entitled to the great "HOT tween" jokes? Laaaame ;)

    j/k, keep up the great work Daniele!
     
  2. BTStone

    BTStone

    Joined:
    Mar 10, 2012
    Posts:
    1,422
    You mean like: SUPER HOTween?
     
  3. BAnyBudde

    BAnyBudde

    Joined:
    Jun 3, 2014
    Posts:
    51
    How do I fix this Error? sorry, it's another error generated by the HOpath

    Assets/Assets/Holoville/HOPath/PathPreview.cs(172,49): error CS0103: The name `Handles' does not exist in the current context

    Below is where the error is located.

    // Draw path.
    Vector3 prevPt;
    switch(pathType) {
    case PathType.Linear:
    prevPt = path[1];
    int len = path.Length;
    for(int i = 1; i < len - 1; ++i) {
    currPt = path;
    Handles.DrawLine(currPt, prevPt);
    prevPt = currPt;
    }
    break;
    default: // Curved
    prevPt = drawPs[0];
    int drawPsLength = drawPs.Length;
    for(int i = 1; i < drawPsLength; ++i) {
    currPt = drawPs;
    Handles.DrawLine(currPt, prevPt);
    prevPt = currPt;
    }
    break;
    }
    // Draw path control points.
    //Gizmos.color = Color.white;
    int pathLength = path.Length - 1;
    for(int i = 1; i < pathLength; ++i) {
    //Gizmos.DrawSphere(path, 0.1f);
    }
     
  4. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,242
    @BTStone @MaDDoX (hiya Breno!!! ;)) No more HOT Tween jokes nor *weird* results in search engines! MWAHAHAHAHAHAHAHAHA!!!

    @BAnyBudde I'm not sure, but I think that path preview class should have UnityEditor re-implemented (Handles needs UnityEditor), and you should try to put the whole PathPreview file inside an "Editor" folder (that way the whole class will only be loaded inside Unity editor and not while playing).
     
  5. BAnyBudde

    BAnyBudde

    Joined:
    Jun 3, 2014
    Posts:
    51
    @Izitmee

    So I moved the script into the editor folder and we have a new error haha

    Assets/Assets/Holoville/HOPath/HOPath.cs(192,25): error CS0118: `Holoville.HOTween.Path.HOPath.PathPreview' is a `property' but a `type' was expected

    I cannot win!!!!

    and I refuse to use iTween or Leantween. :)
     
  6. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,242
    Ahahaha :D

    That error looks weird! I have two suggestions:
    1. you could try using the awesome Simple Waypoint System by @Baroni , which implements HOTween and has a great workflow with paths (not free, but cheap)
    2. you could create a barebone project with HOPath which reproduces the issue and attach it here, so I'll check it out and see what's wrong

    Your choice :)
     
  7. fermmmm

    fermmmm

    Joined:
    Oct 18, 2013
    Posts:
    129
  8. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,242
    The bug was buggy :)
     
  9. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,265
    It got me at that point: 1. Create a new C# script called Hottweentest
    Super excited for DOTween! :D
     
  10. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,242
    ME TOO!!! :D If only I could stop implementing cool (as in *nerdy*) new features (I just added an option to get reports about tweens when you exit the Play mode in the Editor) I would release the beta. New DOTween website is 75% done too :)
     
  11. rizzledizzle

    rizzledizzle

    Joined:
    Aug 1, 2014
    Posts:
    1
    Hi all, i was wondering if someone can help. I'm trying to understand tweening to a position along a path (PlugVector3Path). I tried to download the examples, but the Path Basics on my mac unzips to a load of folders (see attached screen) which i can't view (guessing its meant to be a unity package, as the third example works fine).



    As such I'm struggling a bit to get my head around the documentation for plugVector3Path. While i'm posting, i might just ask directly if anyone can see the issue i've got here:

    Code (CSharp):
    1. HOTween.To(playerOrder[k].transform, 1, new TweenParms().Prop("position",new PlugVector3Path(temp,EaseType.EaseInBounce,true)));
    (where temp is a vector3 of the location i want to move my gameobject to, and playerOrder[k] is a gameobject stored in a List).

    I took my cues from this example on the documentation page:

    Code (CSharp):
    1. HOTween.To(myObject, 1, new TweenParms().Prop("fieldName",new PlugVector3Path(path,EaseType.easeInQuad,true).ClosePath()));
    as i'm getting errors CS1502 amd CS1503, i figure that 'path' needs to be something other than a vector3 but i'm a bit lost.

    Sorry if this isn't the right place to ask this question :)
     
  12. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,242
    @rizzledizzle Sometimes StuffIt has problems extracting Unity packages from a ZIP, and instead than just extracting the ZIP contents also extracts the package contents, creating the mess you saw. Try to use something like 7ZIP for extraction.
    That said, your issue is that path must be an array of Vector3 points, and not a single one.

    P.S. this was the perfect place to ask this question :)
     
  13. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,242


    Time to make some DOTween public tests!
    While I finish the website documentation and get ready for beta,
    I need help to test DOTween an all platforms.
    In theory it's super-compatible and should work everywhere, but I would like to know for sure. Please help :)

    HOW TO HELP
    See this thread
     
    Last edited: Aug 1, 2014
  14. BTStone

    BTStone

    Joined:
    Mar 10, 2012
    Posts:
    1,422
    I will test it with iOS and PS Vita (PSM)! :)
    I can ran the iOS test over the weekend, but the Vita Test will take a while since I'm not at my PC station the next couple of days (apparently you need a Windows-Machine in order to build for PS Vita PSM)
     
  15. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,242
    Thank you!!! :)
     
  16. MaDDoX

    MaDDoX

    Joined:
    Nov 10, 2009
    Posts:
    764
    Ok, new joke then:

    'In spite of the "DOT" in its name and having pixelart dots in its logo, DOTween does work with 3D objects.'

    Hmm.. yeah, not so good. I tried ^_^
     
  17. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,242
    If classes could start with a number I would change it's name to 3DOTween RIGHT NOW!!!! :D
     
  18. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,242
    Just thought I'd drop this DOTween's infographic here, since I've done it for the upcoming website :) It shows its basic elements, which are still Tweener and Sequences (though overpowered :D), but I have others planned for the future (if I'll like the prototypes), like the mysterious TweenNoise and TweenMixer.

    splash_dotween.png
     
    codestage likes this.
  19. BTStone

    BTStone

    Joined:
    Mar 10, 2012
    Posts:
    1,422
    Damn you! You going to explain explicitly what TweenNoise and TweenMixer do right now! :D
     
  20. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,242
    Ahahahaaha! Since you're so convincing I'll tell about TweenMixer :D

    I plan it to be a way to tween the same property with multiple tweens. The first tween will be the "leader" while the others will alter the leader's animation according to their own animations. Would be cool for example to make things oscillate while also moving in a direction, or to mess things up and generate weird tweens.

    I actually have various ideas for special tweens (like TweenRandom - ah! another! :D) and also small prototypes of how they could work, but I'm not sure which ones I'll implement because I want to keep a good compromise between performance and features (and for now performance is pretty awesome).
     
  21. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,242
  22. Uzi187

    Uzi187

    Joined:
    Mar 21, 2014
    Posts:
    16
    Hey guys,

    Any idea what could be the reason for this? Random but frequent crash...

    Stack Trace: NullReferenceException: Object reference not set to an instance of an object, Holoville.HOTween.Tweener.Startup (Boolean p_force) Holoville.HOTween.Tweener.Startup () Holoville.HOTween.Tweener.Rewind (Boolean p_play, Boolean p_skipDelay) Holoville.HOTween.Tweener.Rewind (Boolean p_skipDelay) Holoville.HOTween.Tweener.Rewind () Holoville.HOTween.Sequence.TweenStartupIteration () Holoville.HOTween.Sequence.Startup () Holoville.HOTween.Sequence.Update (Single p_shortElapsed, Boolean p_forceUpdate, Boolean p_isStartupIteration, Boolean p_ignoreCallbacks) Holoville.HOTween.Core.ABSTweenComponent.Update (Single p_elapsed) Holoville.HOTween.HOTween.DoUpdate (UpdateType p_updateType, Single p_elapsed) Holoville.HOTween.HOTween.Update ()

    This only happens when running on a device..
     
  23. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,242
    Hi,

    that means the target of your tween has been destroyed or became NULL
     
  24. Uzi187

    Uzi187

    Joined:
    Mar 21, 2014
    Posts:
    16
    It shouldn't but okay lemme double check...
     
  25. DanTaylor

    DanTaylor

    Joined:
    Jul 6, 2013
    Posts:
    119
    Quick question!
    Is there a way to create a tween that will work when the timescale is set to 0?
    (So when my game is paused, I can still animate UI elements).
    Thanks,
    Dan

    P.S. Loving HOTween! :D
     
  26. fermmmm

    fermmmm

    Joined:
    Oct 18, 2013
    Posts:
    129
    Can you add support for Flash with DOTween?. I know Flash belongs to the past but until Unity 5 with HTML5 support comes, its the only web target that everyone can play. I must use LeanTween but it's too incomplete compared to DOTween.
     
    Last edited: Aug 9, 2014
  27. MousePods

    MousePods

    Joined:
    Jul 19, 2012
    Posts:
    811
  28. woshihuo12

    woshihuo12

    Joined:
    Jul 18, 2014
    Posts:
    36
    HOTween : PlugColor is overwriting PlugColor for defensePlus (UILabel).color
    UnityEngine.Debug:LogWarning(Object)
    Holoville.HOTween.Core.TweenWarning:Log(String, Boolean) (at D:/DG/_Develop/__UNITY3_CLASSES/_Holoville/__HOTween.Assembly/HOTweenV1/Core/TweenWarning.cs:48)
    Holoville.HOTween.Core.TweenWarning:Log(String) (at D:/DG/_Develop/__UNITY3_CLASSES/_Holoville/__HOTween.Assembly/HOTweenV1/Core/TweenWarning.cs:37)
    Holoville.HOTween.Core.OverwriteManager:AddTween(Tweener) (at D:/DG/_Develop/__UNITY3_CLASSES/_Holoville/__HOTween.Assembly/HOTweenV1/Core/OverwriteManager.cs:94)
    Holoville.HOTween.Tweener:OnStart() (at D:/DG/_Develop/__UNITY3_CLASSES/_Holoville/__HOTween.Assembly/HOTweenV1/Tweener.cs:1072)
    Holoville.HOTween.Tweener:Update(Single, Boolean, Boolean, Boolean, Boolean) (at D:/DG/_Develop/__UNITY3_CLASSES/_Holoville/__HOTween.Assembly/HOTweenV1/Tweener.cs:772)
    Holoville.HOTween.Tweener:Update(Single, Boolean, Boolean, Boolean) (at D:/DG/_Develop/__UNITY3_CLASSES/_Holoville/__HOTween.Assembly/HOTweenV1/Tweener.cs:710)
    Holoville.HOTween.Core.ABSTweenComponent:Update(Single) (at D:/DG/_Develop/__UNITY3_CLASSES/_Holoville/__HOTween.Assembly/HOTweenV1/Core/ABSTweenComponent.cs:954)
    Holoville.HOTween.HOTween:DoUpdate(UpdateType, Single) (at D:/DG/_Develop/__UNITY3_CLASSES/_Holoville/__HOTween.Assembly/HOTweenV1/HOTween.cs:2252)
    Holoville.HOTween.HOTween:Update() (at D:/DG/_Develop/__UNITY3_CLASSES/_Holoville/__HOTween.Assembly/HOTweenV1/HOTween.cs:734)


    my hotween init is like that:
    HOTween.Init(true, true, true);
    HOTween.EnableOverwriteManager();

    so when i run game, i meet above warnning, this warnning has some bad effects? if not, how can i close this kind of warnning???
     
  29. woshihuo12

    woshihuo12

    Joined:
    Jul 18, 2014
    Posts:
    36
    oh.........sorry...
    i just see :
    HOTween.EnableOverwriteManager(false);
     
  30. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,242
    @DanTaylor Sure, just set the UpdateType to TimeScaleIndependentUpdate :)

    @fermmmm Ok, I'll see what I can do (I know what to do: Flash doesn't support optional parameters in Extension methods and I'll have to overload them all). Will send you a test project when it's ready.

    @TobiasP Mhmm I'll have to think about it. Right now there's no way to do that other than reapply the same settings manually. Gonna see if I can work on it next week, but I might not have the time until the one after.

    @woshihuo12 Glad you found it. By the way, if you want to completely disable the OverwriteManager it's more efficient to just call Init like this:
    Code (csharp):
    1.  
    2. HOTween.Init(true, true, false);
    3.  
     
  31. fermmmm

    fermmmm

    Joined:
    Oct 18, 2013
    Posts:
    129
    Thanks Izitmee I'm looking froward to the flash support, send me whatever you want.
     
  32. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,242
    Hey @fermmmm I opened a DOTween issue just for Flash export. Can you check it out and download the test package I attached there? It should work, hopefully, and if it doesn't let me know which errors it returns directly on the issue, so we can keep track of it better :)

    Here is the issue
     
  33. fermmmm

    fermmmm

    Joined:
    Oct 18, 2013
    Posts:
    129
  34. woshihuo12

    woshihuo12

    Joined:
    Jul 18, 2014
    Posts:
    36
    If i want tween a windos's localScale and color at the same time..
    how can i get that?
    HOTween.To(trans, 0.25f, new TweenParms().Prop("color", Color.white));
    HOTween.To(trans, 0.25f, new TweenParms().Prop("localScale", Vector3.zero));
     
  35. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,242
    @fermmmm Thanks :) Answered and posted a new test, hoping we'll get there.

    @woshihuo12 What is your window? If it's a regular object with a material, you would do this:
    Code (csharp):
    1.  
    2. HOTween.To(trans, 0.25f, new TweenParms().Prop("localScale", Vector3.zero));
    3. HOTween.To(trans.gameObject.renderer.material, 0.25f, new TweenParms().Prop("color", Color.white));
    4.  
     
  36. VeTaL

    VeTaL

    Joined:
    Jul 2, 2012
    Posts:
    125
    Hi,

    I have a quick newbie question.
    I'd like to store an animation and run it on different objects in a realtime (consider a cards game, where every card should be animated when mouse is over it). However, looking like the tweens are hardly binded to the objects (transforms).

    How should i store and call the same animation for different transforms?

    Can i store it as
    Tweener myTween = HOTween.To(null, 1, params);
    and then call it
    myTween.Play(card1transform);

    EDIT: just found a Dotween, will check it out.
     
    Last edited: Aug 11, 2014
  37. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,242
    Hi @VeTaL and glad you found DOTween. With both you'll have to store a tween for each card though, possibly in an array. That's because you can change the start/end values with DOTween (though not with HOTween) but not the target. Still, I could allow changing the target too: will work on that tomorrow and see what comes out.
     
  38. VeTaL

    VeTaL

    Joined:
    Jul 2, 2012
    Posts:
    125
    Its so cool when developer is responding so fast :)

    That would be great if you'll add a dynamic changing of target - i think it would be useful in a lots of cases similar to mine. Hope this change would not break anything :)

    Also, i found a transform.DoMoveX() and seems i can use it for now, but in general it would be cool to have a caching for that.
     
  39. VeTaL

    VeTaL

    Joined:
    Jul 2, 2012
    Posts:
    125
    Houston, we have some problems.

    1. I have a very basic project. Added some sprites, and some hot weens (actually, dotween, but seems every developer here should make at least one joke about "hot weens", so here is mine :) ). Anyway, i tried to use it like
    Code (csharp):
    1. if (hit.collider.tag == "Card")
    2. hit.collider.transform.DOScale(new Vector3(1.5f, 1.5f, 1.5f), 1f).SetEase(Ease.InOutElastic);
    and i expected Ease.InOutElastic to run there and back (some kind of scale shaking), however, my sprite size remains scaled to 1.5. Is that a bug or feature?

    2. Just decided to make a random build for WP8. And that guy throws me an error
    Same error with WS compilation.
    Windows and Android versions compiles and runs fine.
     
    Last edited: Aug 11, 2014
  40. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,242
    1. Is your object already at 1.5 scale? If so, the tween won't have anything to tween in spite of the elastic ease. To create some kind of shake effect you could instead use a "From 0" with OutElastic instead than InOutElastic like this:
    Code (csharp):
    1.  
    2. hit.collider.transform.DOScaleFrom(Vector3.zero, 1f).SetEase(Ease.OutElastic);
    3.  
    That said, I plan to implement a Shake shortcut to make things easier, but after other stuff with higher priority.

    2. That error seems due to you building x64 which is not supported by Windows Store? Am I right? Am I wrong?

    P.S. there's an official DOTween thread here ;)
    P.P.S. everybody jokes about hot weens, but no one ever made a joke about hot wheels, sigh sigh
     
  41. VeTaL

    VeTaL

    Joined:
    Jul 2, 2012
    Posts:
    125
    1. Nope, object is basically 1 scale, i want it to shake till 1.5 (just to see it works) and then return back to 1. Just, you know, to make some basic users interaction.

    EDIT: yay, your idea with DOScaleFrom() works perfect for me

    2. Ok-ok, checking those topics. I just remember that in testing thread you said that WP and WS are working fine :p

    EDIT2: actually, i'm afraid, that is not the case. When i opened a project in a MSVS, there's ARM platform set by default, not x64.
     
    Last edited: Aug 11, 2014
  42. VeTaL

    VeTaL

    Joined:
    Jul 2, 2012
    Posts:
    125
    Hm.. interesting (just want to finish WP discussion here, then i'll move to spam in official DOTween thread).
    When i'm compiling WP project in Unity, it throws me the error above (namespace is not found).
    If to compile the same in MSVS, at first i got some error (unfortunately, i closed it too fast), and on the second time it compiles fine, but i dont see animation/tweening.
     
  43. VeTaL

    VeTaL

    Joined:
    Jul 2, 2012
    Posts:
    125
    Soo.. just wiped out WP project
    1. I'm setting platform to PC, running and it works fine (i see animation when clicking on the card).
    2. I'm setting platform to WP, running in Unity and get an error "The type or namespace name `DG' could not be found"
    3.. er, well, i dont even see a WP project, so i cant open it in Studio...Well, that explains why i was able to run it but didnt see the animation: it was build when i did a test run without DOTweens lib.
     
  44. VeTaL

    VeTaL

    Joined:
    Jul 2, 2012
    Posts:
    125
    PS:
    and still, how can i customize the range of this scale shake?
    Code (csharp):
    1. transform.DOScaleFrom(Vector3.zero, 1f).SetEase(Ease.OutElastic);
    Zero is zero, not that customizable, and second parameter is just a time.

    Seems i'm a bit sleepy, but i cant get what this scaling is doing.
    Its kinda "we are scaling from zero (why zero? default scale is 1) to something (to what?), during 1 second using "out elastic" easing type.

    EDIT: actually, i just checked docs, its like "we are scalingFrom (from the current, 1) to zero (ok, but why zero?), during 1 sec, using "out elastic" easing type.
     
  45. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,242
    @VeTaL that WP error is very weird. I'm absolutely sure an error like that isn't related to compatibility but to something else. Where are you putting the DOTween folder? Can you post a screenshot of your project panel expanded to where it is? We will solve it! :)

    About the "fake shake" tween, it's not exactly as in your EDIT. Instead it's a "let's move from 0 to the current scale, in 1 sec, with an OutElastic ease". 0 is just a random number I chose to allow the elastic ease to have some space to play. You can decrease it to have the elastic ease be more "elastic" (it's like a true elastic: the more you pull it, the stronger it will boing).
    To customize it, you can change the optional amplitude and period SetEase parameters (which work only with Elastic eases).
     
  46. VeTaL

    VeTaL

    Joined:
    Jul 2, 2012
    Posts:
    125
    Yep, this time you was right :) Basically, I put it into a Plugins folder (i prefer a Assets-Plugins-Prefabs-Scenes-Scripts structure, but it seems lots of libs are working bad if to put them into Plugins). So, now problem is solved by moving DOTween to the root: it works fine on WP. We can add this info to a FAQ or something.

    Yea, great, SetEase() is exactly what i was needed. Also, thanks for explanation, now i get it.

    Thanks, man :)
     
    Last edited: Aug 12, 2014
  47. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,242
    Great. And to think that once the Plugins folder was the folder of choice for all Assets. Ahhh how much has Unity changed :D

    Added the "don't go into Plugins" info both at the beginning of Get Started and as a FAQ
     
  48. MousePods

    MousePods

    Joined:
    Jul 19, 2012
    Posts:
    811
    Hey!

    I don't know if this is a glitch or not but.

    1. I have a scene that plays perfectly with all Hotweens.
    2. I load the next scene -- its the same exact scene, copy + pasted
    3. The looping Hotweens play perfectly. However, when I call a tween to play through code, it doesn't play even though it is in the HOTween script
    I figured that Hotween saves all hotweens from the previous level so I looked through the docs. I tried used Restart(); before calling play and I got this error.

    NullReferenceException: Object reference not set to an instance of an object
    Holoville.HOTween.Tweener.Rewind (Boolean p_play, Boolean p_skipDelay) (at D:/DG/_Develop/__UNITY3_CLASSES/_Holoville/__HOTween.Assembly/HOTweenV1/Tweener.cs:953)
    Holoville.HOTween.Tweener.Restart (Boolean p_skipDelay) (at D:/DG/_Develop/__UNITY3_CLASSES/_Holoville/__HOTween.Assembly/HOTweenV1/Tweener.cs:315)
    Holoville.HOTween.Tweener.Restart () (at D:/DG/_Develop/__UNITY3_CLASSES/_Holoville/__HOTween.Assembly/HOTweenV1/Tweener.cs:298)
    PlayerController.EndGameSpin () (at Assets/Scripts/PlayerController.cs:75)
    Girl.Kiss () (at Assets/Scripts/Girl.cs:86)
    Girl.OnTriggerEnter2D (UnityEngine.Collider2D other) (at Assets/Scripts/Girl.cs:71)

    Am I thinking about this the wrong way? Does HOTween not save tweens from previous scenes and somehow my code is messing it up? I will note I do not save anything between scenes.

    Thanks!
     
  49. Ben-BearFish

    Ben-BearFish

    Joined:
    Sep 6, 2011
    Posts:
    1,204
    It seems when I call Kill on a Tween that uses the PlugQuaternion() in a parm that the tween does not get killed. Is this a bug or is it suppose to do that?

    [EDIT]
    I suspect the issue might be because I'm calling Kill when the gameobject is not active. Is there a known issue with this?
     
    Last edited: Aug 13, 2014
  50. Demigiant

    Demigiant

    Joined:
    Jan 27, 2011
    Posts:
    3,242
    @TobiasP that error happens because the target of your tween has become NULL. Are you carrying along stored tween references from the previous scene and using those? Even if it's the same scene with same objects, they're not really the same objects, so you'll have to recreate the tweens too.

    @Ben BearFish Not a known issue at all. Gonna investigate it tomorrow.