В качестве IDE здесь используется JetBrains Rider.
Создаем c-sharp проект

Выбираем из списка «.NET / Core» опцию «Class Library» (На левой стороне окошка). Не путать со списком .NET Framework. Это предыдущая версия .NET.
Оставляем настройки по умолчанию, ничего не меняем. Имя проекта на свой вкус.

Открываем свойства проекта.

Нажимаем на троеточие.

Unity поддерживает версию .NET Standard 2.1, начиная с версии 2021.3.
Соответственно, выбираем netstandart2.1.

Должна быть вот такая картина.

Если не поменять Language Version, то будут ошибки

Как избавиться от ошибок
Первый вариант.
Просто меняем там же версию языка на 10. Ошибки должны пропасть.

Второй вариант.
В Rider есть баг, из-за которого выбор версии языка недоступно. (Поле неактивно)

В таком случае добавляем в xml-файл Название_вашего_проекта.csproj1 строку <LangVersion>10</LangVersion>
Открываем csproj1 через контекстное меню или выделяем проект и нажимаем комбинацию ⌘ + ↓

Добавляем строку <LangVersion>10</LangVersion>

Далее, перезагружаем проект. (На всякий случай)

Ошибки должны пропасть.
## Теперь нам нужно настроить конфигурацию собирания (сборки) библиотеки в DLL для Unity.
Открываем

Далее

Выбираем в Target framework опцию netstandart2.1.
Выбираем в Target Location путь до [[Папка Plugins в Unity-проекте |Plugins]] в вашем Unity проекте. Создайте в любом месте папку Plugins внутри Assets и укажите путь до нее.
Больше ничего не меняем в данном окошке.

Единственное, если хотите, чтобы данная конфигурация была сохранена в проекте, а не оставалась в Rider, то поставьте галку. Путь оставьте по умолчанию.

Далее нажимаем Run.
Спустя несколько секунд в папке Plugins должен появиться DLL с его доп. файлами.

### Важное замечание!
Будьте внимательны! Если вы в конфигурации сборки случайно вместо netstandart2.1 поставите .net7.0, то Unity все спокойно скомпилирует в PlayMode-режиме (редакторе), и даже не будет выдавать ошибок в консоль. Однако, при сборке под определенную платформу (iOS, Android и т.д) будет абстрактная ошибка, которая не даст вам намека на неправильную настройку конфигурации билда. Вы потратите много времени на поиск проблемы.

## Проверяем, подключилась ли DLL в Unity
Важно, чтобы Unity был запущен, перед тем как вы будете писать код в Rider. Иначе, DLL не будет добавлена в кеш Unity-проекта.
Открываем код из Unity-проекта и пробуем в этом коде использовать классы из библиотеки.

Подключение DLL завершено.