Profiler Markers

Все мы знаем, что в Unity Profiler можно включить Deep и посмотреть что там вообще происходит в ваших методах.

Memory Allocator

Как устроен MemoryAllocator в ME.ECS/ME.BECS

Rendering Grass

О том как мы траву сначала нарисовали, а затем сожгли 🙂

Interview

🥕Из собеса

Job Producer

После выхода Unity Jobs не сразу стало возможно создавать свои джобы, просто апи было не в публичном доступе. Сейчас же это возможно и давайте разберемся как это делать.

GC Allocations

Немного про аллокации и кэш.

Assets

В юнити можно использовать символ ~ в конце имени для исключения папки или файла. В таком случае скрипты в этой папке не будут компилироваться, а ассеты не будут импортироваться. Иногда бывает полезно.

Blur

Если вам нужен сильный full-screen blur эффект, можно использовать буффер из нужной камеры и шейдер с tex2Dlod для чтения текстуры маленького размера, тем самым будет казаться, что размытие достигается шейдером, хотя на самом деле этот эффект будет от текстуры низкого разрешения + фильтрации.

HashSet

Как работает HashSet?

Inline

Существует возможность подсказать компилятору что метод должен быть заинлайнен, для этого нужно добавить аттрибут  System.Runtime.CompilerServices.MethodImplAttribute(MethodImplOptions.AggressiveInlining). Я обычно пишу гораздо короче: