Simplify game error reporting with BacktraceBacktrace - Unity Technologies Blog
https://blogs.unity3d.com/ru/2020/06/11/simplify-game-error-reporting-with-backtrace/
#backtrace #exception #crash #reporter
https://blogs.unity3d.com/ru/2020/06/11/simplify-game-error-reporting-with-backtrace/
#backtrace #exception #crash #reporter
Unity Blog
Simplify game error reporting with Backtrace | Unity Blog
Programmers are all too familiar with the time-consuming efforts of analyzing the crash and error reports they receive during new feature development, game testing, or released play. Understanding what happened and whether it matters takes a lot of back and…
Your assets in the Unity Package manager from a git subfolder
https://medium.com/@FredericRP/your-assets-in-the-unity-package-manager-from-a-git-subfolder-1339880dd09f
#git #subfolder #upm
https://medium.com/@FredericRP/your-assets-in-the-unity-package-manager-from-a-git-subfolder-1339880dd09f
#git #subfolder #upm
Medium
Your assets in the Unity Package manager from a GiT subfolder
Since I shut down my video games studio, I managed to rebuild an upgraded version of assets we designed during that time. For my own…
The danger of async/await and .Result in one picture – TooSlowException
https://tooslowexception.com/the-danger-of-asyncawait-and-result-in-one-picture/
#async #await #deadlock
https://tooslowexception.com/the-danger-of-asyncawait-and-result-in-one-picture/
#async #await #deadlock
Анимация с помощью шейдера в Unity — Gamedev на DTF
https://dtf.ru/gamedev/152957-animaciya-s-pomoshchyu-sheydera-v-unity
#shader #animation
https://dtf.ru/gamedev/152957-animaciya-s-pomoshchyu-sheydera-v-unity
#shader #animation
DTF
Анимация с помощью шейдера в Unity — Gamedev на DTF
After long adventures and frustrations with UGUI, I can say with confidence that reading the source code helps better than official documentation. There are many "not a Bug, but rather a feature by design" things, won't be fixed in current HorizontalOrVerticalLayoutGroup
To avoid using ForceRebuildLayoutImmediate or/and some manual update workarounds, the following approach works well:
Both "child controls size" checkboxes must be enabled and "child force expand" disabled for all ILayoutController (Horizontal, Vertical, also for nested ones), then to control the dimension of the objects you simply use the LayoutElement component (min, pref, flex sizes). As a result, any dynamic content is correctly aligned, regardless of the activation/deactivation/addition/removal of neighbors.
Note 1: There is no need for ContentSizeFitter component for GameObjects, that are first level children of any LayoutGroup. The main thing is to correctly set the checkboxes, as described above. However ContentSizeFitter may be useful for top level container, or children of children that are not directly controlled by any LayoutGroup.
Note 2: Minimize LayoutGroup nesting when possible. Layout rebuild is very expensive. More info on topic:
Unite Europe 2017 - Squeezing Unity: Tips for raising performance.
https://forum.unity.com/threads/force-immediate-layout-update.372630/#post-5604151
#ugui #ui #layout #optimization #performance #force #rebuild
To avoid using ForceRebuildLayoutImmediate or/and some manual update workarounds, the following approach works well:
Both "child controls size" checkboxes must be enabled and "child force expand" disabled for all ILayoutController (Horizontal, Vertical, also for nested ones), then to control the dimension of the objects you simply use the LayoutElement component (min, pref, flex sizes). As a result, any dynamic content is correctly aligned, regardless of the activation/deactivation/addition/removal of neighbors.
Note 1: There is no need for ContentSizeFitter component for GameObjects, that are first level children of any LayoutGroup. The main thing is to correctly set the checkboxes, as described above. However ContentSizeFitter may be useful for top level container, or children of children that are not directly controlled by any LayoutGroup.
Note 2: Minimize LayoutGroup nesting when possible. Layout rebuild is very expensive. More info on topic:
Unite Europe 2017 - Squeezing Unity: Tips for raising performance.
https://forum.unity.com/threads/force-immediate-layout-update.372630/#post-5604151
#ugui #ui #layout #optimization #performance #force #rebuild
float val = smoothstep(_Radius + _Blend, _Radius, UVDistance) * _CellBuffer[i].z;
Smoothstep работает следующим образом: если переменная «UVDistance» больше, чем "_Radius + _Blend", то она возвращает 0. Если переменная меньше, чем "_Radius", то она возвращает 1. Между ними значения плавно интерполируются от 0 до 1.
#shader #smoothstep
Smoothstep работает следующим образом: если переменная «UVDistance» больше, чем "_Radius + _Blend", то она возвращает 0. Если переменная меньше, чем "_Radius", то она возвращает 1. Между ними значения плавно интерполируются от 0 до 1.
#shader #smoothstep
Реализация тумана войны из Civilization VI в Unity
https://m.habr.com/en/post/505346/
#shader #compute #fog #war
https://m.habr.com/en/post/505346/
#shader #compute #fog #war
Habr
Реализация тумана войны из Civilization VI в Unity
Эффект тумана войны из Civilization VI — отличный пример простой структуры вычислительного шейдера (compute shader). Если вы всегда хотели узнать об основах программирования таких шейдеров, то...
Volumetric Light using Particles in Unity
https://medium.com/@rakeshmalik91/volumetric-light-using-particles-in-unity-a6e768edf454
#particles #volumetric #effect
https://medium.com/@rakeshmalik91/volumetric-light-using-particles-in-unity-a6e768edf454
#particles #volumetric #effect
Medium
Volumetric Light using Particles in Unity
God Ray or Sun Shaft or any kind of Volumetric Light is a very common effect in any realistic scene. Unity 5 comes with a image effect for…
C# Delegates with IoC Containers and Dependency Injection
An interesting article on how to replace one method interfaces with delegates, how to use them inside DI containers and unit tests.
https://christianfindlay.com/2020/05/15/c-delegates-with-ioc-containers-and-dependency-injection/
Repo with examples: https://github.com/MelbourneDeveloper/Samples/tree/master/MockDelegates/MockDelegates
#delegate #ioc #di
An interesting article on how to replace one method interfaces with delegates, how to use them inside DI containers and unit tests.
https://christianfindlay.com/2020/05/15/c-delegates-with-ioc-containers-and-dependency-injection/
Repo with examples: https://github.com/MelbourneDeveloper/Samples/tree/master/MockDelegates/MockDelegates
#delegate #ioc #di
Civilization VI Fog of War
Case Study
https://lexdev.net/tutorials/case_studies/civilization_fogofwar.html
#shader #compute #fog #war
Case Study
https://lexdev.net/tutorials/case_studies/civilization_fogofwar.html
#shader #compute #fog #war
Span
tl;dr Use Span to work with ANY kind of memory in a safe and very efficient way. Simplify your APIs and use the full power of unmanaged memory!
Important notice: async and await are awesome C# features. They make our life easier by solving a lot of problems and hiding a lot complexity from us.
But whenever async & await are used, an AsyncMethodBuilder is created. The builder creates an asynchronous state machine. Which at some point of time might put the parameters of the method on the heap. This is why Span must not be an argument for an async method.
https://adamsitnik.com/Span/
#csharp #span #performance #gc
tl;dr Use Span to work with ANY kind of memory in a safe and very efficient way. Simplify your APIs and use the full power of unmanaged memory!
Important notice: async and await are awesome C# features. They make our life easier by solving a lot of problems and hiding a lot complexity from us.
But whenever async & await are used, an AsyncMethodBuilder is created. The builder creates an asynchronous state machine. Which at some point of time might put the parameters of the method on the heap. This is why Span must not be an argument for an async method.
https://adamsitnik.com/Span/
#csharp #span #performance #gc
Adamsitnik
Span
tl;dr Use Span to work with ANY kind of memory in a safe and very efficient way. Simplify your APIs and use the full power of unmanaged memory!
Contents
Introduction
Introduction
C# gives us great flexibility when it comes to using different kinds…
Contents
Introduction
Introduction
C# gives us great flexibility when it comes to using different kinds…
Sprite Glow/Outline Shader Breakdown in the Shader Graph
https://cyangamedev.wordpress.com/2020/03/13/sprite-glow-outline-shader-breakdown/
#shader #graph #glow #outline
https://cyangamedev.wordpress.com/2020/03/13/sprite-glow-outline-shader-breakdown/
#shader #graph #glow #outline
Cyan
Sprite Glow/Outline Shader Breakdown
I’ve moved to a new site!An updated version of this post can be found here, with no ads : Intro This shader uses a signed distance field (SDF), stored in the alpha channel of the sprite’…
Using Unity’s ShaderVariantCollection
Typical use of ShaderVariantCollection is to record the shader variants used during a play session from the editor (under Graphics Settings), save them out as an asset, and add to the list of preloaded shaders (again in Graphics Settings). Additionally, you could call WarmUp on a ShaderVariantCollection object manually.
https://asmaloney.com/2020/01/code/using-unitys-shadervariantcollection/
#shadercollection #shader #collection
Typical use of ShaderVariantCollection is to record the shader variants used during a play session from the editor (under Graphics Settings), save them out as an asset, and add to the list of preloaded shaders (again in Graphics Settings). Additionally, you could call WarmUp on a ShaderVariantCollection object manually.
https://asmaloney.com/2020/01/code/using-unitys-shadervariantcollection/
#shadercollection #shader #collection
World space UVs & Triplanar Mapping
This post includes an introduction to using the Position node to sample textures rather than using mesh UV channels, which is also the basis of Triplanar mapping. It won’t be super in-depth but will provide some example graphs to (hopefully) help beginners understand how this could be used!
https://cyangamedev.wordpress.com/2020/01/28/worldspace-uvs-triplanar-mapping/
#shader #graph #worldspace #uv #triplanar
This post includes an introduction to using the Position node to sample textures rather than using mesh UV channels, which is also the basis of Triplanar mapping. It won’t be super in-depth but will provide some example graphs to (hopefully) help beginners understand how this could be used!
https://cyangamedev.wordpress.com/2020/01/28/worldspace-uvs-triplanar-mapping/
#shader #graph #worldspace #uv #triplanar
Cyan
World space UVs & Triplanar Mapping
This post includes an introduction to using the Position node to sample textures rather than using mesh UV channels, which is also the basis of Triplanar mapping. It won’t be super in-depth but wil…
Triplanar Mapping Texturing Arbitrary Surfaces
More in-depth article about triplanar mapping using shaders instead of the shader graph.
The usual way to perform texture mapping is by using the UV coordinates stored per-vertex in a mesh. But this is not the only way to do it. Sometimes, there are no UV coordinates available. For example, when working with procedural geometry of arbitrary shapes. When creating a terrain or cave systems at run-time, it usually isn't feasible to generate UV coordinates for an appropriate texture unwrap.
https://catlikecoding.com/unity/tutorials/advanced-rendering/triplanar-mapping/
#shader #triplanar
More in-depth article about triplanar mapping using shaders instead of the shader graph.
The usual way to perform texture mapping is by using the UV coordinates stored per-vertex in a mesh. But this is not the only way to do it. Sometimes, there are no UV coordinates available. For example, when working with procedural geometry of arbitrary shapes. When creating a terrain or cave systems at run-time, it usually isn't feasible to generate UV coordinates for an appropriate texture unwrap.
https://catlikecoding.com/unity/tutorials/advanced-rendering/triplanar-mapping/
#shader #triplanar
Catlikecoding
Triplanar Mapping
A Unity Advanced Rendering rendering tutorial about triplanar texture mapping.
Four Color Gradient
Clean way to create a 4 color gradient by lerping 2 colors a time and then lerping the result by another axis once more.
https://mitchmcclellan.com/four-color-gradient/
#gradient #shader
Clean way to create a 4 color gradient by lerping 2 colors a time and then lerping the result by another axis once more.
https://mitchmcclellan.com/four-color-gradient/
#gradient #shader
Mitchmcclellan
Four Color Gradient
Breakdown of a shader replicating one of my favorite effects in After Effects, the 4-Color Gradient.
Integrate asset delivery (Unity) | Android Developers
https://developer.android.com/guide/playcore/asset-delivery/integrate-unity
#asset #delivery #android
https://developer.android.com/guide/playcore/asset-delivery/integrate-unity
#asset #delivery #android
Android Developers
Integrate asset delivery (Unity) | Other Play guides | Android Developers
Настраиваем GitHub Actions для Android с последующим деплоем в PlayMarket / Habr
https://m.habr.com/en/post/506700/
#ci #cd #playmarket
https://m.habr.com/en/post/506700/
#ci #cd #playmarket
Habr
Настраиваем GitHub Actions для Android с последующим деплоем в PlayMarket
Привет, Хаброжители! На днях начал изучать GitHub Actions для Android. Ранее у меня была удачная попытка настройки данного функционала для проекта на Flutter, но без деплоя, для которого полно...
Diffused Posterization | Smoothslerp
http://smoothslerp.com/diffused-posterization/
In-detail article about effect
Repo: https://github.com/smoothslerp/diffused-posterization/blob/master/Assets/diffused-posterization.shader
#shader #posterize
http://smoothslerp.com/diffused-posterization/
In-detail article about effect
Repo: https://github.com/smoothslerp/diffused-posterization/blob/master/Assets/diffused-posterization.shader
#shader #posterize
Smoothslerp
Diffused Posterization
Shader Tutorials and (possibly) more
UniTask v2 — Zero Allocation async/await for Unity, with Asynchronous LINQ
Overview how C# tasks works and how UniTask avoid allocations.
https://medium.com/@neuecc/unitask-v2-zero-allocation-async-await-for-unity-with-asynchronous-linq-1aa9c96aa7dd
Repo: https://github.com/Cysharp/UniTask
#async #unitask #performance
Overview how C# tasks works and how UniTask avoid allocations.
https://medium.com/@neuecc/unitask-v2-zero-allocation-async-await-for-unity-with-asynchronous-linq-1aa9c96aa7dd
Repo: https://github.com/Cysharp/UniTask
#async #unitask #performance
Medium
UniTask v2 — Zero Allocation async/await for Unity, with Asynchronous LINQ
I’ve previously published UniTask, a new async/await library for Unity, now I’ve rewritten all the code and released new one.
Lighting tips for mobile game development
https://blogs.unity3d.com/ru/2020/06/15/lighting-tips-for-mobile-game-development/
#light #rendering #performance #optimization
https://blogs.unity3d.com/ru/2020/06/15/lighting-tips-for-mobile-game-development/
#light #rendering #performance #optimization
Unity Blog
Lighting tips for mobile game development | Unity Blog
Lighting is one of the most important visual elements of your game. Our partners at Arm have provided some handy tips to help you optimize your mobile game lighting.
When it comes to rendering a mobile game, lighting can be one of the biggest performance…
When it comes to rendering a mobile game, lighting can be one of the biggest performance…