Started using VS Code for Unity a week ago now, here's a little review thread of my first impressions compared to Visual Studio #unitytips#vscode
VSC is lighter and starts much faster, which is always a good thing. It does download a lot of additional stuff for C# functionality once you start using it, but at least it's not 8+ gb like VS
Unity's VS Code support comes in a package, and I've had some issues with it.. And apparently it happens that VSC support gets broken from time to time
Intellisense/autocompletion (or whatever you call it) is slower overall in VSC. In VS it's basically instant, while you write it pops up. In VSC it takes some time and it only is instant when using the something for the second time.
Snippets don't have a priority. I'm so used to typing a for loop in VS as for>tab>tab. In VSC it's like "for! it's a keyword!!" - oh thx, didn't know! /s ..It does go up in priority when you use it once, but that makes it feel quite unreliable
There is no override prediction. In VS when you write "override" it gives you options what you wish to override, which is such a great feature. No need to look through parent meta. In VSC no such thing. There's ctrl+.>generate overrides but it then implements ALL overrides
A cool feature in VS is that using a switch snippet on an enum value lists all the enums for you. In VSC the switch snippet behaves just like any other snippet, it can't do enum listing.
When you change the zoom level of the view, both the interface and text changes size, like WUT?? Whyyy?? I want to have a small interface and keep the text big. I'm also used to changing the size of text as the day goes on, and having interface also change is annoying.
Unity shader extension is better than the one I could find for VS. VS tries to treat shader files as C# files and so auto-formatting screws it all up. Cuz of this, I previously used Sublime to edit shaders, so it's nice to be able to edit shaders and c# now together
VSC is overall more enjoyable to work in. But that might just be a novelty bias. I need more time to give a conclusion. I like the customization options, changing a theme is simple and the color override system is cool. Searching for files and going through code seems nicer
Also although VSC has a tonne of customization options, there is no way to hide the title bar. The only way to hide it is to go full screen, but then you don't have the windows task bar. I want to remove the title but not task bar! $@#!?! For VS I found a plugin that does that
I guess that's it for now. I'll add up more things as time goes by. Btw this is the first time I'm posting stuff in a gigantic thread at once, lets see how it goes :D
Fixed this! Thanks to @MartinBachy, you can put "editor.snippetSuggestions": "top" in settings.json and snippets will now always have a priority
Fixed this too! You can set "editor.mouseWheelZoom": true, and now ctrl + scroll will zoom editor text only, without the interface, similar to VS
• • •
Missing some Tweet in this thread? You can try to
force a refresh
For people thinking of writing their own engine in C/C++ after the Unity fiasco, here's a few things I learned in my own journey making #ShakedownGame in C++: 🧵👇 #gamedev #cpp
1. Making your engine is not "hard", individual steps are easy, but there's just many of them! Every magical checkbox in Unity is now a feature you have to implement. So you're better off chosing specific features for your game, if you want generalist use another engine..
2. C++ is a mess, it's almost 40 years old, and built upon C, which is 50, so it inherited a lot of issues, like terrible defaults and manual header file management. It has evolved and grew drastically over the years, and all this makes it a rocky road for any beginner to learn..
So, my life in the old year was very eventful and hectic with many ups, but unfortunately, I will remember 2022 as one in which I haven't published a single game! Real life stuff took so much energy from me.. ->
..& I haven't participated in jams. While my new social landscape has kept me satisfied, games have definitely taken a back seat & for the second half of the year I barely worked on or could focus on my own projects. Any free time I had I used on learning new not-games skills. ->
That said, 2023 will be different! In the new year, I am making plans which I want to stick to. 1st of which is that I am going to release the first version of #ShakedownGame on 18th of January! Yes, that's in just a bit more than 2 weeks, and a day before Monte Carlo Rally! ->
Kinda disappointed that anti-anti-art redirects to Stuckism
Stuckism was definitely the last "movement" we learned about in school. But seems like there's been a bunch new ones in the mean time that I've never even heard of. I guess to be an anti-anti it needs to be direct response to anti-art.
Good news it works on win10. But for some reason on my native resolution it crops part of the screen. On 4:3 seems it doesn't crop. Oh & I had to start the game a few times to test it, which was super annoying cuz it has the first sin of video games, an UNSKIPPABLE INTRO!!
Everything in this game uses like deltatime lerping:
> current = lerp(current, target, dt);
from menu highlights to mouselook, lol. It's painful.
So, I'm finally working on a "material" system in my engine. Until now there was no need for it since there was just one scene shader, with the only object-unique uniform being the texture. The framebuffer and debug lines were special cases that bind their own shaders (1/?)
So, each "object" (I called it Model) was just Mesh, texture, and the model matrix. This was actually the whole scene rendering logic, I did some checks to see if models in sequence have the same texture or mesh to reduce unnecessary binds: (2/?)
But now with adding materials, I actually have to refactor almost everything, and turn the Model into a bigger beast, that has a Transform, Mesh and Material. With the only addition being ability to switch shaders (3/?)