Search Unity

  1. Check out our Unite Austin 2017 YouTube playlist to catch up on what you missed. More videos coming soon.
    Dismiss Notice
  2. Unity 2017.2 is now released.
    Dismiss Notice
  3. The Unity Gear Store is here to help you look great at your next meetup, user group or conference. With all new Unity apparel, stickers and more!
    Dismiss Notice
  4. Introducing the Unity Essentials Packs! Find out more.
    Dismiss Notice
  5. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice
  6. Unity 2017.3 beta is now available for download.
    Dismiss Notice

Livity - The Live Coding Tool for Unity

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

  1. bamboo

    bamboo

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

    The C# version does support watching expressions inline (code watches) but it doesn't support single-step debugging or any other form of breakpoints.

    I'm not providing trial versions currently.

     
  2. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    That's completely aligned with my plans. I want Livity to provide not only live coding and coding assistance capabilities but also a great text editing experience. At the same time I recognize people are very attached to their editors of choice and workflows so I'd also like to give them the choice when that can be implemented in a cost effective way.
     
  3. fmarkus

    fmarkus

    Joined:
    May 22, 2010
    Posts:
    156
    Thank you that's very kind!
     
  4. bizziboi

    bizziboi

    Joined:
    Feb 24, 2013
    Posts:
    17
    While at it, would it be possible (at one point) for Livity to support the mixing of languages that Unity never fixed?

    While they say you can use any of the three languages, it's not really true. You'd want to use C# for engine (if only for the middleware or engine layer), boo for it's DSL capacities, and a c-layer driving the boo layer.
    I don't think this is feasible in Unity. You can hack your way to 2 layers by placing your code in very ugly places, but otherwise, no deal. Something that has been standard in games for 15 years or so (Engine calls Lua which calls engine) can't be done, whereas in reality as far as I can tell it would just need a compiler step to parse the interfaces before the true compile.

    Anyhow, long rant. Can you tell (and you know the internals of Unity and mono well) if this would be feasible with Livity?

    Thanks :eek:)
     
  5. whydoidoit

    whydoidoit

    Joined:
    Mar 12, 2012
    Posts:
    367
    Love the idea! Bought the product, unfortunately Goto Symbol fails for me on my project:

    Code (csharp):
    1.  
    2. Platform assembly: /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/mono/2.0/Boo.Lang.Useful.dll (this message is harmless)
    3. Platform assembly: /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/mono/2.0/Boo.Lang.Useful.dll (this message is harmless)
    4. Platform assembly: /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/mono/2.0/Boo.Lang.Useful.dll (this message is harmless)
    5. Platform assembly: /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/mono/2.0/Boo.Lang.Useful.dll (this message is harmless)
    6. Platform assembly: /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/mono/2.0/Boo.Lang.Useful.dll (this message is harmless)
    7. Platform assembly: /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/mono/2.0/Boo.Lang.Useful.dll (this message is harmless)
    8. System.NotImplementedException: CastExpression
    9.   at ICSharpCode.NRefactory.Visitors.NotImplementedAstVisitor.VisitCastExpression (ICSharpCode.NRefactory.Ast.CastExpression castExpression, System.Object data) [0x00000] in <filename unknown>:0
    10.   at ICSharpCode.NRefactory.Ast.CastExpression.AcceptVisitor (IAstVisitor visitor, System.Object data) [0x00000] in <filename unknown>:0
    11.   at Livity.Features.CodeInsight.CSharpProvider.ExpressionConverter+ExpressionConverterVisitor.ConvertExpression (ICSharpCode.NRefactory.Ast.Expression expression) [0x00000] in <filename unknown>:0
    12.   at Livity.Features.CodeInsight.CSharpProvider.ExpressionConverter.Convert (ICSharpCode.NRefactory.Ast.Expression expression) [0x00000] in <filename unknown>:0
    13.   at Livity.Features.CodeInsight.CSharpProvider.ModuleConverter+ModuleConverterVisitor.ConvertExpression (ICSharpCode.NRefactory.Ast.Expression expression) [0x00000] in <filename unknown>:0
    14. System.NotImplementedException: CastExpression
    15.   at ICSharpCode.NRefactory.Visitors.NotImplementedAstVisitor.VisitCastExpression (ICSharpCode.NRefactory.Ast.CastExpression castExpression, System.Object data) [0x00000] in <filename unknown>:0
    16.   at ICSharpCode.NRefactory.Ast.CastExpression.AcceptVisitor (IAstVisitor visitor, System.Object data) [0x00000] in <filename unknown>:0
    17.   at Livity.Features.CodeInsight.CSharpProvider.ExpressionConverter+ExpressionConverterVisitor.ConvertExpression (ICSharpCode.NRefactory.Ast.Expression expression) [0x00000] in <filename unknown>:0
    18.   at Livity.Features.CodeInsight.CSharpProvider.ExpressionConverter.Convert (ICSharpCode.NRefactory.Ast.Expression expression) [0x00000] in <filename unknown>:0
    19.   at Livity.Features.CodeInsight.CSharpProvider.ModuleConverter+ModuleConverterVisitor.ConvertExpression (ICSharpCode.NRefactory.Ast.Expression expression) [0x00000] in <filename unknown>:0
    20. System.NotImplementedException: LambdaExpression
    21.   at ICSharpCode.NRefactory.Visitors.NotImplementedAstVisitor.VisitLambdaExpression (ICSharpCode.NRefactory.Ast.LambdaExpression lambdaExpression, System.Object data) [0x00000] in <filename unknown>:0
    22.   at ICSharpCode.NRefactory.Ast.LambdaExpression.AcceptVisitor (IAstVisitor visitor, System.Object data) [0x00000] in <filename unknown>:0
    23.   at Livity.Features.CodeInsight.CSharpProvider.ExpressionConverter+ExpressionConverterVisitor.ConvertExpression (ICSharpCode.NRefactory.Ast.Expression expression) [0x00000] in <filename unknown>:0
    24.   at Livity.Features.CodeInsight.CSharpProvider.ExpressionConverter+ExpressionConverterVisitor.VisitInvocationExpression (ICSharpCode.NRefactory.Ast.InvocationExpression invocationExpression, System.Object data) [0x00000] in <filename unknown>:0
    25.   at ICSharpCode.NRefactory.Ast.InvocationExpression.AcceptVisitor (IAstVisitor visitor, System.Object data) [0x00000] in <filename unknown>:0
    26.   at Livity.Features.CodeInsight.CSharpProvider.ExpressionConverter+ExpressionConverterVisitor.ConvertExpression (ICSharpCode.NRefactory.Ast.Expression expression) [0x00000] in <filename unknown>:0
    27.   at Livity.Features.CodeInsight.CSharpProvider.ExpressionConverter+ExpressionConverterVisitor.VisitMemberReferenceExpression (ICSharpCode.NRefactory.Ast.MemberReferenceExpression memberReferenceExpression, System.Object data) [0x00000] in <filename unknown>:0
    28.   at ICSharpCode.NRefactory.Ast.MemberReferenceExpression.AcceptVisitor (IAstVisitor visitor, System.Object data) [0x00000] in <filename unknown>:0
    29.   at Livity.Features.CodeInsight.CSharpProvider.ExpressionConverter+ExpressionConverterVisitor.ConvertExpression (ICSharpCode.NRefactory.Ast.Expression expression) [0x00000] in <filename unknown>:0
    30.   at Livity.Features.CodeInsight.CSharpProvider.ExpressionConverter+ExpressionConverterVisitor.VisitInvocationExpression (ICSharpCode.NRefactory.Ast.InvocationExpression invocationExpression, System.Object data) [0x00000] in <filename unknown>:0
    31.   at ICSharpCode.NRefactory.Ast.InvocationExpression.AcceptVisitor (IAstVisitor visitor, System.Object data) [0x00000] in <filename unknown>:0
    32.   at Livity.Features.CodeInsight.CSharpProvider.ExpressionConverter+ExpressionConverterVisitor.ConvertExpression (ICSharpCode.NRefactory.Ast.Expression expression) [0x00000] in <filename unknown>:0
    33.   at Livity.Features.CodeInsight.CSharpProvider.ExpressionConverter+ExpressionConverterVisitor.VisitInvocationExpression (ICSharpCode.NRefactory.Ast.InvocationExpression invocationExpression, System.Object data) [0x00000] in <filename unknown>:0
    34.   at ICSharpCode.NRefactory.Ast.InvocationExpression.AcceptVisitor (IAstVisitor visitor, System.Object data) [0x00000] in <filename unknown>:0
    35.   at Livity.Features.CodeInsight.CSharpProvider.ExpressionConverter+ExpressionConverterVisitor.ConvertExpression (ICSharpCode.NRefactory.Ast.Expression expression) [0x00000] in <filename unknown>:0
    36.   at Livity.Features.CodeInsight.CSharpProvider.ExpressionConverter+ExpressionConverterVisitor.VisitMemberReferenceExpression (ICSharpCode.NRefactory.Ast.MemberReferenceExpression memberReferenceExpression, System.Object data) [0x00000] in <filename unknown>:0
    37.   at ICSharpCode.NRefactory.Ast.MemberReferenceExpression.AcceptVisitor (IAstVisitor visitor, System.Object data) [0x00000] in <filename unknown>:0
    38.   at Livity.Features.CodeInsight.CSharpProvider.ExpressionConverter+ExpressionConverterVisitor.ConvertExpression (ICSharpCode.NRefactory.Ast.Expression expression) [0x00000] in <filename unknown>:0
    39.   at Livity.Features.CodeInsight.CSharpProvider.ExpressionConverter+ExpressionConverterVisitor.VisitInvocationExpression (ICSharpCode.NRefactory.Ast.InvocationExpression invocationExpression, System.Object data) [0x00000] in <filename unknown>:0
    40.   at ICSharpCode.NRefactory.Ast.InvocationExpression.AcceptVisitor (IAstVisitor visitor, System.Object data) [0x00000] in <filename unknown>:0
    41.   at Livity.Features.CodeInsight.CSharpProvider.ExpressionConverter+ExpressionConverterVisitor.ConvertExpression (ICSharpCode.NRefactory.Ast.Expression expression) [0x00000] in <filename unknown>:0
    42.   at Livity.Features.CodeInsight.CSharpProvider.ExpressionConverter.Convert (ICSharpCode.NRefactory.Ast.Expression expression) [0x00000] in <filename unknown>:0
    43.   at Livity.Features.CodeInsight.CSharpProvider.ModuleConverter+ModuleConverterVisitor.ConvertExpression (ICSharpCode.NRefactory.Ast.Expression expression) [0x00000] in <filename unknown>:0
    44. System.NotImplementedException: CastExpression
    45.   at ICSharpCode.NRefactory.Visitors.NotImplementedAstVisitor.VisitCastExpression (ICSharpCode.NRefactory.Ast.CastExpression castExpression, System.Object data) [0x00000] in <filename unknown>:0
    46.   at ICSharpCode.NRefactory.Ast.CastExpression.AcceptVisitor (IAstVisitor visitor, System.Object data) [0x00000] in <filename unknown>:0
    47.   at Livity.Features.CodeInsight.CSharpProvider.ExpressionConverter+ExpressionConverterVisitor.ConvertExpression (ICSharpCode.NRefactory.Ast.Expression expression) [0x00000] in <filename unknown>:0
    48.   at Livity.Features.CodeInsight.CSharpProvider.ExpressionConverter.Convert (ICSharpCode.NRefactory.Ast.Expression expression) [0x00000] in <filename unknown>:0
    49.   at Livity.Features.CodeInsight.CSharpProvider.ModuleConverter+ModuleConverterVisitor.ConvertExpression (ICSharpCode.NRefactory.Ast.Expression expression) [0x00000] in <filename unknown>:0
    50.  
    And an endless number of those...
     
  6. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Thanks!

    When you say Goto Symbol fails do you mean the dialog doesn't show up at all or that you are not able to navigate to some of the symbols in your project?

    Those exceptions while annoying shouldn't affect your ability to navigate to symbols but in any case I've fixed them and I'll be releasing a new update soon.
     
  7. whydoidoit

    whydoidoit

    Joined:
    Mar 12, 2012
    Posts:
    367
    I mean the Goto Symbol box is empty apart from a flashing cursor and Unity crashes shortly afterwards. Also typing something valid doesn't work so it's not just the display.
     
  8. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    That's bad, I'm sorry. I've been trying to reproduce it but so far I've been unable to, it would be of great help if you could provide a c# file that causes the problem, in any case I'll continue to investigate and keep you posted on my progress.

     
  9. whydoidoit

    whydoidoit

    Joined:
    Mar 12, 2012
    Posts:
    367
    Problem is that it is a big project and I've no idea what fails - will try something to identify, but it could be difficult. Just checking it in over a slow connection so I can play with it a bit.
     
  10. whydoidoit

    whydoidoit

    Joined:
    Mar 12, 2012
    Posts:
    367
    One thing that might be a problem is that the assembly is marked with an assembly targeting attribute (to mark it as an extension to a system I use). The project does make extensive use of generics, including my Linq replacement in an external DLL, which is used extensively in the project code.
     
  11. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    3,604
    I'm having a problem with Livity (c#) on my mac. I installed it, and it worked OK. But after closing Unity and reopening, Unity crashes and I have to "Force Quit" it. I had to delete the Livity folder to be able to load my project again.

    The following is the information for the crash from the editor log:

    Begin MonoManager ReloadAssembly
    [Livity] Post processing started...
    [Livity] Post processing Assembly-Boo-Editor.dll...
    [Livity] Post processing Assembly-CSharp-Editor-firstpass.dll...
    [Livity] Post processing Assembly-CSharp-Editor.dll...
    [Livity] Post processing Assembly-CSharp-firstpass.dll...
    [Livity] Post processing Assembly-CSharp.dll...
    [Livity] Post processing Assembly-UnityScript-Editor-firstpass.dll...
    [Livity] Post processing Assembly-UnityScript-Editor.dll...
    [Livity] Post processing Assembly-UnityScript-firstpass.dll...
    [Livity] Post processing Assembly-UnityScript.dll...
    Livity.Bytecode.AssemblyResolutionException: Failed to resolve assembly: 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'
    at Livity.Bytecode.BaseAssemblyResolver.Resolve (Livity.Bytecode.AssemblyNameReference name, Livity.Bytecode.ReaderParameters parameters) [0x00000] in <filename unknown>:0
    at Livity.Bytecode.BaseAssemblyResolver.Resolve (Livity.Bytecode.AssemblyNameReference name) [0x00000] in <filename unknown>:0
    at Livity.Bytecode.DefaultAssemblyResolver.Resolve (Livity.Bytecode.AssemblyNameReference name) [0x00000] in <filename unknown>:0
    at Livity.Bytecode.MetadataResolver.Resolve (Livity.Bytecode.TypeReference type) [0x00000] in <filename unknown>:0
    at Livity.Bytecode.ModuleDefinition.Resolve (Livity.Bytecode.TypeReference type) [0x00000] in <filename unknown>:0
    at Livity.Bytecode.TypeReference.Resolve () [0x00000] in <filename unknown>:0
    at Livity.Bytecode.Mixin.CheckedResolve (Livity.Bytecode.TypeReference self) [0x00000] in <filename unknown>:0
    at Livity.Bytecode.MetadataBuilder.GetConstantType (Livity.Bytecode.TypeReference constant_type, System.Object constant) [0x00000] in <filename unknown>:0
    at Livity.Bytecode.MetadataBuilder.AddConstant (IConstantProvider owner, Livity.Bytecode.TypeReference type) [0x00000] in <filename unknown>:0
    at Livity.Bytecode.MetadataBuilder.AddParameter (UInt16 sequence, Livity.Bytecode.ParameterDefinition parameter, Livity.Bytecode.ParamTable table) [0x00000] in <filename unknown>:0
    at Livity.Bytecode.MetadataBuilder.AddParameters (Livity.Bytecode.MethodDefinition method) [0x00000] in <filename unknown>:0
    at Livity.Bytecode.MetadataBuilder.AddMethod (Livity.Bytecode.MethodDefinition method) [0x00000] in <filename unknown>:0
    at Livity.Bytecode.MetadataBuilder.AddMethods (Livity.Bytecode.TypeDefinition type) [0x00000] in <filename unknown>:0
    at Livity.Bytecode.MetadataBuilder.AddType (Livity.Bytecode.TypeDefinition type) [0x00000] in <filename unknown>:0
    at Livity.Bytecode.MetadataBuilder.AddTypeDefs () [0x00000] in <filename unknown>:0
    at Livity.Bytecode.MetadataBuilder.BuildTypes () [0x00000] in <filename unknown>:0
    at Livity.Bytecode.MetadataBuilder.BuildModule () [0x00000] in <filename unknown>:0
    at Livity.Bytecode.MetadataBuilder.BuildMetadata () [0x00000] in <filename unknown>:0
    at Livity.Bytecode.ModuleWriter.<BuildMetadata>m__6 (Livity.Bytecode.MetadataBuilder builder, Livity.Bytecode.MetadataReader _) [0x00000] in <filename unknown>:0
    at Livity.Bytecode.ModuleDefinition.Read[MetadataBuilder,MetadataBuilder] (Livity.Bytecode.MetadataBuilder item, System.Func`3 read) [0x00000] in <filename unknown>:0
    at Livity.Bytecode.ModuleWriter.BuildMetadata (Livity.Bytecode.ModuleDefinition module, Livity.Bytecode.MetadataBuilder metadata) [0x00000] in <filename unknown>:0
    at Livity.Bytecode.ModuleWriter.WriteModuleTo (Livity.Bytecode.ModuleDefinition module, System.IO.Stream stream, Livity.Bytecode.WriterParameters parameters) [0x00000] in <filename unknown>:0
    at Livity.Bytecode.ModuleDefinition.Write (System.IO.Stream stream, Livity.Bytecode.WriterParameters parameters) [0x00000] in <filename unknown>:0
    at Livity.Bytecode.ModuleDefinition.Write (System.String fileName, Livity.Bytecode.WriterParameters parameters) [0x00000] in <filename unknown>:0
    at Livity.Features.LiveCoding.Framework.PostProcessing.ModulePostProcessing.Save () [0x00000] in <filename unknown>:0
    at Livity.Features.LiveCoding.Framework.PostProcessing.ModulePostProcessing.Run () [0x00000] in <filename unknown>:0
    at Livity.Features.LiveCoding.Framework.PostProcessing.ModulePostProcessingController.PostProcess (System.String file) [0x00000] in <filename unknown>:0
    at Livity.Features.LiveCoding.UI.PostProcessingTrigger.PostProcess (Livity.Features.LiveCoding.Framework.PostProcessing.ModulePostProcessingController controller, System.String assemblyFile) [0x00000] in <filename unknown>:0
    * Assertion at mini-generic-sharing.c:28, condition `jit_info' not met
     
  12. bamboo

    bamboo

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

    I'm sorry for the trouble, I'll be releasing a new version with a fix for that issue very soon.

     
  13. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    3,604
    Excellent news! While it worked, it was a very good asset. :)
     
  14. Sour

    Sour

    Joined:
    Apr 14, 2013
    Posts:
    23
    I just saw this on the Asset Store and could not help but grab it right away. If it worked as advertised, I thought, it would be FANTASTIC.

    Sadly, though, I'm having difficulty making it work..

    I'm currently running it on Mac, and every operation I do (change code, save, refresh) hangs Unity for several seconds (10~15 seconds).
    Does it run better on Windows? Are the Boo and/or UnityScript versions faster? How can I make the workflow as fast as it should be, because currently, it's defeating the purpose.

    Secondly, I've tried using the Live Code feature. I created a new project, imported the asset, opened up the LiveGrapher and LiveCSharpWindow demo scenes.. hit refresh, changed around some code and it doesn't seem to be working at all. Also, after hitting refresh and letting it recompile, it spits out the error "SystemException: Error running gmcs: Cannot find the specified file"

    Here's the error and stack trace:
    SystemException: Error running gmcs: Cannot find the specified file
    Mono.CSharp.CSharpCodeCompiler.CompileFromFileBatch (System.CodeDom.Compiler.CompilerParameters options, System.String[] fileNames)
    Mono.CSharp.CSharpCodeCompiler.CompileFromSourceBatch (System.CodeDom.Compiler.CompilerParameters options, System.String[] sources)
    Mono.CSharp.CSharpCodeCompiler.CompileAssemblyFromSourceBatch (System.CodeDom.Compiler.CompilerParameters options, System.String[] sources)
    System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromSource (System.CodeDom.Compiler.CompilerParameters options, System.String[] fileNames)
    Livity.Features.LiveCoding.CSharpProvider.CSharpLiveCodeCompiler.Compile (System.String originalCode, System.Reflection.Assembly[] assemblyReferences)
    Livity.Features.LiveCoding.CSharpProvider.CSharpLiveCodeCompiler.Compile (System.Reflection.Assembly liveAssembly, Boo.Lang.Compiler.Ast.Module liveModule, System.Reflection.Assembly[] assemblyReferences)
    Livity.Features.LiveCoding.Framework.Internal.LiveCodeTracker.Compile (Boo.Lang.Compiler.Ast.Module code)
    Livity.Features.LiveCoding.Framework.Internal.LiveCodeTracker.OnCodeChange (Livity.Languages.ParsingResultSnapshot parsingResultSnapshot)
    System.Reactive.AnonymousObserver`1[Livity.Languages.ParsingResultSnapshot].Next (Livity.Languages.ParsingResultSnapshot value)
    System.Reactive.AbstractObserver`1[Livity.Languages.ParsingResultSnapshot].OnNext (Livity.Languages.ParsingResultSnapshot value)

    I think this has great potential, and I'd love to see future updates and improvements on it, but mainly I'd love to be able to use it in the first place. =p
     
  15. bamboo

    bamboo

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

    That's very strange indeed and it's the first report of that kind so please help me understand it a little better. Which exact version of Unity are you running and which platform target is set on your project?

    Livity works best with the "PC, Mac Linux Standalone" target set.

    Currently the Boo and UnityScript versions are indeed a little faster but I'm sure I'll be able to get the C# live coding performance very close to them soon.

    And finally, yes, Livity does run faster on Windows because the Unity mono runtime has better threading and GC performance characteristics there and Livity makes extensive use of threading for concurrency but those 10-15s you report are completely unexpected. In any case the next C# update will load much faster on osx, I'm just wrapping up a few more improvements and I'll release it soon.







     
  16. bizziboi

    bizziboi

    Joined:
    Feb 24, 2013
    Posts:
    17
    Hi,

    I noticed that the syntax coloring was very odd in my code, and it seems the string coloring looks for escaped quotes but not for other escaped characters (either that or the order of precedence is off).

    When the last character is an escaped backslash it actually thinks the quotes are escaped, ie:
    string s = "c:\\test\\"+whatever;
    ....will actually think the string doesn't end and continue coloring as if inside a string.

    Cheers :eek:)
     
  17. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Good catch, bizziboi, thanks for the report!
     
  18. Sour

    Sour

    Joined:
    Apr 14, 2013
    Posts:
    23
    Hello bamboo,

    Thank you for the prompt reply. I am using Unity 4.2.1f4 on "PC, Mac Linux Standalone" as target.

    Does your C# package differ from the All-in-one package? I have the basic C# one.
     
  19. eskimojoe

    eskimojoe

    Joined:
    Jun 4, 2012
    Posts:
    1,442
    It does not work.


    1. My situation is that when the Unity update itself, the network connection gets disconnected. Can you update this so that the network connection does not get dropped?

    2. F3 - not working. Please add this key-press.

    4. Ctrl+G to go to line number. Not working

    5. I need a way to stop the game or pause the game to examine the variables or break-points. The reason for this is because the network RPCs send lots of data and there seems to be no way in Livity to slow it down to examine each packet or each send and receive.

    Test examples:
    - Use TNET / SFS2X / Photon / Unity Networking and examine the data-packets sent and receive, and dynamically alter the function parameters without dropping network connection and allow updating RPCs on the fly.

    - Sound debugging. You can download the Master Audio free or paid version. Update the sound coding on the fly. Livity gives multiple errors after that.
     
    Last edited: Sep 15, 2013
  20. eskimojoe

    eskimojoe

    Joined:
    Jun 4, 2012
    Posts:
    1,442
    (Removed) I'll wait for vendor response.
     
  21. mazzino

    mazzino

    Joined:
    Jan 30, 2012
    Posts:
    14
    Hi bamboo, I have same problem as Sour, running Livity for C# in Unity Pro 4.2.1f4 on Macbook Air 2012, getting same exception, no matter for which platform (tried standalone, ios, android), live coding doesn't work. Watch.Expression and evaluate function work fine.
     
  22. Kizo

    Kizo

    Joined:
    Dec 4, 2012
    Posts:
    12
    Livity just crashed Unity for me and I had to clear the cached scripts and remove the "using livity"-stuff to get it running again. Now Livity can't open the readme.md and stuff anymore. But it can open script files.
     
  23. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    1,991
    When my next payday comes around I might just buy the complete suite . Mono dev is a pain in the neck when you just want to edit a single line of code .

    Going to buy the whole thing , even though I code in C# 99% of the time . Thats out of respect for making such an awesome tool .

    One question , is their anyway to make the entire project without opening mono dev to create the classes .
     
  24. Kizo

    Kizo

    Joined:
    Dec 4, 2012
    Posts:
    12
    You can do it all in Livity.

    PS. Keeps crashing for me on save/refresh. Worked fine for a few hours then BAM. Might have something to do with the expression watch.
     
  25. Kizo

    Kizo

    Joined:
    Dec 4, 2012
    Posts:
    12
    Yeah,

    Crashed 100% of the time when I use Watch.Expression and hit Ctrl-J -> R -> Enter (Save/Refresh)
     
  26. bamboo

    bamboo

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

    Thanks for the information. I was able to reproduce it and I'm already working on a fix.

    The C# is a bit behind the other packages because I've been working on a series of improvements that I want to release together, I'll update it really soon.

     
  27. bamboo

    bamboo

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

    About (1) - could you share some more information, do you mean Livity is causing Unity to drop network connections?

    About F3 do you mean the usual Windows "Find Next" command, right? Makes sense.

    "go to line number", roger that.

    About (5), would it help to add a command to toggle code watch updates? In other words, you would be able to use code watches to inspect expressions in your code and use the command to stop them from updating so you could inspect their values. I have some other ideas for the future to make code watches more useful but those will take some time to mature.

     
  28. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Hi mazzino, I was able to reproduce the issue and it will be fixed in the next update.

     
  29. bamboo

    bamboo

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

    I'm sorry for the trouble. Does it happen with any expression, for instance, Watch.Expression(42)? Which version of Unity are you running, please?

     
  30. eskimojoe

    eskimojoe

    Joined:
    Jun 4, 2012
    Posts:
    1,442
    > About (1) - could you share some more information, do you mean Livity is causing Unity to drop network connections?


    Try to debug Unity Networking RPCs. If you modify an RPC, after that, the network connection drops and then you have to press stop/run again.


    Here is the use-case:

    Unity Networking takes ages to debug and ages to get the coding correct. My devs here spend months coding networking codes and have to make sure each RPC is correct.


    The reason for asking break-point usage is right now, using Mono takes ages to attach to Unity, takes ages to get break-point information when break-point on an RPC call.

    Then after some time, you need to restart both Unity and MonoDevelop because MonoDevelop debugger is unstable and lost the connection.

    It becomes mind-tearingly slow debug to debug RPC calls in Unity.


     
  31. Kizo

    Kizo

    Joined:
    Dec 4, 2012
    Posts:
    12
    4.2.1f4 (So, the very latest.)

    Yeah, any expression. :(
     
  32. bamboo

    bamboo

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

    I was able to reproduce a situation where any Watch.Expression would cause a crash in the current version of Livity and it's been fixed for the next update.

    Thanks for the report!

     
  33. Kizo

    Kizo

    Joined:
    Dec 4, 2012
    Posts:
    12
    Fantastic! How will we know when that's out? And is updating as simple as just replacing old files?

    Thank you!
     
  34. IllogicalGames

    IllogicalGames

    Joined:
    Apr 16, 2013
    Posts:
    131
    great tool. looking forward to buy it
     
  35. kork

    kork

    Joined:
    Jul 14, 2009
    Posts:
    212
    Your support mail address (livity4unity@groups.google.com) does not work.

    Where can I write support inquiries to?
     
  36. bamboo

    bamboo

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

    I'll update the package information, thanks.

    The email is livity4unity@gmail.com.

     
  37. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    The Asset Store should notify you by email but you can also follow the livity4unity twitter account.

    And yes, updating is just a matter of replacing old files.

    Cheers!


     
  38. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Hi fmarkus, I've sent you a private forum message.
     
  39. fmarkus

    fmarkus

    Joined:
    May 22, 2010
    Posts:
    156
    Me too!
     
  40. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Version 0.1.6 fixing all reported issues and including many improvements is out!
     
  41. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    3,604
    Hi Bamboo - There is an issue in my project that is different with the new update. Now, when I close Unity, I get a dialog that says:

    Fatal error! GetManagerFromContext: pointer to object of manager 'BuildSettings' is NULL (table index 11).

    The dialog only has one button - "Quit". Pressing this button causes Unity to lock up, and I have to force quit it.

    Removing Livity from my project makes Unity behave again.

    The editor log has this as the last information in the console:

    GetManagerFromContext: pointer to object of manager 'BuildSettings' is NULL (table index 11)

    (Filename: /Applications/buildAgent/work/cac08d8a5e25d4cb/Runtime/BaseClasses/ManagerContext.cpp Line: 112)


    edit:

    Strangely enough, this only happens if the Livity window has not been opened during that session. If you open Livity, then it does not error out on exit of Unity.
     
    Last edited: Sep 17, 2013
  42. whydoidoit

    whydoidoit

    Joined:
    Mar 12, 2012
    Posts:
    367
    Thanks for version 0.1.6 - I can confirm that this is now working for my project and shows the goto symbol box without exceptions.

    However it takes 22 seconds to show that on my Mac Book Pro Retina 15" using my smaller project (all C#), haven't tried it on my main game yet. Unfortunately it takes that amount of time on each press so it feels pretty unusable still :(

    I really hope you can get the performance up, it's so exciting to consider being able to code in this way without MonoDevelop or UnityVS/Visual Studio - but Goto Symbol is my primary method of navigation around my projects in MD and I'd need it to be of a comparable speed to that in order to actually script inside Livity.
     
  43. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Thanks, Jaimi, that's very good info, I was able to reproduce it and I'll be releasing a fix soon.
     
  44. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Great.

    That's bad, I'm sorry. Would you be willing to try a few release candidates to help me nail it?
     
    Last edited: Sep 17, 2013
  45. whydoidoit

    whydoidoit

    Joined:
    Mar 12, 2012
    Posts:
    367
    I'd be very happy to help, sure. I really would love this to be my new way of coding in Unity. Tried UnIDE but the intellisense missing for your own classes was a killer, that works great in Livity. Obviously the Live features are great too.

    I think you have this listed as a known issue - but Goto Declaration doesn't appear to do anything and just says it can find anything at the text location.

    My general coding workflow is to have lots of classes and then use Goto Declaration and Goto Symbol to navigate around the code - find in files too unfortunately :S

    What you are doing is totally great though, when building a code editor into Unity was mentioned at Unite 2012 I was unhappy with the idea - preferring just to get a decent version of MonoDevelop (with some actual refactoring that runs properly). Now I see where Livity is going I feel really positive about it.
     
  46. Sashimi_2

    Sashimi_2

    Joined:
    Jun 26, 2013
    Posts:
    30
    I just wrote you a nice 5 star review for the JS version and thought I catch up in this thread with some suggestion that are not specific to the tool but more general thoughts and suggestions, maybe you agree with some and like to pick them up.

    1) put a link to this thread on the assetstore item(s) (in the description)

    2) beside the current particle example, make an easy physics example for more armature programmers as many will have problems understanding the code of the particle example and are more likely to be scared away thinking this tool is for the advanced user only (its great for beginners to advanced)
    besides livity and physics are a great combo.

    3) make 1 or 2 easy video tutorials that cover the advantages of the live coding ability.

    4) link the promo video (that you already have) in the assetstore description.

    keep on working on livity :)

    Cheers,
    Sash
     
  47. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Thank you! I'm very glad to hear it.

    I'll contact you soon with a rc build for you to try
     
  48. bamboo

    bamboo

    Joined:
    Oct 9, 2012
    Posts:
    121
    Thank you very much for the great review, Sash! It made me really happy!

    All your suggestions make a lot of sense and I intend to act upon all of them, some sooner, some later but they are all definitely very good suggestions.

    Yes, I'll keep on working on livity! :)

    Cheers!
     
  49. Sashimi_2

    Sashimi_2

    Joined:
    Jun 26, 2013
    Posts:
    30
    I found a little bug wich can be annoying but easy to fix (just a guess, no plan if its easy or not)

    Invalid editor window UnityEditor.FallbackEditorWindow
    UnityEditor.EditorApplication:Internal_CallGlobalEventHandler()


    Reproducabel situation:
    I have a scrip active/open in livity
    ->Than go to scene (or any other) view and press space to have it fullscreen.
    ->After toggle back (again with space) Livity "lost" all open and or active scripts and prompt the above error message.

    ps. Using Livity for JS

    Cheers,
    Sash
     
  50. bamboo

    bamboo

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

    That's very annoying indeed. Upon investigating it I've discovered Unity is resetting the state of EditorWindows when a view is maximized and decided to report it as a bug, a repro is available here.

    I'll try to come up with a workaround though.

    Best wishes,
    Rodrigo