Search Unity

Livity - The Live Coding Tool for Unity

Discussion in 'Assets and Asset Store' started by bamboo, Aug 12, 2013.

  1. G.E.Team

    G.E.Team

    Joined:
    Aug 21, 2013
    Posts:
    34
    Wow really fast, thanks you. This is a new Era of programming experience. i'm so excited.
     
  2. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Livity 0.2.0 with support for live coding from Visual Studio 2012 and 2013 is here!



    Have fun!
     
  3. BuildABurgerBurg

    BuildABurgerBurg

    Joined:
    Nov 5, 2012
    Posts:
    566
    Rodrigo you're a genius.. :)
     
  4. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    :)

     
  5. neoxeo

    neoxeo

    Joined:
    Jun 1, 2013
    Posts:
    32
    Does it work with Visual Studio Express or Visual Studio Pro is required ?

    Thank you for your work on Livity !
     
  6. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Unfortunately the Visual Studio SDK doesn't allow extensions for Visual Studio Express, only templates.

    Thanks for you support, neoxeo!


     
  7. Render-Knight

    Render-Knight

    Joined:
    Aug 26, 2013
    Posts:
    28
    Work perfect with my VS 2012 Pro.

    Run In Background in Player Settings is very useful. Thanks for your new video.

    It would be great if Watch.Expression(..) can be used with VS 2012. Anyway Livity C# is still awesome. :)
     
    Last edited: Oct 26, 2013
  8. MythicalCity

    MythicalCity

    Joined:
    Feb 10, 2011
    Posts:
    420
    Just picked up Livity, very cool stuff. I just have 3 questions:

    1) Somehow I managed to trigger the Full Screen view when in the Livity window (like when you press spacebar in any unity editor window), it might have been some key combination. If that happens, how does one return the Livity window to non-fullscreen? Obviously spacebar won't work anymore as that will just type in the window. Resetting the unity window layout creates a bunch of errors and just hides the livity window completely.

    2) Code completion seems pretty finicky, most of the time when I type in a variable declaration inside a class the variable type doesn't show an auto complete. ie: the protection level auto completes (public) but then the type (int) doesn't, then after the type everything else does complete.

    3) Code completion doesn't seem to work for anything after a singleton instance ie: MySingleton.Instance.MyMethod() the MyMethod() or anything inside the instance doesn't show up as a dot suggestion.

    -JJ
     
  9. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Hi JJ,

    Thanks for your support!

    1.1) You can use the command palette to trigger the "Toggle Maximized" command with %J mx
    1.2) If you already have a file open you can use the Alt+Shift+Enter shortcut that does the same

    2) Thanks, I'll look into it.

    3) Where is MySingleton declared (in the same script or a different script)?

    Best wishes,
    Rodrigo

     
  10. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Ack :)

    Thanks for the support!
     
  11. MythicalCity

    MythicalCity

    Joined:
    Feb 10, 2011
    Posts:
    420
    It is declared in another script, this script is just referencing a method on the singleton instance. Not sure if it makes any difference but the singleton has a protected constructor (or whatever it is called):

    protected MySingleton () {}
     
  12. MythicalCity

    MythicalCity

    Joined:
    Feb 10, 2011
    Posts:
    420
    BTW, for anyone else with a Mac laptop, I found the gesture that makes windows fullscreen in Unity. If you do a pinch gesture on your trackpad it will make a Unity widow go fullscreen and vice versa :)
     
  13. MythicalCity

    MythicalCity

    Joined:
    Feb 10, 2011
    Posts:
    420
    Oh and it looks like dot autocompletion on arrays and lists doesn't work either. ie:

    int[] MyArray = new int[2];
    ...

    This works: MyArray.Length;
    This doesn't: MyArray[0].ToString();
     
  14. ProjectOne

    ProjectOne

    Joined:
    Aug 9, 2010
    Posts:
    442
    Wow looks fantastic.
    The Visual Studio 2012/2013 Live Coding, is it so that you can use VS as a code editor for a whole .proj with all the benefits of VS IDE (debugging, autocompletion.. ) PLUS the live updates in Unity or is it editing of single c# files (not part of a whole project) and you don't save within VS

    Would it work in this type of setup?
    Unity on MAC OSX (Mavericks)
    Visual Studio on VMWare Fusion in a Virtual machine windows running on same MAC

    Thank you
     
  15. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    This has been fixed and it will be available in the next update later this week.

     
  16. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Hi!

    Exactly!

    The version currently available only connects to a Unity running in the same machine but it should be possible to make it work in the setup you describe, I'll see what I can come up with.

    Thanks for your interest!
    Rodrigo
     
  17. MythicalCity

    MythicalCity

    Joined:
    Feb 10, 2011
    Posts:
    420
    I've also started to get this showing up all the time:

    !IsPlayingOrAllowExecuteInEditMode ()

    I'm not sure if it's related to Livity, but thought I'd ask.
     
  18. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    I haven't see that before, is there a stack trace in the log?

     
  19. Beervangeer

    Beervangeer

    Joined:
    Dec 4, 2012
    Posts:
    20
    Hello,

    I'm noticing, that when I activate livity for c#, frames are being dropped ones I'm in playmode.
    Does anyone else has this same problem?

    Any tips?
     
  20. jj-steele

    jj-steele

    Joined:
    Jul 24, 2012
    Posts:
    34
    When I make a build in iOS, I am seeing the LiveCode.dll in my build. How do I stop this? I can't use stripping with it in.
     
  21. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Hi, what's the rough percentage drop you're seeing?

    There are two scenarios I can imagine livity migh interfere with main thread performance:

    1. When livity has the keyboard focus it asks for EditorWindow repaints since it needs to redraw the cursor. Maybe it should slow down cursor animation in play mode to minimize interference.

    2. When there are visible code watches livity asks for EditorWindow repaints since it needs to redraw them (10Hz).

    Repainting should still be very efficient since it only draws the visible area and it was always under 10ms on my virtual machines (I haven't profiled livity on a real machine yet but I *assume* it would be faster) and half of that on average.

    All that being said in the worst case scenario - visible livity window with visible code watches - I can imagine livity stealing around 100ms out of the main thread on my virtual machine.

    So I guess it all depends on how much specific content frame rate is bound to main thread performance.

    UPDATE: Just tried a project of mine on a (real) MBP machine and I see no frame drops but my content is doing very little on the main thread.

     
  22. jj-steele

    jj-steele

    Joined:
    Jul 24, 2012
    Posts:
    34
    Any help with this? Getting close to submission and need to trim all the memory I can.
     
  23. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Hi, I'm sorry for the lag. Could you please send an email to livity4unity @ gmail with the exact list of Livity assemblies that are leaking into your build so I can find the best way to help you?

     
  24. Beervangeer

    Beervangeer

    Joined:
    Dec 4, 2012
    Posts:
    20
    Hi there,

    coming back on the framerate thing.
    it looks more like its freezing than dropping frames, sorry.

    it just stops a second sometimes.
     
  25. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Hi Beervangeer,

    Thanks for the feedback, it sounds like it could be garbage collection related. Please help me understand it a bit better. Did you notice any patterns that will trigger the freeze? For instance, do you have code watches in sight when it freezes?

     
  26. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    I'm happy to say it has been fixed in the just released Livity 0.2.1.

    Starting with 0.2.1 the Livity runtime has close to no overhead on the final build*.

    This release also includes code completion, text styling and performance improvements!


    * Watch.Expression being referenced will only add around 4KB to the final build. Live attribute being referenced adds around 3KB.


     
  27. Santtu-S

    Santtu-S

    Joined:
    Jul 9, 2012
    Posts:
    26
    Hi!

    Just had the time to test livity, my log is full of these :

    System.IO.FileNotFoundException: Could not load file or assembly 'C:\dev\projects\Proj1\Temp/Livity\Temp\S5837148.dll' or one of its dependencies. The system cannot find the file specified.
    File name: 'C:\dev\projects\Proj1\Temp/Livity\Temp\S5837148.dll'

    And Watch.Expression show stuff randomly (usually nothing at all) and the live updates doesnt seem to work anywhere - could be related to the problem above.

    Using the new 4.3 and 0.2.1 Livity for C#.

    Edit:

    Could be that You are using '/' char as directory separator (using windows), should You use Path.DirectorySeparatorChar or similar?

    Another thing is I looked at the folder where the compilers generate code, they seem to be missing .dll extension and that method is trying to find that file with a separator. So if it looks for S639E162.dll the folder contains S639E162 with no extension.

    Addition more errors :

    By using ctrl-j some of these things pop up :

    Invalid editor window Livity.Text.UI.Editor.Popups.TextPopup
    UnityEditor.EditorApplication:Internal_CallGlobalEventHandler()

    and

    Invalid editor window Livity.Text.UI.Editor.Popups.ListPopup
    UnityEditor.EditorApplication:Internal_CallGlobalEventHandler()

    And more stuff :

    By introducing Livity to project, frame rate suffers random drops that become more frequent when time passes by - leak somewhere? If I remove Livity, framerate comes back to normal.

    A day with Livity has gone from bad to worse, non of the main features work, even undo forgets stuff randomly (does save flush undo queue?) and to top it all steady framerate has dropped to "unplayable".

    Sorry to say this, but do You have some sort of refund policy since I feel like I bought 25 euros worth of bugs?

    Do the asset store maintainers even test these packages before publishing, seems that these kind of bugs would have been caught.
     
    Last edited: Nov 17, 2013
  28. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Hi Santtu, I haven't been able to test Livity with the released Unity 4.3 on Windows yet. I'm downloading it right now and I'll investigate what's going on.

    Thanks for the report!

     
  29. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Livity 0.2.3 is here including a rendering performance improvements, new script member navigation shortcuts (Alt-Up, Alt-Down) but more importantly a thread leak fix that was most likely behind most if not all of the reported slowdowns in the game view.

    Have fun being creative!
     
  30. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Hi Santtu S.,

    Unfortunately I was not able to reproduce most of the issues you reported on my Windows 7 x64 box running Unity 4.3.0f4 but the random drops in game view performance which I determined to be caused by a thread leak. This thread leak has been fixed in the just released Livity 0.2.3.

    Could you please contact me at livity4unity @ gmail with some more details about your environment such as the exact version of Windows and Unity you're running so I can better investigate it?

    Thanks again for the report,
    Rodrigo
     
  31. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Hi Beervangeer,

    Please let me know how the latest Livity 0.2.3 works for you. It includes a fix to a thread leak that I determined to be behind the slowdowns in my tests.

    Cheers,
    Rodrigo

     
  32. Santtu-S

    Santtu-S

    Joined:
    Jul 9, 2012
    Posts:
    26
    Hi,

    I'm using Windows 8.1 x64, and Unity 4.3.0f4. I can send You mail tho if You want.

    Tried the new version, framerate still dips constantly. Even if the game is not running the editor comes slow as hell.

    I tried to add Live and watches to the new version, same result. It tries to find dll, but looking at the folder where livity generates them, it contains exact same files but not with the dll extension. And as a new thing, I noticed that when Live is enabled and I edit code with Refresh/Save, almost every component in the scene loses all references, I get the console flashing red with full of null reference exceptions.
     
  33. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Hi Santtu S.,

    Thanks for trying the new version. Please do send me an email so we can iterate faster on nailing down any issues related to Livity in your project.

    Just as a quick sanity check could you try the LiveCSharpGrapher scene shipped with Livity in an new empty project?
     
  34. PatHightree

    PatHightree

    Joined:
    Aug 18, 2009
    Posts:
    297
    I like to keep 3rd party packages in a separate folder.
    But if I move Livity into a subfolder, I get this error message:
     
  35. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Of course!

    As of Livity 0.2.4 it is now possible to move the Livity folder anywhere in your project.

    PS: "Oculus Rift\MosquitoMe", hmmm, yummy ;)
     
  36. PatHightree

    PatHightree

    Joined:
    Aug 18, 2009
    Posts:
    297
    Awesome, thanks very much!

    PS: MosquitoMe is a hobby project that I just started, lets hope it matures into something worth releasing.
     
  37. 3D Omelette Studio

    3D Omelette Studio

    Joined:
    Oct 1, 2013
    Posts:
    130
    hi bamboo,

    i just purchased livity and am exited to use,

    i sent you a pm with a small request.

    awaiting for your pm reply.

    thank you very much.
     
  38. Nevermind

    Nevermind

    Joined:
    Jun 10, 2010
    Posts:
    66
    Hi!
    I bought Livity fo C# and found what seems like a bug: live code fails to compile when code uses static methods. Like this, basicallly: http://i.imgur.com/oOJdenM.png
     
  39. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Hi!

    Thanks for your support!

    Yes, currently static methods must be fully qualified but that will be fixed in a future update.

     
  40. xinoHITO1

    xinoHITO1

    Joined:
    Jul 2, 2012
    Posts:
    33
    This just looks sooo amazing! *.* cheers to you Rodrigo for such an awesome IDE.

    I have just one little question. Can you change the color presentation? Like having black background with white for the font? Like having the theme from sublime text
     
  41. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Hi,

    Thanks for your support!

    Currently Livity ships with four color schemes and it will be simpler to define your own in the future.

    You can select a different color scheme via the Command Palette - %J scs - (Ctrl+J/Command+J followed by scs from Select Color Scheme) or via the preferences window, Appearance section, Text Editor Color Scheme setting. You can open the Livity preferences window by clicking the cog button on the top right corner of the Livity editor.

    Enjoy!

     
  42. HarryAtomic

    HarryAtomic

    Joined:
    Aug 24, 2012
    Posts:
    2
    Hi,

    I've just bought the Livity C# editor and I'm having some trouble getting live coding to work. I've added the include statement (include Livity.Features.LiveCoding;) and added the [Live] tag to my FixedUpdate function. Unfortunately, every time I update I get the following error message in my inspector:

    Assets/Scripts/Enemy/EnemyMovement.cs(21,24): CS0572: `States': cannot reference a type through an expression; try `EnemyMovement.States' instead

    For me to see any changes in my script I need to right click and click "Save and Refresh".

    Thanks
     
  43. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Hi DarKKendO,

    Thanks for your business!

    Is States the name of a nested type?

    If it is a nested type then it must be qualified with the outer type name for now - as in EnemyMovement.States - this will be fixed in the next update.

    Cheers!

     
  44. Sildaekar

    Sildaekar

    Joined:
    Jul 8, 2013
    Posts:
    95
    A few things that could use improvement:

    +Ability to set the size of the Command Panel font (something other then just small or large)
    +Collapsing of methods, regions, etc...
    +Auto-complete does not work for Linq queries
    +Sometimes the cursor will disappear when it's beside brackets or parentheses

    That's all I can think of at the moment...over all still a great asset though!
     
  45. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,349
    Will it work on Unity 4.1.5f that i use ?

    I cant upgrade Unity in fear will break my project, so i am stuck with this version and if it is only for 4.2.2 and above i wont be able to use it
     
  46. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Unfortunately no. 4.2+ is currently required.
     
  47. luispedrofonseca

    luispedrofonseca

    Joined:
    Aug 29, 2012
    Posts:
    943
    This looks very interesting, but two months since the last update make me think that this could be abandoned soon.

    Bamboo are you still working actively on this? I saw you mentioned a new update coming but nothing since.
     
  48. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Yes. Some shortcuts I took with the original c# support implementation are requiring a bit more rework to get it where I want to take it but stay tuned!

     
  49. fanjules

    fanjules

    Joined:
    Nov 9, 2011
    Posts:
    167
    I see this is now on the 24hr deals and I'm interested... but notice there are full "livity" and "livity c#" options. I only really code in c#, and would buy that one were it not for the fact that full livity is currently cheaper for a brief time. However, reading that some users have noticed an impact on stability or performance I think I will pay the extra and just go for the C# version. I also try to keep my third party assets down to a minimum and I notice the C# version is a little smaller. Other than missing JS and Boo support do I lose anything else by just going for the C# version?

    Another question is how keenly supported is livity - a lot of assets are abandoned by their developers after the initial rush so I would like some reassurrance that this will be an ongoing project rather than abandonware. It's not so much a problem of paying the asking price but investing the time in an asset which may become unusable in future releases of Unity if the Asset isn't updated.
     
  50. StephanM

    StephanM

    Joined:
    Aug 20, 2013
    Posts:
    25
    Same boat here. Why not put the single-version assets on sale at the same time?