How to Analyze the Performance Cost of Your Unity Shaders
https://thegamedev.guru/unity-gpu-performance/shader-cost-analysis-mali-offline-compiler/
#gpu #profiling
https://thegamedev.guru/unity-gpu-performance/shader-cost-analysis-mali-offline-compiler/
#gpu #profiling
TheGamedev.Guru
How to Analyze the Performance Cost of Your Unity Shaders
In this post, you will learn how to analyze your unity shader complexity in numbers so your game can finally stop being fragment bound.
Reading Google Sheets
Basic article how to get data from Google Sheets. Can be used for localization for example.
https://connect.unity.com/p/reading-google-sheets
#google #sheets
Basic article how to get data from Google Sheets. Can be used for localization for example.
https://connect.unity.com/p/reading-google-sheets
#google #sheets
Unity Connect
Reading Google Sheets - Unity Connect
Getting Started
GitHub - hadashiA/VContainer: The extra fast, minimum code size, GC-free DI (Dependency Inject) library running on Unity (IL2CPP).
Claimed to be faster than zenject and has more readable code.
https://github.com/hadashiA/VContainer
#di #container #vcontainer
Claimed to be faster than zenject and has more readable code.
https://github.com/hadashiA/VContainer
#di #container #vcontainer
GitHub
GitHub - hadashiA/VContainer: The extra fast, minimum code size, GC-free DI (Dependency Injection) library running on Unity Game…
The extra fast, minimum code size, GC-free DI (Dependency Injection) library running on Unity Game Engine. - hadashiA/VContainer
Achieve better Scene workflow with ScriptableObjectsScriptableObject - Unity Technologies Blog
https://blogs.unity3d.com/2020/07/01/achieve-better-scene-workflow-with-noscriptableobjects/
#scene #noscriptable
https://blogs.unity3d.com/2020/07/01/achieve-better-scene-workflow-with-noscriptableobjects/
#scene #noscriptable
Unity Blog
Achieve better Scene workflow with ScriptableObjects | Unity Blog
Managing multiple Scenes in Unity can be a challenge, and improving this workflow is crucial for both the performance of your game and the productivity of your team. Here, we share some tips for setting up your Scene workflows in ways that scale for bigger…
Noise Texture 3D Generator For Unity
Generates a Texture3D using simplex noise useful for a ton of interesting FX
https://github.com/asaia/UnityNoiseTexture3D
#3d #texture #generation
Generates a Texture3D using simplex noise useful for a ton of interesting FX
https://github.com/asaia/UnityNoiseTexture3D
#3d #texture #generation
GitHub
asaia/UnityNoiseTexture3D
Generates a Texture3D using simplex noise useful for a ton of interesting FX - asaia/UnityNoiseTexture3D
Open World Streaming in Unity - Ardenfall
https://www.ardenfall.com/blog/world-streaming-in-unity
#world #streaming
https://www.ardenfall.com/blog/world-streaming-in-unity
#world #streaming
Ardenfall
Open World Streaming in Unity
When I started working on Ardenfall, I quickly realized I would need to develop a world structure, and world streaming. Here's a dive into the technical bits on how Ardenfall loads its world! If you're more interested in the project itself, then the latest…
await anything; | .NET Parallel Programming
Old, but gives idea where to use custom awaiters
https://devblogs.microsoft.com/pfxteam/await-anything/
#async #anything #csharp
Old, but gives idea where to use custom awaiters
https://devblogs.microsoft.com/pfxteam/await-anything/
#async #anything #csharp
Microsoft News
await anything;
One of the very cool things about the new await keyword in C# and Visual Basic is that it’s pattern based. It works great with Task and Task<TResult>, and awaiting those two types will represent the vast majority of uses, but they’re by no means the only…
Understand monads with LINQ - codewithstyle.info
https://codewithstyle.info/understand-monads-linq/
#csharp #monads
https://codewithstyle.info/understand-monads-linq/
#csharp #monads
codewithstyle.info
Understand monads with LINQ
This post is another attempt on explaining the M word in an approachable way. This explanation will best suite C# developers who are familiar with LIN
3 Options for Getting User’s Location in Unity (or any mobile app)
https://medium.com/@nosuchstudio/3-options-for-getting-users-location-in-unity-5a29faf88a50
#location #gps
https://medium.com/@nosuchstudio/3-options-for-getting-users-location-in-unity-5a29faf88a50
#location #gps
Medium
3 Options for Getting User’s Location in Unity (or any mobile app)
3 main ways to get player’s location in Unity (or any mobile app) briefly explained and compared.
Dependency Injection - XRLO — eXtended Reality Lowdown
https://medium.com/xrlo-extended-reality-lowdown/dependency-injection-7fd263b0609e
#di #ioc
https://medium.com/xrlo-extended-reality-lowdown/dependency-injection-7fd263b0609e
#di #ioc
Medium
Dependency Injection
How to use Dependency Injection to decrease complexity in Frameworks and Game Engines.
Unity 2D Techniques: Build a 2D Pinball Game
https://www.raywenderlich.com/8094424-unity-2d-techniques-build-a-2d-pinball-game
#pinball
https://www.raywenderlich.com/8094424-unity-2d-techniques-build-a-2d-pinball-game
#pinball
raywenderlich.com
Unity 2D Techniques: Build a 2D Pinball Game
In this tutorial, you’ll learn how to use Unity’s 2D techniques to build an old-school pinball game using sorting groups, the mesh editor and more.
Distributing points on a sphere
https://medium.com/@vagnerseibert/distributing-points-on-a-sphere-6b593cc05b42
#sphere #distribution
https://medium.com/@vagnerseibert/distributing-points-on-a-sphere-6b593cc05b42
#sphere #distribution
Medium
Distributing points on a sphere
While trying to automatically place 3D objects in a scene, I stumbled upon the following problem: How to evenly distribute points on a…
Как разрабатываются моды для игр, которые не поддерживают моды (на примере Beat Saber) — часть 1: внедряемся в код игры
An in-depth article about how to inject game modes/plugins into a unity game that doesn't support mods. Beat Saber is used as an example.
https://dtf.ru/gamedev/113167-kak-razrabatyvayutsya-mody-dlya-igr-kotorye-ne-podderzhivayut-mody-na-primere-beat-saber-chast-1-vnedryaemsya-v-kod-igry
https://dtf.ru/gamedev/134128-kak-razrabatyvayutsya-mody-dlya-igr-kotorye-ne-podderzhivayut-mody-na-primere-beat-saber-chast-2-pishem-svoy-mod
Repo: https://github.com/binary-machinery/BeatSaberTimeTracker/tree/11dd356415a6e91c1f5a010029fc231c6ef1ab3c
#mods #injector #cecil
An in-depth article about how to inject game modes/plugins into a unity game that doesn't support mods. Beat Saber is used as an example.
https://dtf.ru/gamedev/113167-kak-razrabatyvayutsya-mody-dlya-igr-kotorye-ne-podderzhivayut-mody-na-primere-beat-saber-chast-1-vnedryaemsya-v-kod-igry
https://dtf.ru/gamedev/134128-kak-razrabatyvayutsya-mody-dlya-igr-kotorye-ne-podderzhivayut-mody-na-primere-beat-saber-chast-2-pishem-svoy-mod
Repo: https://github.com/binary-machinery/BeatSaberTimeTracker/tree/11dd356415a6e91c1f5a010029fc231c6ef1ab3c
#mods #injector #cecil
DTF
Как разрабатываются моды для игр, которые не поддерживают моды (на примере Beat Saber) — часть 1: внедряемся в код игры — Gamedev…
Простым языком о dll-файлах, Unity, Mono, паре хакерских методов и о крутости open-source-сообщества.
UNITY GAME ARCHITECTURES
The first part describes simple architecture, not the best but still better than nothing. The second gives overview of basic approaches to architecture.
https://medium.com/@sam_16930/unity-game-architectures-part-1-dc53b3c7307d
https://medium.com/@sam_16930/unity-game-architectures-part-2-672958fcb33a
#architecture
The first part describes simple architecture, not the best but still better than nothing. The second gives overview of basic approaches to architecture.
https://medium.com/@sam_16930/unity-game-architectures-part-1-dc53b3c7307d
https://medium.com/@sam_16930/unity-game-architectures-part-2-672958fcb33a
#architecture
Medium
Unity — Game Architectures — Part 1
This custom MVCS (Model-View-Controller-Service) architecture is specifically designed for Unity.
Enable the Prebake Collision Meshes option in Player Settings, where possible, to
generate the runtime physics mesh data at build time. Otherwise, this data is generated
at runtime when an asset is loaded, and content with many physics meshes can incur a
high CPU cost on Unity’s Main thread during generation.
#physics #tips
generate the runtime physics mesh data at build time. Otherwise, this data is generated
at runtime when an asset is loaded, and content with many physics meshes can incur a
high CPU cost on Unity’s Main thread during generation.
#physics #tips
Consider disabling the Auto Sync Transforms option,
which was enabled by default after its introduction in
Unity 2017, in order to preserve backward compatibility.
It ensures that any modification of any transform will
be automatically and immediately synchronized to its
underlying Physics object. However, in many cases
it is not essential that this be done until the point at
which the Physics simulation is stepped, yet may take
noticeable CPU time during a frame. Disabling the
option will defer synchronization to a later point but may
well save CPU time overall.
#physics #tips
which was enabled by default after its introduction in
Unity 2017, in order to preserve backward compatibility.
It ensures that any modification of any transform will
be automatically and immediately synchronized to its
underlying Physics object. However, in many cases
it is not essential that this be done until the point at
which the Physics simulation is stepped, yet may take
noticeable CPU time during a frame. Disabling the
option will defer synchronization to a later point but may
well save CPU time overall.
#physics #tips
If you are using collision callbacks, enable the Reuse
Collision Callbacks option. This will avoid managed
allocations on each callback by reusing a single internal
Collision object during callbacks, rather than creating
a new one for each callback. As well, when using
callbacks, be mindful of doing complex work during
them, as this can really add up in heavy scenes with a
lot of collision events. Adding Unity Profiler markers to
your callbacks will make them visible and easier to track
down should they become a performance problem.
#physics #tips
Collision Callbacks option. This will avoid managed
allocations on each callback by reusing a single internal
Collision object during callbacks, rather than creating
a new one for each callback. As well, when using
callbacks, be mindful of doing complex work during
them, as this can really add up in heavy scenes with a
lot of collision events. Adding Unity Profiler markers to
your callbacks will make them visible and easier to track
down should they become a performance problem.
#physics #tips
Be careful if you are manually updating Animators because they normally use
Unity’s Job System to process in parallel but manual updates force them to process on
the Main thread.
#animation #tips
Unity’s Job System to process in parallel but manual updates force them to process on
the Main thread.
#animation #tips