6 ms·
Show HN: UnityShell, a “shell” for the Unity Editor
- lostgame 8y agoGlad to be the first to say here, this is fantastic! I'm going to give it a little go later this evening. Seems interesting!
- marijnz 8y agoGreat! Let me know what you think.
- yodon 8y agoNice! Does it work to add a TCP listener so one can pump commands to it from an editor or treat it as an integrated terminal in VS Code or similar?
- marijnz 8y agoInteresting idea, well under the hood it only just uses the Mono Evaluator class. So would rather see that as a new project.
- bhouston 8y agoThis is a great idea. I wouldn't be surprised if Unity builds this feature into a future version of Unity. Every other 3D creation tool has like, Clara.io, 3DS Max, Blender, Maya. How did Unity not have this?
- marijnz 8y agoGood question, there were already 2 tools out there that do the same as what I now did, but not with the same kind of UX (they didn't look like a usual shell). If Unity sees there's a lot of interest in this, maybe they might integrate it, let's see.
- extralego 8y agoPlease correct me if I’m misunderstanding, but at least for 3ds Max, Blender, Maya, their Python integrations make this sort of thing as simple as launching the proprietary Python interpreter (mayapy.exe, maxpy.exe), with consideration of a few limited proprietary details. I think Python is just very well suited for this.
- kylnew 8y agoI like where this is going, but not sure of the practical use case. Can this help me inspect my game objects at runtime or just act like a standalone playground CLI?
- marijnz 8y agoYou can inspects game objects at runtime. You could, for example, do: GameObject.Find("YourGameObject).GetComponent<Sprite>(). There's probably features that would make it easier to access game objects though, as names are not unique. So you could use the instance ID, but that's a bit of a hassle.
- kylnew 8y agoThis is pretty handy still. Sometimes I just want to grab an object and map it’s children’s properties into a debug friendly format for output. Nice work
- Waterluvian 8y agoWhen I dropped my toes into game Dev, one thing that really bothered me was that you had to use the GUI tools for lots of stuff. I wanted to do everything programmatically and just use Unity3D's GUI as a test/viz environment. But in trying to do that I really ran into a wall where everything felt second class to using the GUI. I dunno... I just can't come to trust the magical files generated by drag and dropping a scene together.
- mustacheemperor 8y agoI wouldn't fret much about trusting the editor, it's no more magic than the scene appearing when you load it from XML. But I agree that this remains my biggest frustration with Unity. It's fun to use, it's very fast to prototype with, but you hit the nail right on the head that "everything feels second class to using the GUI," and once you've worked in an engine that accommodates a text-first workflow it can really feel like mandatory training wheels sometimes. Maybe someone with more professional Unity experience can drop in, it's such a popular platform that it seems to me like there must be productive workflows that aren't hampered by the GUI in use out there. Most other engines have different tradeoffs in my experience, and Unity is hard to beat because of how relatively robust and stable it is.
- pjmlp 8y agoI have yet to see a professional game engine that wasn't GUI oriented. Professional game studios are mostly Windows based, and developers are actually a minority in teams, mostly responsible for low level engine code. So understandably the workflows are optimized for animators, artists, level designers, gameplay developers, script writers, ...
- icsllaf 8y agoI believe MonoGame can be used as text oriented. At least when I tried to use it to make some small games. It's definitely not on the same level of professional use as Unreal or Unity though I think. http://www.monogame.net/ http://www.monogame.net/
- 8y ago
- aerique 8y agoFor people interested in this I can also recommend Arcadia which unites Unity and Clojure: https://arcadia-unity.github.io/ https://arcadia-unity.github.io/
- marijnz 8y agoI never heard of it until I released UnityShell. Funny how you can miss such big things. I'll look more into it.
- GuuD 8y agoThis is awesome project. For the last week I was developing essentially the same thing, but with F# as shell/REPL language. It's not yet ready to be open-sourced but if there is any interest I can clean it up and move to Github in a week or so.