Going to start doing daily questions of the day here about misc game development topics. Probably also going to start some over in [email protected] as well

For today heres a question about which tools & software you find essential

  • Mikina@programming.dev
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    edit-2
    1 year ago

    For Unity, an asset that has greatly improved my workflow is the Odin Serializer. It greatly simplifies the workflow of building Inspector tools, which in turns makes it a lot easier for designers to work with them. It can also be used to quickly build an Editor tool, and in general has been worth every penny.

    Another asset that has sadly been discontinued, but I really like the improvements it brings is the Peek for Unity. It changes the Editor workflow quite a bit, but one of the main features I now almost can’t work without anymore is the Right-click in scene to show a list of every object under the cursor (so, no more left-clicking to get what you want).

    But I would still not recommend Unity as an engine to anyone, you’re better of learning Unreal as your first engine. I’ve mostly worked in Unity for my whole life, and switching from something you’ve spent almost a decade working in is really really hard. And with the direction Unity has chosen to go, I’d say that it’s not going to end well. Sure, it will probably always have a larger market share, but Unreal is improving way faster and is open-source, which will save you a lot of headaches.

    As for debugging, I recommend looking into RenderDoc. When I first had to work on a 3D game, it has helped me immensely in debugging some shader issues.

    As far as IDEs go, I really like Rider. This is mostly up to preference, of course, but in my experience Rider has always been better as far as code-completion or various analytics (such as how many inheritors a class has, where is it used, who has written it, what type the var actually is, or what Unity asset is using it) goes. Sure, you can get the same info in VS, but it’s not displayed as elegantly as in Rider.

    I’ve also recently subscribed to Github Copilot, and so far enjoy the experience. It’s a hit or miss, but from time to time (such as when I was transcribing pseudocode algorithm), or from really obvious boiler-plate code, it’s spot on and does save some time. Also - it’s amazing for bouncing off ideas about your code, there have been numerous times where he suggested a solution I haven’t even considered and while it didn’t work exactly from the get-go, it has lead me to an entirely different and more clean path than I’d have chosen.

    And for VCS, I’ve once worked on a project that used Plastic SCM, and the experience was amazing. The way it tracks merges, so you can quickly see what change came from what merge and differentiate between merges and changes in a branch is a nice QoL, and the code reviews and general UI is pretty smooth. Too bad it’s one of the victims of Unity greedyness and their strategy to buyout aspiring products and replace their licensing and pricing with absurdly high costs.

    And last one that I use almost daily would be Parsec. I’ve always struggled with working on my laptop, especially in college where I had to attend in person, because it’s not really that much of a powerful machine, and gamedev through Teamviewer didn’t really work out. Parsec has none of the issues, and combined with a Wake on Lan so I can wake up my desktop from anywhere and just connect to it using Parsec makes for a smooth development experience anywhere I go. I’ve never encountered issues with latency or quality when working through Parsec, and most of the time I wouldn’t even be able to tell that I’m actually working remote and not locally on the laptop. This allows me to take my smaller Surface Pro anywhere I go, and then just work on my powerful desktop hardware from anywhere.

    Unfortunately, Parsec has also become a victim of Unity greedynes. Thankfully they still offer a free version that works for most of the usecases, but Parsec also used to have an open source Unity library that could be used to implement a native streaming similar to Steam Remote directly into your game. Since Steam Remote wasn’t working well for us for some reason, but we never had issues with Parsec, we wanted to implement the library into our hobby/students game that we work on in our free time. As of now, the streaming library is only available on demand, so I’ve tried contacting Unity whether we can use it in our small student project, and what we have to do to get access to it.

    They replied that it’s not a problem even for a small student team, and that they will provide it to us, with the first step being that we pay them a 1 000 000 USD for access.