Unity
Unity is a cross-platform game engine.
Index
General
Check project version.
- Open <ProjectName>/ProjectSettings/ProjectVersion.txt.
- Find m_EditorVersionorm_EditorVersionWithRevision(with changeset).
Change a project name.
- Rename the project folder.
- Open <ProjectName>/ProjectSettings/ProjectSettings.assetwith a text editor.
- Find productNameand change the name.
Use Visual Studio Code.
- Go to Package Manager.
- Install Visual Studio Editorpackage.
- Go to Edit → Preferences → External Tools.
- Select Visual Studio CodeinExternal Script Editor.
- Click Regenerate project files.
- Go to Visual Studio Code.
- Install Unity plugin (requires .NET SDK).
Debug Android application.
- Connect the Android device to the computer using USB.
- Navigate to the platform-toolsfolder (C:\Android\sdk\platform-tools).
- Run adb logcat -s Unity.
Use a custom Android manifest file.
- Create the AndroidManifest.xmlfile.
- Import the manifest file to the folder Assets/Plugins/Android/.
Packages
A package is a container that holds any combination of Assets, Shaders, Textures, plug-ins, icons, and scripts that enhance various parts of the project.
Package manifests, package.json files, determine which version of the package to load, and what information to display in the Package Manager.
{
    "name": "com.adcimon.mypackage",
    "displayName": "My Package",
    "version": "0.0.1",
    "type": "library",
    "unity": "2019.3",
    "description": "My awesome package",
    "keywords":
    [
        "gui",
        "maths"
    ],
    "category": "Interface",
    "dependencies":
    {
        "com.unity.ugui": "1.0.0"
    }
}
- nameis the officially registered package name, following the naming convention- com.org.name.
- displayNameis the package name as it appears in the Package Manager.
- versionis the package version following the Semantic Versioning system- MAJOR.MINOR.PATCH.
- typespecifies the type of the package,- tests,- sample,- template,- module,- libraryor- tool.
- unityis the Unity version that supports the package.
- descriptionis a brief description of the package.
- keywordsare used for searching in the Package Manager, specified as a JSON array of strings.
- categoryspecifies the category the packages is in.
- dependenciesis a list of packages that the package depends on, expressed as a JSON dictionary where the key is the package name and the value is the version number. Unity downloads all dependencies and loads them into the project alongside the package.
Newtonsoft JSON
Add the package.
"dependencies":
{
    ...
    "com.unity.nuget.newtonsoft-json": "3.0.2"
}
Profiling
- Ultimate guide to profiling Unity games
- Profiling in Unity 2021 LTS: What, when, and how
- Pick up these helpful tips on advanced profiling

WebGL
- C#/JavaScript Interop: https://docs.unity3d.com/Manual/webgl-interactingwithbrowserscripting.html
- WebGL Deploying: https://docs.unity3d.com/Manual/webgl-deploying.html
