ar
Feedback
Everyday Unity

Everyday Unity

الذهاب إلى القناة على Telegram

A game developer and tech lead in a top grossing company posting Unity, programming, and gamedev related stuff that I find interesting Website: https://gamedev.center Most used tags are: #performance #shader #interview Author: @alexmtr

إظهار المزيد
لم يتم تحديد البلدألعاب40 271
1 150
المشتركون
+224 ساعات
+37 أيام
+1230 أيام
أرشيف المشاركات
Moving faster I find this very useful to help structure your development process. In the university I had the Personal Software Process (PSP) course that was also aimed to make each part of software development lifecycle more effecient. This post obviously does not cover what the whole course teaches you about, but it's a good place to start. I also feel The Pragmatic Programmer vibes in this post. Some advice are directly from this book. So if you liked the post, you may take a look at the book too. https://www.scattered-thoughts.net/writing/moving-faster/ #psp #productivity

Particle Effect For UGUI (UI Particle): This plugin provide a component to render particle effect for uGUI in Unity 2018.2 or later. The particle rendering is maskable and sortable, without Camera, RenderTexture or Canvas. It also correctly scales particles and provides better performance with mesh sharing feature. https://github.com/mob-sakai/ParticleEffectForUGUI #ui #particle

You can go a long way just by multiplying and adding simple textures in a creative way. ❄ Check out this frozen effect! Adding a few extra particles sells the illusion https://twitter.com/unitygames/status/1536725196274642944 #vfx #frozen

Dependency Injection on Unity Another post why DI might be useful. But it also contains an implementation of a custom DI container, which is a great way to learn how containers work under the hood, especially how injections into MonoBehaviors work Part 1: https://moderncsharpinunity.github.io/post/dependency-injection-on-unity/ Part 2: https://moderncsharpinunity.github.io/post/dependency-injection-on-unity-part2/ #di

Intro to DOTS animation No, there is still no solution provided by Unity as part of DOTS. The author shows how to use a hybrid animator approach, similar to one shown in DOTS character controller samples. The video also shows the simplest example how to use 2 most popular animation assets from the asset store. https://youtu.be/KvabbZKrUHk #dots #animation

Custom SRP 1.0.0 How to upgrade the old SRP tutorial to Unity 2022. Some of these fixes I had to do myself when I followed this series a long time ago but using Unity 2021. It's great that Jasper supports the series and shared the update. I personally recommend this series as it not only shows steps how to implement your own rendering pipeline, but gives an idea how some parts of rendering work in general. https://catlikecoding.com/unity/custom-srp/1-0-0/ #srp

Use string.Equals with StringComparison.OrdinalIgnoreCase parameter instead of manually adding ToLower()/ToUpper() for better
Use string.Equals with StringComparison.OrdinalIgnoreCase parameter instead of manually adding ToLower()/ToUpper() for better performance and cleaner code. #string #performance

Developing SWIFT, Part 1: Combat & Gameplay Mechanics The breakdown of combat and gameplay design decisions in a competitive melee combat action game https://80.lv/articles/developing-swift-part-1-combat-gameplay-mechanics/ #gamedesign #combat

Dependency injection The author clearly shows how dependency injection helps make code more maintainable and testable. https://youtu.be/J1f5b4vcxCQ #pattern #di

Speed up the build process of your Unity projects It's a great post with practical steps based on real experience. I can confirm that these steps are helpful, as I had been working on the same project when these approaches were introduced. It would be also interesting to read more about splitting the code base into multiple projects and how to properly handle the build process in that case as no references were provided in the post. https://medium.com/@wondrous_aqua_toad_341/speed-up-the-build-process-of-your-unity-projects-a4e3f048c32f #build

Designing a Realtime Combat System. This article is about melee combat foremost. A great list of combat mechanics, how and when each of them should be used or not. Must help a lot when designing combat in your game. https://howtomakeanrpg.com/a/designing-a-realtime-combat-system.html #combat #platformer

Optimize struct performances using StructLayout I ran a simple benchmark that passes structs as an argument: one uses StructLayout.Sequential and another StructLayout.Auto. I intentionally ordered fields in a way that makes them have padding. And result is (the formatting in mobile clients sucks): | Method | Mean | Ratio | |------- |---------:|------:| | Auto | 298.6 us | 1.00 | | Seq | 359.0 us | 1.20 | Obviously copying struct that is bigger due to the padding to pass it as an arg is slower. But this operation is so quick that it might be a problem only on a very hot path. It can be avoided by using 'ref' parameter so no copying occurs. I've also thrown readonly structs to the test. | Method | Mean | Ratio | |------------- |---------:|------:| | Auto | 318.5 us | 1.00 | | Seq | 398.7 us | 1.25 | | AutoRef | 254.5 us | 0.80 | | SeqRef | 299.7 us | 0.94 | | AutoReadonly | 312.9 us | 0.98 | | SeqReadonly | 390.5 us | 1.22 | As you can see passing both structs by ref is definitely faster. But Auto is again faster than Sequential. While readonly structs don't have any performance benefits according to this benchmark. To make sure a defensive copy of a readonly struct is avoided, I've also added 'in' parameter to the arg and now we can see that structs are not copied anymore and performance is on par with the 'ref' parameter | Method | Mean | Ratio | |--------------- |---------:|------:| | Auto | 299.9 us | 1.00 | | Seq | 369.1 us | 1.23 | | AutoRef | 245.1 us | 0.82 | | SeqRef | 305.7 us | 1.02 | | AutoReadonly | 309.1 us | 1.03 | | SeqReadonly | 369.6 us | 1.23 | | AutoReadonlyIn | 255.4 us | 0.86 | | SeqReadonlyIn | 303.4 us | 1.02 | I performed all these benchmarks in .NET. It would be very interesting to look at it in Unity using IL2CPP, whether it affects performance in C++ or not. https://www.meziantou.net/optimize-struct-performances-using-structlayout.htm #optimization

noio/games.noio.planter: The plant simulation from Cloud Gardens as a Unity package for level design. https://github.com/noio/games.noio.planter #vegetation

8 TIPS to get MORE WISHLISTS! 1. Take part in the Steam fest 2. Make sure the game is polished 3. Provide a really good tutorial to teach players how to play the game 4. Implement analytics, especially for tutorial to track at which step users drop the game 5. Use Cloud Diagnostics (a Unity service for errors and crashes) 6. Add an in-game feedback form 7. Boost wishlists a week before the fest 8. Do livestreams during the fest https://www.youtube.com/watch?v=-cnjCyYCxxc #marketing

SHOULD YOU DO EARLY ACCESS? Basically the EA path is high risk, and slightly higher reward. Don’t do EA because you need “feedback.” https://howtomarketagame.com/2023/07/27/should-you-do-early-access #marketing

How to instantiate a prefab in ECS? It's interesting how such a big post needed to describe so simple action as instantiation. And it doesn't even touch the topic of using a hybrid approach, for instance to connect entity to Animator so your instantiated object can be animated using Mecanim and triggered from ECS. https://coffeebraingames.wordpress.com/2023/07/28/how-to-instantiate-a-prefab-in-ecs/ #dots #ecs

Three tricks with Dictionary Tricks are: Custom key comparer, TryGetValue, GetValueOrDefault These methods can help avoid custom workarounds when working with dictionaries https://steven-giesel.com/blogPost/53090b7c-d594-4b55-b513-60bcc7b36f35 #dictionary

Unity VFX Graph VS Particle System A good comparison of these tools in case you haven't used VFX graph yet. https://youtu.be/XSdXvhLjVEk #particle #vfxgraph