Search Unity

Tail Animator - Procedural tail animation for tentacles, simple capes, squids and more!

Discussion in 'Assets and Asset Store' started by FimpossibleCreations, Jul 18, 2018.

  1. jamespaterson

    jamespaterson

    Joined:
    Jun 19, 2018
    Posts:
    399
    hi! I am trying out tail animator for the first time and so far I am really liking it. The in-editor tool for skinning a mesh is really useful, however I think I may have identified a bug / issue. From what I can see, the coloured display of weighting uses per-vertex colours on the mesh. This is great, however I am using per-vertex colours in an FX shader so changing these permanently messes up the mesh. It would seem that after using the skinning tool both the output skinned mesh and the original mesh have newly baked in colours. It would be great if in a future updated the original vertex colours could be restored to both the original and skinned mesh. Thanks!
     
  2. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    540
    Wow, thanks for sugestion, I writing it on task list for new version ;)
     
    ProtoPottyGames likes this.
  3. jamespaterson

    jamespaterson

    Joined:
    Jun 19, 2018
    Posts:
    399
    excellent - this would be most welcome :) other than that so far the system is really great!
     
    FimpossibleCreations likes this.
  4. wenzy

    wenzy

    Joined:
    Nov 17, 2015
    Posts:
    44
    Hey. Your addon is amazing and here is what I have done with it in my early work(https://twitter.com/i/status/1090999027926089728). But I met an issue recently when I try to build a excutable program.It is not working.

    My question is will it possible to use the FtailEditorSkinner in runtime?Since my model is procedural. so i have modify the FtailEditorSkinner script and get rid of the "Editor" part. I found it works well in Unity Editor when I click play but not in the build version. Could u give me some suggestions?
     
    jamespaterson likes this.
  5. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    540
    Wow, amazing use of package!

    You mean component is not working or skinner is not working?

    Skinner needs UnityEditor only for saving mesh files inside project, so if you remove "using UnityEditor" and "#if UNITY_EDITOR" then remove all error lines it should work ;)


    I preparing update for tail animator with improved skinning quality.
    So after update you will have to remove all "UnityEditor" references again.
    Please give me feedback after update, there will be some big changes in skinning algorithm.

    Also in new update there will be syncer for Dynamic Bone's precise collision to combine this package with tail animator.
    Anyway, syncer should work already :D https://drive.google.com/open?id=1fl5kv8JvFrGUE234pZGnsS8UQuoCzJ6k
    (If you already own Dynamic Bone)
     
    Last edited: Feb 16, 2020
  6. wenzy

    wenzy

    Joined:
    Nov 17, 2015
    Posts:
    44
    ---------------------------------------------------------------------------------------
    Thanks for your reply,And looking forward to the update version! I think is the skinner not working.
    Here is my testing video in Playmode. Everything works fine. The left one has skinned already. The middle one is a mesh without bone(base on your asset).The right one is my procedural mesh.
    (https://drive.google.com/file/d/1fGRmxJjLX69FH0AZXaxHT0YbolSLmBPv/view?usp=sharing)
    When i press space button.The middle one and right one can create a waving tail successfully.(But not in my build version, they all maintain their original status)

    Here is the code i use (https://gist.github.com/Wenzy--/ab1a2423af512f676e17b6fe413d98be)
     
  7. wenzy

    wenzy

    Joined:
    Nov 17, 2015
    Posts:
    44
    oh,i just figure it out. I found if I call OnValidate() before the SkinMesh(),then everything fix. Maybe u can consider provide a API in the next version, sometimes is useful
     
  8. jamespaterson

    jamespaterson

    Joined:
    Jun 19, 2018
    Posts:
    399
    Hi - really enjoying using tail animator. It is great! A quick question if I may please. Is it possible to configure tail animator to compute tail motion relative to a transform, rather than global position of the root of the tail? For example, imagine I have a fish with an attached tail moving around in a fish tank, with the fish tank on a table in the scene. I want the tail to react to the movement of the fish in the tank, but not to movement of the tank on the table (or to the table in the scene etc). Thanks in advance for your help!
     
  9. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    540
    Hello, for now something like "Local Motion" is not possible, but you can try playing with "Motion Influence" slider
    maybe it will provide you a bit more desired motion, going with this value lower - motion in world will be milder.
     
    jamespaterson likes this.
  10. skinwalker

    skinwalker

    Joined:
    Apr 10, 2015
    Posts:
    509
    Hello,

    is there a way to smoothly disable the Tail animator so the tail returns to default position before I disable the component (like weight)?
     
  11. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    540
    Yes, you need to use "Tail Animator Blending" component and there will be slider and variable "Blend To Original" when value is 1 then no tail animator motion is applied.
     
    skinwalker likes this.
  12. skinwalker

    skinwalker

    Joined:
    Apr 10, 2015
    Posts:
    509
    If I set it to 1 will it return my tail to default position/rotation or just stop mid-animation? I tested in the editor and when I drag that slider to 1 the animation just freezes (same as disabling the component).
     
  13. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    540
    If you have animated tail by keyframed animation, then going with "blend to original" to value 1 will make tail move only like keyframed animation.
    If you don't have keyframed animation but instead using waving, you can just disable waving (UseWaving = false) to smoothly go back to default tail pose (but you will not be able to change this effect like weight, if you need this tell me)
     
  14. skinwalker

    skinwalker

    Joined:
    Apr 10, 2015
    Posts:
    509
    Yes I needed to stop the script because I have some animations that animate the tail, so if I just set blend to original to 1 then I can play my custom animation on the tail right? But currently there is no way to fully disable the script and make the tail bones go back to their default position.
     
  15. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    540
    If you have enabled "animate corrections" in tuning tab then keyframed animation and tail animator motion cooperates and you don't need to do anything. If you sometimes use keyframe animation and sometimes not I suggest to make one animation clip which stands in default pose (but make at least one keyframe for each bone) and use it instead of disabling animator or so.
    You need to describe more what are you using because now I have no idea what you do :D
    Feel free to mail me.
     
  16. eaque

    eaque

    Joined:
    Aug 20, 2014
    Posts:
    764
    HI,

    Glad i bought it, just discovering it....
    Sorry to ask that, but is it possible to have few advice to animate a cape.
    I want to use your red cape or even "rag other" prefab to understand and test on my character.

    I have some stupid questions (i checked your manula first i promise:p):
    -What's the best bone to parent a cape ? i use the highest spine on my humanoid rig. i would like to set the top of the cape on his deltoids but avoiding the cape to position inside the character.
    -I noticed some kind of a constant wave anim on the cape even in idle: Is it due to the Idle anim? or should i ignore my character collider somewhere...(i tried...) I don't think it's wave anim from your tool...?

    thx in advance
     
  17. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    540
    It depends, but probably around neck bone ;)
    I created small scene with cape from package on fuman model, you can check it (I limiting max rotation of cape and added colliders to character)

    It's probably feature called "Waving" you can click toggle on the "Waving" tab to disable it, but it can be helpful when you tweak it a bit.
     

    Attached Files:

    eaque likes this.
  18. eaque

    eaque

    Joined:
    Aug 20, 2014
    Posts:
    764
    many thanks!! gonna check this special scene!!
    great support!:)
     
  19. christougher

    christougher

    Joined:
    Mar 6, 2015
    Posts:
    558
    Hi! Is there a feature or plan to implement an ik type effect where you can make the tentacle reach toward something? Or would this play nicely with other ik solutions? Thanks!
     
  20. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    540
    Tail animator uses a lot different logics than IK, but after some thinking combining them could work, but there needed to be done right execution order, first ik -> then tail animator logics.
    Some of my upcoming packages involves a bit of IK, I could try using it with tail animator.
    When I will have enough time I will do quick check of it and report about effects :D
     
  21. christougher

    christougher

    Joined:
    Mar 6, 2015
    Posts:
    558
    Still contemplating this IK possibility? Would. Be. Dope!
     
  22. skinwalker

    skinwalker

    Joined:
    Apr 10, 2015
    Posts:
    509
    Hello,

    I posted about this problem awhile ago and thought I found a fix by setting BlendToOriginal to 1 but its not playing an accurate animation. I will explain the problem again.

    Im using TailAnimator_Blending and Im trying to disable it before my custom animation (character attack with tail). I set BlendToOriginal to 1 before I play the animation and even though it plays, its just not as accurate as it should because I dont think the tail returns to the original position when I set the BlendToOriginal to 1. It moves forward a little bit but not enough.

    Do you have any ideas what else I can do to disable the tail animator before I play my custom animation?
     
  23. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    540
    Maybe some single bones don't have rotation keyframes in animation and they're offsetted and look different.
    You can try enabling "Rotations not animated" before playmode (it will freeze keyframed animation) and use blend to original equal 1 and see if now it looks correct. If so, I suggest adding rotation keyframes in animation software to all tail segments, simpliest solution. I explained it here (9:51):


    If it is not that, then I would ask you to mail me.
     
    skinwalker likes this.
  24. skinwalker

    skinwalker

    Joined:
    Apr 10, 2015
    Posts:
    509
    That works and I dont see a difference in the animation. Would there be a performance issue if I use this instead of adding rotation keyframe to all tail bones? Im not an animator and if I have to suggest this change it will cost me additional money. For the future animations I will make sure to use ask them to add rotation keys as well.
     
  25. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    540
    There will be no cost in performance, but I suggest finding which bones are making this difference and left marks only on them, if your tail is animated when character have idle animation / walk / run and you have toggled "Rotations not animated" on all of them, then animation will be less detailed, but you can switching it when you use your attack animation and all will be good too ;)
     
    skinwalker likes this.
  26. ptm_oo

    ptm_oo

    Joined:
    Oct 30, 2014
    Posts:
    35
    Hi, great asset!
    Is there a chance to have option to choose 2D Colliders (instead of 3D) for the tail animator? Or some tip if changing the collider to 2d in source will work :)
    Thanks!
     
  27. jasmina95

    jasmina95

    Joined:
    Jul 18, 2017
    Posts:
    2
    Hey I bought your asset today to animate a 2D characters cape, but whenever he changes direction the bones stick up into the air, any idea of how I could fix that? :)
     
    Last edited: Jul 17, 2020
  28. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    540
    It depends how you want use collision, if you want use selective colliders you can use disabled 3D colliders (not deactivate game object, disable Collider component) tail animator will still detect them and they will not collide with world.

    Also you can add Circle2D colliders to segments and it will collide with world objects, but other objects will not move tail model.

    Soon I will work on refactor for tail animator, I will include better 2D support there.

    For now negative scalling is not supported, you can try rotating character 180 degrees in Y axis for now.
     
    jasmina95 and ptm_oo like this.
  29. jasmina95

    jasmina95

    Joined:
    Jul 18, 2017
    Posts:
    2
    Worked like a charm. Thank you! :)
     
  30. lucy94920

    lucy94920

    Joined:
    Apr 23, 2018
    Posts:
    5
    Hi, this tool seems really cool.
    I was wondering if there's any way to move the tail (or scarf which I'm working on) from an outside script. I want to create the effect that when there's a blast of wind the scarf will be blown up in a certain direction. Just want to see if it's possible to achieve that with your plugin.

    Thanks!
     
  31. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    540
    You can do it in different ways, but catch this one.
    I prepared this chunk of code for you, changing tail animator's paramteres in courutine.
    It looks like this:


    And here commented code:

    Code (TailBoost.cs):
    1. using UnityEngine;
    2. using System.Collections; // For IEnumerator
    3. using FIMSpace.FTail;
    4.  
    5. public class TailBoost : MonoBehaviour
    6. {
    7.     FTail_Animator tailAnim;
    8.  
    9.     void Start()
    10.     {
    11.         tailAnim = GetComponent<FTail_Animator>();
    12.     }
    13.  
    14.     void Update()
    15.     {
    16.         if (Input.anyKeyDown)
    17.         {
    18.             StartCoroutine(Coroutine_TailImpact());
    19.         }
    20.     }
    21.  
    22.     IEnumerator Coroutine_TailImpact()
    23.     {
    24.         float elapsed = 0f; // Counter for elapsed time in while loops
    25.  
    26.         float startWaveRange = tailAnim.WavingRange; // Remembering waving range parameter
    27.         float startPosSpeeds = tailAnim.PositionSpeed;
    28.         float startRotSpeeds = tailAnim.RotationSpeed;
    29.  
    30.         // Boosting cape up
    31.         while (elapsed < 0.15f) // Going up will take 0.15 of second
    32.         {
    33.             float progress = elapsed / 0.15f; // After 0.15 of second it will be equal 1
    34.  
    35.             // Going on x axis up to 60 degrees
    36.             tailAnim.TailRotationOffset = new Vector3(progress * 60f, 0f, 0f);
    37.  
    38.             tailAnim.WavingRange = 2 * (1f - progress); // Setting for a moment waving range hight and go to zero
    39.             tailAnim.PositionSpeed = startPosSpeeds + 10f * progress;
    40.             tailAnim.RotationSpeed = startRotSpeeds + 10f * progress;
    41.  
    42.             elapsed += Time.deltaTime;
    43.  
    44.             yield return null; // Wait one game frame
    45.         }
    46.  
    47.         // Wait short time for cape motion
    48.         yield return new WaitForSeconds(0.1f);
    49.         elapsed = 0f; // Reset timer
    50.  
    51.         // Going back to default rotation
    52.         while (elapsed < 0.7f) // Going back will take 0.7 second
    53.         {
    54.             float progress = elapsed / 0.7f; // After 0.7 seconds it will be equal 1
    55.  
    56.             // Going from 50 degrees back to zero
    57.             tailAnim.TailRotationOffset = new Vector3(60f - 60f * progress, 0f, 0f);
    58.  
    59.             tailAnim.WavingRange = startWaveRange * progress; // going with WavingRange back
    60.             tailAnim.PositionSpeed = startPosSpeeds + 10f * (1f - progress);
    61.             tailAnim.RotationSpeed = startRotSpeeds + 10f * (1f - progress);
    62.  
    63.             elapsed += Time.deltaTime;
    64.  
    65.             yield return null; // Wait one game frame
    66.         }
    67.  
    68.         tailAnim.WavingRange = startWaveRange; // Bringing back exact value for this variable
    69.         tailAnim.PositionSpeed = startPosSpeeds;
    70.         tailAnim.RotationSpeed = startRotSpeeds;
    71.     }
    72. }
    73.  

    Is something like that you wanted to achieve?
     
    lucy94920 likes this.
  32. lucy94920

    lucy94920

    Joined:
    Apr 23, 2018
    Posts:
    5
    Yes almost! Thank you so much for providing this. I'll try to follow your ways and experiment on that. Hope this function will be added into your plugin in the future!
     
  33. TheFalconeerDev

    TheFalconeerDev

    Joined:
    Sep 18, 2019
    Posts:
    95
    Hey I've been using your ftail for a while now, and it is alround excellent. However I'm pooling units that get enabled and disabled a bunch of times. And I find after a while the tail gets stuck in a crooked angle without updating. it's just frozen in an old position..

    I've solved this before by making sure the ftail animator component gets enabled a few frames after the parent object gets enabled. That has been the only fix , re-re-enabling it etc once its dead, doesn't seem to work.

    using 1.3.7.1.

    does this issue ring a bell? because now I've used it in another object, and my fix doesn't work there anymore. so it stops responding after 2-3 disable/re-enables of the parent object.

    Again big fan, wonderful asset,, makes the dragon in the Falconeer pop ;) much better than my wonky homebrew before.
     
  34. christougher

    christougher

    Joined:
    Mar 6, 2015
    Posts:
    558
    Ever get around to testing this out?
     
  35. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    540
    By description it is looks like job for "Rotations Not animated" parameter. In upcoming Tail Animator V2 there will be option for automatically detect this issuse, please check this fragment of explanation video:

    But I am not sure is it's this case.

    Right now when I have some time I am working on new package using IK, I am planning to implement usage of that for tail animator too soon ;) Look Animator will probably make use of it too.
     
  36. TheFalconeerDev

    TheFalconeerDev

    Joined:
    Sep 18, 2019
    Posts:
    95
    I think none of my bones are animated,, so that might be the cause.

    I've now seeming solved it by having the Ftail disabled on parend disable and then enabled 0.1f later

    bit hacky but seems to work.

    when will you release 2.0?
     
  37. TheFalconeerDev

    TheFalconeerDev

    Joined:
    Sep 18, 2019
    Posts:
    95
    I've fixed by changing your time.deltatime to time.unscaledDeltatime.

    As I am using it in menus with timescale 0..

    Easy fix,, might be a quick add to your 2.0.. For people using character portraits in menus and so forth

    Cheerio
    Tomas
     
    Last edited: Aug 15, 2020
  38. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    540
    I will be ;)
    upload_2020-8-15_21-39-14.png

    I am not sure, maybe in next two weeks
     
  39. SamRock

    SamRock

    Joined:
    Sep 5, 2017
    Posts:
    250
    @FimpossibleCreations This asset just blew my mind! I have a pre-sales question:
    I am creating a Monster that shots web at the player. Right now I am randomly spawning Webs at all direction where there was a collision. But its life less and doesnt interact with player. Using your asset, can I make the "web" attach itself to the player while the other end is still attached to the ground/ceiling? I want it to stretch for certain distance before tearing apart from player
    Here is Reference screenshot from my game:
    Web.PNG
     
  40. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    540
    Thank you!
    I am not sure which thing you want to animate, could you describe/show a little more?
    I am right now working on Tail Animator V2, there will be IK feature, which probably could help here a bit.
     
    SamRock and christougher like this.
  41. tonbery

    tonbery

    Joined:
    Jan 7, 2013
    Posts:
    5
    Hi, I'm having a little issue here, the Tail Animator seems to have different behaviours depending on what machine is running it.

    We are using exactly the same configs and all (same commit), one of our objects is crazy bouncy in one of our machines and the other object don't limit the angle properly.

    Any help?
     
  42. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    540
    That's probably caused by different framerate, in Tail Animator V2 there will be option to unify the behaviour.
    Can you check if setting project's framerate to fixed 60fps will make them look the same with current version?
     
  43. tonbery

    tonbery

    Joined:
    Jan 7, 2013
    Posts:
    5
    60fps not, but 30fps will make everything work fine (not a viable framerate for us hehehe)

    The 2 week estimate for V2 is still valid?

    Thank you!
     
  44. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    540
    I am not sure but I am near completing, strugging with few things to solve.
    I doing like 14 hours or more per day on that now :confused: it will be really big update.
     
    christougher and SamRock like this.
  45. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    540
    Tail Animator V2 is submitted for review.
    Before releasing you can check what new will be there ;)


    Right now I will focus on update for my other package: Optimizers
    after working on that I will work on DOTS and ECS implementation for Tail Animator.
     
  46. christougher

    christougher

    Joined:
    Mar 6, 2015
    Posts:
    558
    Love this, gonna play with it asap!
     
  47. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    540
    TAIL ANIMATOR V2.0.0 Released

    Important Tips for Update from V1:


    - Now Tail Animator is using just one component (TailAnimator2.cs)

    - You need to convert Tail Animator V1 components in order to use new features, to convert go to "Packages - Demos - Converter" directory and unpack "Tail Animator V1 to V2 Converter + Old Examples.unitypackage"
    It will override some code from previous version of Tail Animator and add buttons "Convert To V2" on top of your Tail Animator V1 components.
    After converting you should try to tweak parameters for tail behaviour from scratch since Version 2 parameters are basing on slightly different logics.

    - Demo scenes are packed into .unitypacakge files to avoid importing many scripts and assets if not needed.

    - New component containing all other components features (only it should used from V2) - Tail Animator V2
    - New GUI
    - Language support for inspector tabs titles
    - New parameters: "Slithery" -> V2 Slithery setted to 1 / 1.2 will make motion look almost the same like V1 motion
    "Curling": Similar to V1 "Sensitivity" parameter
    "Sustain" (experimental): Making tail bounce more after moving (more noticable with boosted "Springiness")
    "Unify Bendiness" (experimental): Making tail bend in similar way no matter how many bones / how long tail model is
    "Reaction Speed" / "Rotation Relevancy" / "Animation Mode": Working in almost the same way like V1 "positions / rotations speed
    - Fixed Update Rate mode to make Tail Animator motion look the same in Higher / Low fps domain
    - "Prewarm" option to pre-animate tail before first game frame to avoid jiggly start in some cases
    - "Root to parent" parameter replaced by "Include" / "Exclude" dropdown next to "Start Bone"
    - "Queue to last update" renamed to "Update as last"
    - "Blend To Original" renamed to "Tail Animator Amount" and reacting in reverse way than old "Blend To Original"
    - New parameter "Limit Axis 2D" to restrict tail animator for rotating around 2D space (please adjust auto waving axis if you using "Auto Waving" - some cases can't be restricted)
    - All main parameters now have possibility to spread values separately on each tail segment with curve
    - "Use Waving" renamed to "Auto Waving" and putted into new "Additional Modules" tab
    - "Fixed Cycle" for syncing tails waving animation for "Auto Waving"
    - "Collisions" feature in additional modules tab
    - Collisions algorithm upgraded and enchanced with some new paramters
    - "Collision Swapping" renamed to "Reflect Collisions" and working in reverse way than V1 parameter
    - Experimental "Collisions Slippery" parameter to make tails slide a bit less on colliders
    - Selective collision space have new tab "Dynamic World Colliders Inclusion" to dynamically add colliders from scene with trigger collider
    - "Partial Blend" as module
    - New "Inverse Kinematics" feature using CCD IK
    - New experimental "Deflection" feature to make collision affect back tail segments when deflecting it
    - New "Disable when Far" feature to smoothly disable tail animator when is far from main camera or other object
    - Experimental wind effector
    - Upgraded Mesh Skinning API to be used in Editor but also in Playmode
    - New demo scenes
    - Possibility and examples of cutting tail to smaller ones and generating additional segments dynamically
    - Example of generating tail model procedurally and skinning it in runtime
    - And much more small improvements

    Now I will focus on big update for my other package: Optimizers.
    After that I will work on DOTS or ECS implementation for Tail Animator 2.

    Release Video:
     
  48. PROTOFACTOR_Inc

    PROTOFACTOR_Inc

    Joined:
    Nov 15, 2009
    Posts:
    4,054
    truly impressive update. Really love the physics interaction!
     
    FimpossibleCreations likes this.
  49. kdgalla

    kdgalla

    Joined:
    Mar 15, 2013
    Posts:
    4,637
    Hey, I just installed version 2 and unpacked the examples and "tails to use" packages. I pulled-out the short optimal tail into my scene and set the gravity to 0,10,0 in the "physical effectors" roll-out. The gravity seems to have no effect on the tail at all, though.

    Edit: I figured-out the problem. I simply had the tail animator amount % set to low number for some reason. Seems to work fine at 100%
     
    Last edited: Sep 19, 2020
    FimpossibleCreations likes this.
  50. tonbery

    tonbery

    Joined:
    Jan 7, 2013
    Posts:
    5
    Hey, awesome work!
    :)

    We are in the way to release a playable this next week, but after that we'll update and check all this awesome new stuff.
    Thanks for the good work <o/
     
    FimpossibleCreations likes this.