Search Unity

  1. If you have experience with import & exporting custom (.unitypackage) packages, please help complete a survey (open until May 15, 2024).
    Dismiss Notice
  2. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice

[RELEASED] "Logic Forge" 1.2 Code Generation

Discussion in 'Assets and Asset Store' started by winxalex, Oct 13, 2018.

  1. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    Bug is addressed.
     
    DavidLe360 likes this.
  2. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    UPDATE: In time you will understand in next Updates :). Aside from the joke you need to learn FSM and events overall(there are several tutorials about LF FSM and events also). I advice to read FSM in docs.
     
    DavidLe360 likes this.
  3. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    ListenEvent OnMouseEvents is fixed.
    In videos I saw in LogicEditor saying "Not Set" instead of Name of Logic.asset. I guess you have put LogicComponent on PefabInstance and you didn't Apply. So you added, but not Apply :D. Then you are selecting Logic.asset (which is just graph)......(Please read something about Prefab - PrefabInstances, Apply, RevertToPrefab)....
    Best approach for Beginner when working with prefabs is:
    1) Add LogicComponent to Prefab and assign Logic.asset. Automatically all Prefab Instances will have it.
    2) Modify values of Nodes/Components inside Prefab Instances or "RevertToPrefab" (Right click on the field)
     
    DavidLe360 likes this.
  4. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    Prefab is asset in the Project and Prefab instance is instance in the Scene.
    You have used Prefab "SM" in Prefab Instance Button. Usually with PrefabInstances you use PrefabInstance (ex. the "SM" PrefabInstance on the Scene). LF just warn you that Prefab "SM" will be used(Nothing wrong with that). If there is one "SM" Prefab Instance in the Scene like in your case, clicking "Auto" will find it and replace for you. If you have more PrefabInstances you need to choose which of "SM" PrefabInstances, you will use instead "SM" Prefab. If I were you I'll start with Hello World and play with Prefabs and Instances of the Cubes and Spheres to understand Unity workflow.
     
    DavidLe360 likes this.
  5. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    LightONOFF full project
     

    Attached Files:

  6. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    Visualization of the Events, for now?
     
  7. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    I could level down the tutorials, improve the workflow, but I can't change Unity workflow or teach people Windows basics, like replace the file :D. I hope this new tutorial will easy your life.
     
    Mark_01 likes this.
  8. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    1.3 uploaded and will be published soon. It is huge rework, improvement and redesign....thx to all your feedbacks especially @DavidLe360. This is for you guys.
     
    Mark_01 and DavidLe360 like this.
  9. DavidLe360

    DavidLe360

    Joined:
    Dec 24, 2018
    Posts:
    127
    Ohllla, can't wait to try it. But for now, I too busy .

    Thanks in advance for keeping this awesome asset growing :)
     
  10. DavidLe360

    DavidLe360

    Joined:
    Dec 24, 2018
    Posts:
    127
    :) Alway happy to know that I can help
     
    theRealWinxAlex likes this.
  11. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    You can comment LogicEditorWindow.cs and uncomment LogicEditorWindow1.cs so you can use more smooth experience with Unity new VisualElement APIs.
     
  12. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    Generics
     
    Mark_01 likes this.
  13. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    Sneak pick to new demo included with LG 1.35
     
    Last edited: Nov 27, 2020
    Mark_01 and StevenPicard like this.
  14. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    Unity with u2018 have introduced new Prefab work flow, so called nested Prefab,PrefabContent. LF is not one of the few if not the one which work with Prefabs as they are designed to, but API as with u2019.4 are still in Experimental:UnityEditor.Experimental.SceneManagement
    In point in time, I want to throw everything, cause that made huge impact of LF,but..., There are still area of Logic Forge that are affected by that, and side effects happen, so I apologize about that. Things like Undo, which personally bothers me the most.... So If You are person that want to create game in 3 clicks and resign if doesn't succeed, then you need probably to start doing something else in life. We are still far from creating game directly from our mind, so I expect your patience and persistence, you will feel like God when you create something (pouring life in those pixels) I promise you that.
     
    Last edited: Oct 7, 2020
    wersw73 likes this.
  15. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    I like to thx to all those guys who are too tired to click like on youtube videos, and especially those that clicked dislike, I hope that former, when stop hating themself or the world, will understand how much effort is needed to create those videos, not counting creating the LF. Thx again. :D
     
  16. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    859
    I love your videos with the voice over. Those, I am sure, take quite some time. However, I would like to see a new video (with the nice voice over) that goes through the full creation of a simple game. Even something as simple as a 3D Pacman or 3D Space Invaders clone. I've found that your product has evolved and improved so much that it needs an updated tutorial since so much has changed (and been added.) I would love to help out with even the potential creation for videos but I feel I am behind on understanding all the changes and improvements you've made.

    I have to say, your UI has really improved and is looking great.
     
    theRealWinxAlex likes this.
  17. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    I would like to make more tutorials, but first very very basic(lot of people have 0 game experience or Unity). There are already more then 13hrs tutorials of making 2D, Top-down,Isometric, Third Person,.... I hope you will make some basic video tutorial,as you promise :). Things are much polished so it will be easier then few years ago. I hope community creative spirt will be involved. You don't know the joy when you see video, created with LF.
     
    Last edited: Oct 22, 2020
    StevenPicard likes this.
  18. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    I nailed the UNDO bug guys!!! :);):(:mad::confused::p:D:eek::oops::rolleyes:o_O
     
    Last edited: Oct 22, 2020
    JDelekto and StevenPicard like this.
  19. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
  20. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    Just grab it and learn how it works?
     
  21. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
  22. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    As you newbie you would download newest Unity and try the assets. :). You will go even for Betas and Alphas. :D. And probably 99% won't work with the newest. You know why? Unity have change something, and broke your asset. So advice is you to go and work with version with LTS at the end. They will support those for "long"?? time. This is Forge after little fix in 2020, not yet on asset store dough. upload_2020-11-24_11-4-24.png
     
  23. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    LF 1.39 supports u2020. Space Shooter full game included @StevenPicard
     
    Last edited: Dec 1, 2020
    StevenPicard likes this.
  24. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    859
    Perfect. I'll download the latest and start studying your new examples tonight. My family has been bugging me to do some small games instead of spending so much time on my big one.
     
  25. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    Don't hesitate if you got stuck or have some question,bug,...post here.
     
  26. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    @StevenPicard @JDelekto @Mark_01 @DavidLe360
    I will start with very basic tuts, mean from scratch...from Transform maybe even from views in Unity???? What you think guys??? or what about to stream some game dev with LF? twitch or something else???
     
    Last edited: Dec 6, 2020
  27. JDelekto

    JDelekto

    Joined:
    Jan 7, 2017
    Posts:
    49
    I don't think it has to be a live stream, even if you want to do something like a YouTube video where you can edit it after would be good. Unless, of course, you would rather have an audience driving what they want to see.
     
  28. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    859
    Streaming sounds like a good idea even if it's not live. There are so many changes since you've created your tutorials that it's very hard to follow them. Watching you would be very helpful.
     
  29. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    That was the point cause you/I don't know what the guys mis or not understand.
     
  30. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    First of the series Hello in 5 mins :) This is the way!

    Was comparing to
     

    Attached Files:

    Last edited: Dec 11, 2020
    StevenPicard likes this.
  31. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    As I promised hear it is first part of Hello Input, very basic tutorials about how to use LF
     
    StevenPicard likes this.
  32. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    ImportantOpenme.jpg IMPORTANT:
    From LF 1.40 I'll only support Unity 2020.x and above.
    Unity by default is set to use ancient .NET 2.0, so you need to open Edit>Project Settings then select "Player" option, on the right drop open Other Settings and find "Api Compatibility" Level and set it .NET 4.x. So before trashing, hating and make fool out of ourselves, let ask questions and solve the illiteracy problem.
     
    Last edited: Dec 24, 2020
  33. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    Hello input part 2
    #logicforge
     
  34. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    Hello input part#3

     
  35. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
  36. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73

    #logicforge #unity #visualscripting #learn
     
  37. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    859
    I'm wondering why you decided to have 2020 as the minimum instead of 2019.4 LTS?
     
  38. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    I was dragging LF from 2017, making compatible with 2018,.... Unity constant changes, and some with huge impact like adding PrefabStage and prefab content, which are still in experimental API. For drag and drop newbies doesn't make difference, but LF as rear VST, is trying to keep Prefab/Prefab Instance Unity spirit. So it is huge task to support different Unity versions, event LTS. I remember when u2019.3 was last version, guy tried with u2020alpha and reported yellow warnings of Deprecation. So most of newbies, will download the newest Unity and LF, and if they found yellow warnings they get scared and if they see red errors, that is totally disaster, they die immediately :D. Of course if community want support of 2019.4 LTS I'll make extra effort, but I beleave should work. I'm using every extra free time to fix bugs and adding options, videos, website, docs..., and is of great importance!!! is community likes, subscribe, comments, forum, feedback, bug reports,... and gives me wind in back.
     
    Last edited: Jan 7, 2021
    StevenPicard likes this.
  39. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    New tutorials series, for absolute beginers

    #unity #logicforge #learn #visualscripting
     
    Last edited: Jan 13, 2021
  40. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
  41. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
  42. eggeuk

    eggeuk

    Joined:
    Sep 1, 2013
    Posts:
    88
    Hi Alex, hi Everybody. Since many, many months I have again done some work with LF. Things have be changed and all looks more stable and professional.

    At first my congratulations on your decision of using Unity 2020.x as basic version for new LF. Of course it's the best thing concentrating on future instead of gone-by-releases of Unity.
    Yes, it is a real good planing.

    Why LF (for me again)? Last times I have done some work with all these other VSLs. But they have their lacks and I don't feel good working with them. Some are to much scattered with tiny nodes, because of they are trying to rebuild a visual C#. Some are not mature, because of they are just a short time on market with all the following troubles. And some have a long learning curve, because of the actions are to much hidden for getting quick results.

    Of course fundamentals of LF have to be learned too. But using the examples and a handful of nodes we will get exiting functionalities with our game objects. And with a little reflection, all is easily understandable.

    But let me tell some of the best parts LF shows:
    - Someone does know what a Model is. Connections of LF-Nodes are based on Data, not on any nodes flows, which then might change data the right way. LF has focus on changing data from start on.
    - We immediately can see the interesting data when a connection is made from one node to another. Its not necessary of fetching a component data from a different source.
    - LF is working with Unity 2020.x - nothing more to say.
    - Generation of C#-Code in a simple way and using it at runtime.
    And surly some more I can't remember presently.

    For me, LF is in a strange but good way of forward-looking, compared to other VSLs. It will be interesting to see how Unity-Fellows may build the data-way with Dots and UVS/Bolt. May I say LF has done the job long before?

    Now I'm just doing some more learning about the workflow of LF - all needs it's time.
    And for now, best wishes to all of you with your work for and with LF.
     
    Last edited: Feb 11, 2021
    DavidLe360 likes this.
  43. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    Hi. I'm super happy that at least one in ten thousand doesn't go with the flow and was able to see the difference.
    I got comments like I'll go with bolt cause Unity supports it.
    bolt 2 was abandoned and bolt will last until the time when Unity will release their own VST. So what is done in bolt won't be compatible with new Unity VST. Why? Whoever deeply understands the topic, Unity and C#, and bolt under the hood, knows that is impossible or at least very hard to integrate with Unity of something that is against Unity engine principles.

    I will keep improving LF, and add features that many can't understand or think are not possible, cause they are stuck with forced standards they know about. I'll listen to every reasonable suggestion and will keep breaking the ice in the VS uncharted territory.
    The strength of VST is something different(which I'll explain later) than replacing every C# code part with a node. So bolt2 and others have done that, but it is nonsense par excellence. By that practice, for a=b+c, you will have 5 nodes. That is crazy.
    If you check Bolt, Playmaker and even you open DOT VS source code, you can see they are built on tons of tiny static predefined nodes. For example, they have a node for a+b when a,b are vec2, then another when a,b are vec3, and another when int, and so on.
    LF has about 20 nodes, that can do all that and more. C# reflection and JIT are awesome technology to build dynamic nodes in the dynamic game world. To speed up pure reflections delegates are used. More speed is achieved by caching delegates and even more speed by that delegates are written in IL.

    Of course fundamentals of LF have to be learned too. But using the examples and a handful of nodes we will get exiting functionalities with our game objects. And with a little reflection, all is easily understandable.

    The main strength of VST is that you can track data flow, not the circles :). This is the most important part. It is super hard to track data flow code, let say in Visual Studio IDE(what is visual after 15years??? I don't know) going line by line in the debugger for the game that updates at 60fps.

    One of the main LF goals is to reduce the number of nodes. So connections aren't just useless paths for moving circles. They are defining the properties of the source object.
    For example for code var a=transform.position in some VST, you have a set node for the variable "a", the node for transform, and "get position". 3 or 4 nodes.
    In LF you have a transform node connected to a variable. Only 2 nodes. Connection defines which property of transform you are assigning to a variable. You can then reuse the transform node to assign other properties to other nodes......(see my previous post video)

    The idea is you are creating almost everything in Play mode so LF is a real Visual tool. What you do is what you see. You can generate C# code and drop back the script or other script, or change code. Someone called this Hot Reload.


    I didn't copy Playmaker or (I couldn't copy Bolt as LF started developing before) but, with fresh ideas.
    And it's not hard to notice. One of the other LF goals was LF to be 100% compatible with Unity. That doesn't mean just working within Unity, but complying in full with Unity principles.
    1) GameObject as Entity with Components on it
    That the central editor for ruling them all(LOTR :)) is super tempting and easy at the start but .....
    2) Prefabs
    If you read bolt docs, it says doesn't propagate, working not working?, compiled mambo jumbo
    3) Serialization with Scriptable Object so you can use it with Asset bundles or just load in runtime
    4) Use UnityGraph API's
    5) Teach people Unity, not to drag and drop something somewhere, but understand what they are doing and let the machine do the hard work
    .....

    This is the way!
     
    Last edited: Feb 19, 2021
    DavidLe360 likes this.
  44. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    Guys come from Playmaker and say where is Rotation Component :D?
    In out-of-box components.
    Guys come from other VST, where is Get Variable, Set Variable?
    If you connect something to the variable you are setting it, if you drag the connection out to somewhere, you getting the value of the variable and sending somewhere. No need for additional nodes
    There are no additional nodes for Start, Update..., no need for them

    So Guys path is this
    No VST knowledge -> learn something in some VST -> expect LF to work as they learned.


    NO Game Engine knowledge -> learn something in Unity -> expect Unreal to work as Unity
    Short story, don't expect Blender to work as Max.

    If you have suggestions on, how we can improve workflow, I'm open to hearing you.
    But if you haven't written a line of C# code, please don't speak about Roslyn, if you don't know what MonoBehaviour is, please don't speak about ECS :D
     
    Last edited: Feb 21, 2021
  45. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    Customization & Persistence

     
  46. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    For someone not knowing anything, everything is complex. For someone lazy everything is hard. Kids playing some FPS, dreamed of making a copy, heard about Unity, no matter what VST they found they expect building AAA in on click. :D
     
  47. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
     
    Last edited: Feb 25, 2021
  48. theRealWinxAlex

    theRealWinxAlex

    Joined:
    May 2, 2020
    Posts:
    73
    Learn state machine in 5mins.

     
    Last edited: Apr 18, 2021
  49. DavidLe360

    DavidLe360

    Joined:
    Dec 24, 2018
    Posts:
    127
    Hi, I have the following error when I try to Add a Function on the logic editor (Unity 2020.3.26f1, with the up to date version LigicForge):

    Code (CSharp):
    1. [Exception] IndexOutOfRangeException: Index was outside the bounds of the array.
    2. SelectionTreeMenuWindow.CreateComponentTree() at /WinxProduction/Editor/ws/winx/editor/windows/SelectionTreeMenuWindow.cs:361
    3. 359:   if (this.m_Stack.Count == 0)
    4. 360:   {
    5. -->361:       this.m_Stack.Add(this.m_Tree[0] as SelectionTreeMenuWindow.GroupElement);
    6. 362:   }
    7. 363:   else
    8.  
    9. SelectionTreeMenuWindow.Init() at /WinxProduction/Editor/ws/winx/editor/windows/SelectionTreeMenuWindow.cs:562
    10. -->562:   this.CreateComponentTree();
    11. 563:   base.ShowAsDropDown(buttonRect, new Vector2(buttonRect.width, buttonRect.height));
    12. 564:   base.Focus();
    13.  
    14. SelectionTreeMenuWindow.Show() at /WinxProduction/Editor/ws/winx/editor/windows/SelectionTreeMenuWindow.cs:226
    15. 224:       SelectionTreeMenuWindow.s_AddComponentWindow = ScriptableObject.CreateInstance<SelectionTreeMenuWindow>();
    16. 225:   }
    17. -->226:   SelectionTreeMenuWindow.s_AddComponentWindow.Init(position);
    18.  
    19. GraphGUI.SelectFunctionComponentCallback() at /WinxProduction/Editor/ws/winx/editor/logic/GraphGUI.cs:1429
    20. 1427:   ws.winx.editor.windows.SelectionTreeMenuWindow.OnClose += onMethodSearchWindowClose;
    21. -->1429:   ws.winx.editor.windows.SelectionTreeMenuWindow.Show(rect, submenus, methodInfos.ToArray(), descriptions);
    22.  
    23. GenericMenu.CatchMenu() at <55729f52d042492e9efc384182ae2feb>:0
    24.  
     
  50. DavidLe360

    DavidLe360

    Joined:
    Dec 24, 2018
    Posts:
    127
    Also, when I try to Play a demo scene, for example the 'Hello Rotator', i got 10 of this kind of errors:


    Code (CSharp):
    1. [Exception] SerializedObjectNotCreatableException: Object at index 0 is null
    2. Editor.CreateSerializedObject() at <55729f52d042492e9efc384182ae2feb>:0
    3.  
    4. Editor.GetSerializedObjectInternal() at <55729f52d042492e9efc384182ae2feb>:0
    5.  
    6. Editor.get_serializedObject() at <55729f52d042492e9efc384182ae2feb>:0
    7.  
    8. TransformEditor.OnEnable() at /Plugins/Inspector Gadgets/Inspector/Transform/TransformEditor.cs:60
    9. 58:   }
    10. -->60:   Position.OnEnable(serializedObject);
    11. 61:   Rotation.OnEnable(serializedObject);
    12. 62:   Scale.OnEnable(serializedObject);
    13.