Search Unity

Time Control and Pause Kit (inc. Bullet Time, Freeze, Fast Motion, etc) [RELEASED]

Discussion in 'Assets and Asset Store' started by SketchWork, Jun 28, 2013.

  1. hellobard

    hellobard

    Joined:
    Sep 26, 2012
    Posts:
    140
    Great plugin, really enjoying it.
    I am however trying to get a countdown timer (with a string like this 01:01) to work with the TimedDeltaTime function which is a bit complicated.
    An example of this in the examples folder would be an amazing bonus that I think a lot of people would find useful!
     
  2. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    Hello Hellobard,

    Thank you for the purchase - much appreciated :)

    Have you looked in the TimeControlDeltaTimeExample.cs script file as this shows how to use the TimeController with DeltaTime.

    Do you have the 01:01 time stored as a float internally?

    If it is just a formatting issue and you want the 1.01 to be displayed as 01.01 then you would just use floatvalue.ToString("00.00") instead of just ("0.00").

    Does that make sense?

    Thanks again,
    Justin
     
  3. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    Just a quick update on the "update" :)

    I have been working on the Playmaker and UScript integration as well as integration into iTween, HOTween, 2DToolkit and 2DPlatformController. These are coming along nicely, but not quite ready yet.

    Thanks for your patience.

    Justin
     
  4. imtrobin

    imtrobin

    Joined:
    Nov 30, 2009
    Posts:
    1,548
    Hi Justin, can you send an update which fixes the sample for U4? The sample scene is broken
     
  5. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    Hi imtrobin,

    Have you installed the U4 package? There is a U4 package that is included that will make things U4 compatible.

    Let me know how you get on,

    Justin.
     
  6. BTStone

    BTStone

    Joined:
    Mar 10, 2012
    Posts:
    1,422
    Hows the update going on?
     
  7. imtrobin

    imtrobin

    Joined:
    Nov 30, 2009
    Posts:
    1,548
    Yes, installed U4 package, and samples still break.
     
  8. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    Hi, what happens to the examples? What breaks? Also, did you remove all other time control files as stated in the documentation before installing the U4 package otherwise you may get unconnected prefabs.

    Justin.
     
  9. MonsterAndGlitch

    MonsterAndGlitch

    Joined:
    Jan 28, 2013
    Posts:
    5
    Very much looking forward to the PlayMaker integration, hope to see that soon :)
     
  10. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    Hello MonsterAndGlitch and everyone else,

    I have been working hard on the next update on and off over the last few weeks and intend on continuing working on it all next week too. This is going to be a huge update so the version number will be bumped to v2.0. There is lots to look forward to :D

    Justin
     
  11. BTStone

    BTStone

    Joined:
    Mar 10, 2012
    Posts:
    1,422
    Today I received the beta for 2.0 and it works great with

    - HOTween / iTween
    - 2D Toolkit
    - 2D Platform Controller

    PlayMaker Support is also coming (though you can access the important Pause-Method with the PlayMaker Actions "Invoke Method" or "Call Method"). Author is super nice and delivers great support!
    Looking forward to future updates!
     
  12. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    Thanks for your kind words BTStone :D

    A little something for everyone else while we just finish with this release. Here are the brand new looking inspector controls. This new version introduces the ability to time control current and future 3rd party assets.

    *NEW* Global Time Controller (For global time changes)

    $GlobalTimeController.png

    Time Controller (For group time control)

    $PauseController.png
    Obviously you can choose what ever speed you like, these are just quick debug buttons for quick testing​

    3rd Party Integration

    $Scripts.png

    Justin
     
    Last edited: Dec 1, 2013
  13. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    The Time Control and Pause Kit
    v2.0 RELEASED

    Version 2.0 has introduced 3rd party integration with HOTween, iTween, 2D Toolkit, 2D Platform Controller and the awaited full PLAYMAKER integration!

    $Inspector.jpg

    Features
    • Full support for Unity 3.5 and Unity 4+ (Free and Pro).
    • Easy to use custom Unity 3D editors.
    • Time Group Control the objects you want to.
    • Time Global Control to pause everything.
    • Works with Mecanim and Legacy Animations.
    • Works with Shuriken and Legacy Particles.
    • Works with DeltaTime coded Functions.
    • Full PLAYMAKER Integration.
    • 3rd Party Support for iTween.
    • 3rd Party Support for HOTween.
    • 3rd Party Support for 2D Platform Controller.
    • 3rd Party Support for 2D Toolkit.
    • Slow and Speeds Up Audio too if required.
    • Does not use TimeScale for group pause.
    • Full sound effects can be customised and turned on if required.
    • Fully Event Driven for advanced custom actions.
    • Clean, short and simple C# code.
    • No external DLLs or external resources.
    • Full documentation included.
    • Fully documented examples.

    3rd Party Integration and Support

    $3rd Party.jpg

    Version 2.0

    New “Global Pause/Resume Control” script and prefab.
    PLAYMAKER integration (Custom Actions and Custom Events).
    HOTween support.
    iTween support.
    2D Platform Controller support.
    2D Toolkit support.
    Added template system for easy integration with other current and future 3rd party assets.
    Added support for Unity 4.3.

    IMPORTANT FOR v1.x and 2.0 Beta UPGRADERS

    This is a massive release and a lot has changed to make way for the new functionality. Please read the upgrade documentation.

    Asset Store Link: "Get the Time Control and Pause Kit".
     
    Last edited: Dec 3, 2013
  14. RogDolos

    RogDolos

    Joined:
    Oct 16, 2012
    Posts:
    42
    Is it possible to use this to create a localized time-slowed effect around a player, within a range / bubble? So the rest of the world (and other players if multiplayer) is not affected, but instead of specific types of things, based on range while in effect?
     
  15. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    That is a really good idea. It doesn't do it at present, but it would be quite easy for you to implement.

    Justin
     
  16. 2Dboomer

    2Dboomer

    Joined:
    Jul 16, 2012
    Posts:
    35
    Hi Justin, can it support uScript ? And there havs an important thing: can it control yield function? like yield WaitForSeconds(5), stopped when yield 3 seconds, and wait a while to continue yield the last 2 seconds? I have been brought another plugin (called pause controller), it can pause many things except yield function, when pause a object everything has stopped but yield function will continue, it drive me crazy. If you solved this problem it's perfect.
     
  17. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    Hello 2Dboomer,

    Firstly, uScript is next on my list. We just added support for Playmaker and a host of other 3rd party things and uScript is next.

    Yes, it can control a yield statement with an in built function :)

    Justin
     
  18. 2Dboomer

    2Dboomer

    Joined:
    Jul 16, 2012
    Posts:
    35
    Hello Justin:
    That's a really good news!!! Can't wait to pay and use if add uScript support to it (just because I used uScript all the time) :)
    Can you tell me what time will you add to? Thanks!
     
  19. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    I'll definitely post here when I add the support. Have to learn uScript first before I can develop the plugin for it :D

    For everyone else version 2.0 was submitted to the Asset Store last week, but is still waiting in the queue :|

    Justin
     
  20. 2Dboomer

    2Dboomer

    Joined:
    Jul 16, 2012
    Posts:
    35
    Hello Justin:

    Do you finished uScript feature yet?

    Now I want to add some feature to my game , so I have to decide whether I can use this plugin.
     
  21. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    Hi there,

    I'll be back working on it on Monday after the Holidays. One question for you, how would you see it working best with uScript?

    Happy new year,

    Justin
     
  22. Apiweb

    Apiweb

    Joined:
    Nov 26, 2011
    Posts:
    57
    Only a suggestion, I think it would be cool to integrate it with the SoundManager Pro, currently have used this plugin to manage the audio globally.
    Success to the plugin, I'll buy it this week.
     
  23. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    Hello Apiweb,

    You should already be able to control the sound with the latest version of the Time Controller no matter what audio plugin you use. You can use the in built Time Controller event system to trigger your audio plugin sounds when you want and even use it to play back the sound at the desired speed if you want the audio time stretched.

    I hope that helps,

    Justin
     
  24. Hamesh81

    Hamesh81

    Joined:
    Mar 9, 2012
    Posts:
    405
    Hi Justin,

    I just discovered this system and it looks brilliant! I have a few questions about it if you don't mind:

    1) Is it possible to use this system alongside Unity's Timescale? For example, I have a script using timescale which globally slows/speeds up the effect of physics. Since the Time Controller can not (correct me if I'm wrong) slow the effect of physics, I thought I would first use my script to globally slow everything and then using the Time Controller increase the speed of specific objects such as the player. This way everything (including physics) would be slowed, but the player would still be able to move at real-time.

    2) If some of my animations do not have default speeds of 1, will this have an effect on the way they are slowed down/sped up using the Time Controller? I ask because my animation speeds are calculated based on a player's stats, which are likely to be different for each player and will definitely be different as the player progresses and improves their stats.

    Looking forward to your reply on this great system!
     
  25. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    Hi Hameesh81,

    1) This would work perfectly in your given example.

    2) There are several ways of implementing the speed changed to your animations with the Time Controller. One of the ways is to use the Time Controller event system which gives you complete control over the speeds which will work great in your case. Also, using the new custom template implemented in v2.0 you could automate this :)

    You could also use the template system to automate your first question too without any further coding.

    All the best,

    Justin
     
  26. Hamesh81

    Hamesh81

    Joined:
    Mar 9, 2012
    Posts:
    405
    So I'm wondering, does the system store an animations initial speed first or how does it know what speed to return the animation back to after the time shift?
     
  27. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    If you the template script you can store the true animation speed and use it as a speed reference when the Time Controller automatically changes the speed.
     
    Last edited: Jan 7, 2014
  28. Hamesh81

    Hamesh81

    Joined:
    Mar 9, 2012
    Posts:
    405
    Ah ok, that makes sense then.
     
  29. 2Dboomer

    2Dboomer

    Joined:
    Jul 16, 2012
    Posts:
    35
    Hello Justin:

    Like how does it work with C# is OK, just make some api to call for uScript I think it's perfect.
    I am eager to add Time Control to my game, please let me know if you finished the feature :) Thanks!
     
  30. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    Thanks 2DBoomer. I also just sent you a PM about the uScript support.
     
  31. 2Dboomer

    2Dboomer

    Joined:
    Jul 16, 2012
    Posts:
    35
    Hi Justin:

    I just send my invoke number to you by PM, please check it out.

    And can't wait to work on the uScript version :)
     
  32. Hamesh81

    Hamesh81

    Joined:
    Mar 9, 2012
    Posts:
    405
    I bought this a few days ago and I have a few questions:

    1) Is it possible to globally slow time (not pause)? I can only find this option for objects/groups
    2) Is there a way to be able to check the current "speed" the TimeController is at? eg. When using Unity's timescale I can setup the conditional:
    Code (csharp):
    1. if (Time.timeScale == 1.0f)
    To check whether we are running at realtime, in slow mode etc, and then do something based on at which speed we are running, if that makes sense.
    3) I am having trouble trying to use this alongside some physics functionality. In particular AddForce. I have AddForce controlling both the character movement and the jumping, but while in slow mode the movement speed isn't affected at all yet if I try to jump the character only jumps to about half their normal height. So I'm wondering does the TimeController affect AddForce and other physics or not?
     
  33. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    Hi 2Dboomer and Hamesh81,

    Excellent. I'm away for the beginning of the week, but will get the beta packaged up for you mid week and get it over to you. Enjoy :)

    I can add this to the global controller for the next release.

    Yes, you can check the ControllerSpeedPercent to get a percentage or the ControllerSpeedZeroToOne value to get the value as a 0 to 1 value on the controllers.

    Changing the physics time is a little more complicated as they are effected by the global gravity. Pausing and resuming the rigidbody works fine, but you might need to do some additional work on the velocity and angularvelocity within an update function to keep the velosities at the speed you want to keep them at. The update to the global Controller (as in your point 1) will help with this as it will globally effect everything. With the way the global controller works you'll be able to effect everything apart from your character if that is what you wanted.

    All the best,

    Justin
     
  34. 2Dboomer

    2Dboomer

    Joined:
    Jul 16, 2012
    Posts:
    35
    Hi Justin,

    How about uScript version?
     
  35. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    Hi 2Dboomer,

    I sent an email with some information on it to the address you provided. Did you receive it? Also, unfortunately due to the insane weather here in the South West of England we have been on and off of power all week and looking like it is not improving next week either, so updating is proving hard in between power outages.

    The good news is that the Global Time Control uScript is almost complete, then I'll be able to move onto the Group Time Control. I'll send you the update for the Global Pause Control when its ready for you to have a test with.

    If I don't post an update here for a few days it will be because of our power.

    Sorry :(

    Justin
     
  36. 2Dboomer

    2Dboomer

    Joined:
    Jul 16, 2012
    Posts:
    35
    Hi Justin:

    Seems I don't receive your email yet.

    Please sent me again if you free, Thank you!

    I have been pm my address to you.

    -2dboomer
     
  37. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    Hi 2dboomer,

    I'll send it again. Check your junk folder incase it went in there.

    Justin
     
  38. copenhagenjazz

    copenhagenjazz

    Joined:
    Oct 2, 2005
    Posts:
    45
    ---- NEVERMIND ----

    I was being stoopid. I was editing a prefab rather than an instance. Please disregard the question below. Sorry

    Hi SketchWork

    I have just purchased your asset and intend to use it together with Playmaker. However I am experiencing some issues;

    1; I install SWP and the playmaker extension as instructed in the documentation

    2; I add the TimeGlobalController prefab from SWP_TimeControl folder

    3; In playmaker I set up a FSM and add the SWP_Timed Global Pause PM action

    4; However now I am stuck. How do I hook this action up to the TimeGlobalController prefab present in my scene? I can navigate to and assign the TimeGlobalController prefab in the project asset folder but not the instance in my scene. It doesnt work and also throws an error so clearly I am missing a step somewhere. I have tried simply dragging the prefab over on top of the "Time Global Controller*" slot but this doesnt work. The other option is to press the small circle next to the slot but from there you can only navigate to the prefab in the project asset folder.

    Thanks and I hope you can help out a silly art monkey with this :)

    Janus
     
    Last edited: Feb 24, 2014
  39. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    hehe, was just going to reply. Glad you are all good now :)

    Justin
     
  40. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,462
    Very nice plugin,

    Does it support LeanTween ?
     
  41. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    Hello rocki,

    Can't see why it wouldn't work with LeanTween. What are you thinking of using the Time Controlller with LeanTween for?

    Thanks, Justin
     
  42. awardell

    awardell

    Joined:
    Feb 5, 2014
    Posts:
    71
    Hey, I have a couple of questions about this before I consider making a purchase. I apologize in advance if I've missed where any of my inquiries were already covered!

    • Does this work well with coroutines? If I have an object which spawned a coroutine, will affecting the speed of that object affect the coroutine as well? If not, is there a workaround you know of for this?
    • Is it simple to pause mecanim animations only for particular objects, or for all but particular objects?
    • Is this tool capable of completely pausing particular audio in the same manner as objects?
    • Where can I view documentation for this tool?

    Thank you very much! I hope this tool will work for my purposes.
     
  43. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    Hi awardell,

    Yes, this works with coroutines.

    Yes, you can pause certain mechanim animations via the group pause functionality.

    Yes, audio can also be paused.

    I plan to make the documentation available on my website, but I'm currently redesigning it so at present it is only available in the asset itself.

    I hope that helps you.

    All the best,

    Justin
     
  44. thyriax

    thyriax

    Joined:
    Mar 21, 2014
    Posts:
    5
    Hi Justin!
    I was looking for a pause tool using Playmaker and i buy yours...
    But, i've got a problem...
    Global Controller is working well, but when i want to use the Group Controller, nothing happens.
    To understand, I've build a small new scene with a rotating cube (rotation made with FSM PlayMaker).
    Adding another FSM to make the pause fonction (with SWP Time Controller Action).
    Connecting the "Time Group Controller " from time group controller prefab from the scene.
    Within Pause Fonction, i'm using "Esapce Key" to active the SWP action.
    But when i lauch and press escape key, FSM work but nothing happens. The cube still rotating and TimeGroupController was 0%...
    Any Tips?

    Thanks!
     
  45. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    Hello thyriax,

    The pause Group Controller should work well with or without Playmaker. If you want to email me over that small test scene you made I'll take a look for you to see whats been missed. The support email address is in the asset documentation.

    Take care and thanks for the purchase.

    Justin
     
  46. jonnyasmar

    jonnyasmar

    Joined:
    Feb 11, 2014
    Posts:
    2
    So... I just spent $20 on this, thinking it would be a quick and easy way to implement bullet-time like functionality. However, upon installing and playing around with it, I immediately noticed a few things that were misleading in the description. First, I began by throwing a controller group on a few things. While it slowed down the animations, it didn't slow down anything else... No physics, movement logic, nothing. Am I missing something here?

    Secondly, and the primary reason for my post, is that after adding a global controller to the scene for testing purposes and setting it to pause, my game is now indefinitely paused. Even after trying to completely remove the asset, my game is still stuck on pause... What does this plugin do that would persist beyond it even being removed (prefabs and all)?

    PS I sent you a message via Facebook about a week ago and received no response. Are you still supporting this? Or did I just waste $20 on an asset that won't accomplish what I need and can't get the help necessary to use it. As it stands, my game is currently broken until I can figure out what this asset did to my scene, so this is an urgent matter if you can please reply ASAP.


    *edit* I just discovered that your asset modifies the actual timescale of the project, so I've got that issue fixed. I'm still at a complete loss as to how this asset can be used to slow down certain objects. All it is doing for me is slowing animations... what good is this asset if it doesn't support physics or actually slow down the logic happening in update/fixedupdate?
     
    Last edited: Apr 9, 2014
  47. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    Hello jonnysdmar,

    I just checked and saw you sent a message to our Facebook page. The Facebook page isn't checked regularly as it is a completely different aspect of our business which is why we provide a support email address on the asset page. Also, I understand from your message you wanted the asset for free, unfortunately it would not be fair to provide the asset for free because of all the other people that have purchased the asset.

    The Global Controller effects the timescale because it is to be used to pause and resume the entire game. It does however provide you the ability to still animate the menus so your menus are not frozen.

    The Group Controller does not use the timescale and can be used to slow down and speed up aspects of your game. As outlined in the documentation you can use either ControllerSpeedPercent (0f to 100f) or ControllerSpeedZeroToOne (0f to 1f) to effect your Update() or FixedUpdate() logic.

    For example: MovementSpeed can be changed to MovementSpeed * GroupController.ControllerSpeedZeroToOne

    For DeltaTime functions example: Something * DeltaTime can be changed to Something * GroupController.TimedDeltaTime()

    Bother of these work fine. For physics you can capture the OnGroupSpeedUpEvent or OnGroupSlowDownEvent and do any physics calculations in there for your game.

    Justin
     
  48. jonnyasmar

    jonnyasmar

    Joined:
    Feb 11, 2014
    Posts:
    2
    Justin, thanks for the quick reply.

    Actually, I was interested in doing some sort of promotional exchange, which I did mention in that Facebook message.

    It may be worth noting somewhere that using the pause debug button on the global time controller in the Editor will effect the global timescale permanently (reverting settings didn't seem to work for me).

    I thought this asset supported the Unity physics engine? It sounds like I can't use this unless I'm doing my own physics calculations? In which case, I may well have done that myself, no?

    I'm sorry, but I feel like I'm still going to end up writing a majority of the time control from scratch, which I was hoping to avoid with this asset. Can you provide some better examples of how your asset may give me an advantage in this regard and how I may go about doing it? Otherwise I'm going to have to request a refund for this asset as it may actually be of no use to me.
     
  49. SketchWork

    SketchWork

    Joined:
    Jul 6, 2012
    Posts:
    254
    Didn't realise about the possible bug with the pause within the edit freezing everything. I'll check that out as the revert should have still worked.

    I'm out of the office for a few days, but I'll have a good look into a better physics example upon my return.

    Justin
     
  50. thyriax

    thyriax

    Joined:
    Mar 21, 2014
    Posts:
    5
    Justin.
    I've sending you 2 mails with my problem using your plug with PlayMaker.
    You didn't answer, did you forget me?