Token导航 LogoToken导航TokenDH.com
开发操作浏览器github未标认证来源可访问许可证需确认审计通过

unity-platformsUnity platforms 命令行

Agent Skill

unity-platforms 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

291

周安装

12

GitHub Stars

14

下载量

95
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:unity-platforms(Unity platforms 命令行)
来源仓库:https://github.com/nice-wolf-studio/unity-claude-skills
仓库路径:skills/unity-platforms
安装命令:
npx skills add https://github.com/nice-wolf-studio/unity-claude-skills --skill unity-platforms
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/nice-wolf-studio/unity-claude-skills --skill unity-platforms

简介

unity-platforms 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中围绕仓库状态、代码变更或协作事项进行整理。
  • 支持跨平台开发与部署相关的协作信息管理。
  • 安装前需确认权限范围、维护状态及是否涉及联网或文件操作。
  • 建议参考原始 README 了解具体应用场景与使用限制。

SKILL.md

Unity Platforms Skill

Supported Platforms

Unity 6 supports the following platform categories:

  • Desktop: Windows, macOS, Linux
  • Mobile: Android, iOS
  • Emerging: visionOS, tvOS
  • Web: WebGL (including Facebook Instant Games)
  • Server: Dedicated Server
  • Embedded: Embedded Linux, QNX
  • UWP: Universal Windows Platform
  • Closed Platforms: PlayStation, Xbox (Game Core), Nintendo (require confidentiality/legal agreements and registration via Platform Module Installation)

Build Profiles and Settings

Build Profiles replace the old Build Settings window. A build profile is a set of configuration settings for building your application on a particular platform.

Two Profile Types

  1. Platforms: Display currently installed platforms with shared settings across all configurations. Enabling options like Development Build applies universally. Platforms share identical scene data across profiles.
  2. Build Profiles: Independent configurations not shared across platforms. Each can specify unique scenes and settings. Stored as asset files compatible with version control.

Key Features

  • Custom naming for organizing multiple build configurations
  • Version control integration (profiles stored as asset files)
  • Per-profile scene assignment
  • Development builds (debug symbols, Profiler access) and release builds
  • Access via File > Build Profiles
  • Duplicate a platform via right-click > "Copy to new profile"

Scene Management

Scenes are managed per-profile. You can add, exclude, remove, and reorder scenes in your build. Each unique Scene file represents a unique level or screen.

Platform Scripting Defines

Use #if directives to conditionally compile code per platform.

Platform Defines

DefinePlatform
UNITY_EDITORAny Editor code
UNITY_EDITOR_WINWindows Editor
UNITY_EDITOR_OSXmacOS Editor
UNITY_EDITOR_LINUXLinux Editor
UNITY_STANDALONE_OSXmacOS Standalone
UNITY_STANDALONE_WINWindows Standalone
UNITY_STANDALONE_LINUXLinux Standalone
UNITY_STANDALONEAny Standalone (Win/Mac/Linux)
UNITY_SERVERDedicated Server
UNITY_IOSiOS
UNITY_ANDROIDAndroid
UNITY_TVOStvOS
UNITY_VISIONOSvisionOS
UNITY_WEBGLWebGL
UNITY_WSAUniversal Windows Platform
UNITY_WSA_10_0UWP 10.0
UNITY_EMBEDDED_LINUXEmbedded Linux
UNITY_QNXQNX
UNITY_FACEBOOK_INSTANT_GAMESFacebook Instant Games

Feature and Backend Defines

DefineMeaning
UNITY_ANALYTICSAnalytics enabled
UNITY_ASSERTIONSAssertions enabled
UNITY_6464-bit platform
ENABLE_MONOMono scripting backend
ENABLE_IL2CPPIL2CPP scripting backend
ENABLE_VRVR support enabled
ENABLE_INPUT_SYSTEMNew Input System enabled
ENABLE_LEGACY_INPUT_MANAGERLegacy Input Manager enabled
ENABLE_WINMD_SUPPORTWinMD support
DEVELOPMENT_BUILDDevelopment build
UNITY_CLOUD_BUILDCloud Build

.NET API Level Defines

DefineAPI Level
NET_STANDARD_2_0.NET Standard 2.0
NET_STANDARD_2_1.NET Standard 2.1
NET_STANDARD / NETSTANDARDAny.NET Standard
NETSTANDARD2_1.NET Standard 2.1 (C# define)
NET_4_6.NET Framework
NET_2_0 / NET_LEGACY.NET 2.0 (legacy)
CSHARP_7_3_OR_NEWERC# 7.3+ available

Version Defines

Format: UNITY_X, UNITY_X_Y, UNITY_X_Y_Z, UNITY_X_Y_OR_NEWER

Example for Unity 6000.0.33:

  • UNITY_6000, UNITY_6000_0, UNITY_6000_0_33, UNITY_6000_0_OR_NEWER

Mobile Optimization

iOS

Architecture: ARM64 only (no ARMv7).

Scripting Backend: IL2CPP required for iOS (no Mono option).

Player Settings (Edit > Project Settings > Player > iOS):

  • Bundle Identifier: com.CompanyName.ProductName
  • Signing Team ID + Automatic Sign for Xcode
  • Target minimum iOS version selectable
  • Metal API Validation for debug shader issues
  • Metal Write-Only Backbuffer for performance in non-default orientations
  • Force hard shadows on Metal (point sampling for performance)
  • Orientation: Portrait, Landscape, or Auto Rotation with allowed orientations
  • Launch Screen: Default, Image, or Custom Storyboard
  • Requires ARKit support restricts to iPhone 6s/iOS 11+

Android

Architectures: ARMv7 and ARM64 (ARM64 requires IL2CPP).

Player Settings (Edit > Project Settings > Player > Android):

  • Package Name: com.YourCompanyName.YourProductName
  • Minimum API Level and Target API Level
  • Graphics API: Auto (Vulkan first, GLES fallback), Vulkan, or OpenGL ES 3.x
  • Split APKs by target architecture for smaller downloads on Google Play
  • Keystore configuration for signing (custom keystore for production)
  • Scripting Backend: Mono or IL2CPP
  • API Compatibility:.NET Framework or.NET Standard 2.1
  • Managed Stripping Level: Minimal to High

Key Difference: Android hardware capabilities vary significantly between models. Test across multiple devices.

Mobile Optimization Tips

  • Use ASTC texture compression (supported on both iOS and Android modern devices)
  • Minimize draw calls via batching (static and dynamic)
  • Use AssetBundles or Addressables for on-demand content
  • Profile with Unity Profiler and platform-specific tools
  • Reduce shader complexity on mobile GPUs

WebGL Considerations

Memory Management

  • Unity heap implemented as WebAssembly Memory (resizable ArrayBuffer)
  • Heap can expand up to 4 GB (Maximum Memory Size in Player Settings)
  • Asset data unpacked from .data file into virtual memory file system (Emscripten)
  • Garbage collector only runs at end of each frame (no mid-frame collection)
  • Available memory depends on device, OS, browser (32/64-bit), and tab isolation model

Memory Optimization

Use StringBuilder instead of string concatenation in loops:

// BAD: Creates ~15 GB temporary allocations for 100k iterations
string hugeString = "";
for (int i = 0; i < 100000; i++)
    hugeString += "foo";

// GOOD: Pre-allocated StringBuilder
var sb = new StringBuilder();
for (int i = 0; i < 10000; i++)
    sb.Append("foo");

Use NativeArray<T> for temporary allocations to bypass GC:

using (var data = new NativeArray<byte>(size, Allocator.Temp))
{
    // Memory freed immediately upon scope exit
}

Use AssetBundles for asset loading (downloads directly into Unity heap without extra browser allocation).

Enable Data Caching (IndexedDB/Caching APIs) to reduce re-downloads.

JavaScript Interop

Unity supports two JavaScript plug-in file types:

  • .jslib: Define functions callable from C# code
  • .jspre: Include existing JavaScript libraries

Limitation: Only ECMAScript 5 (ES5) syntax supported in.jslib and.jspre files. ES6 is not yet supported.

.jslib Plugin Example

// Assets/Plugins/WebGL/MyPlugin.jslib
mergeInto(LibraryManager.library, {
    ShowAlert: function (message) {
        window.alert(UTF8ToString(message));
    },
});

C# Calling JavaScript

using System.Runtime.InteropServices;
using UnityEngine;

public class WebGLBridge : MonoBehaviour
{
    [DllImport("__Internal")]
    private static extern void ShowAlert(string message);

    void Start()
    {
        #if UNITY_WEBGL && !UNITY_EDITOR
        ShowAlert("Hello from Unity!");
        #endif
    }
}

IL2CPP vs Mono

IL2CPP (Intermediate Language To C++)

IL2CPP is Unity's custom AOT scripting backend that converts C# to native code via C++.

Conversion Pipeline:

  1. Roslyn compiler converts C# to.NET managed assemblies (DLLs)
  2. Managed code stripping reduces application size
  3. All managed assemblies convert to standard C++ code
  4. C++ compiler generates platform-specific machine code
  5. Creates executables, DLLs, APK/AAB, or app bundles

Advantages:

  • Improved runtime performance over Mono
  • Shorter application startup times
  • Supported across all platforms
  • Supports managed code debugging identically to Mono

Disadvantages:

  • Significantly longer build times than Mono
  • Increased final application size
  • Cross-compilation generally unsupported (must build on target OS)
  • Exception: Linux cross-compilation supported from any desktop platform

Configuration:

  • Player Settings: Edit > Project Settings > Player > Configuration > Scripting Backend
  • Scripting API: PlayerSettings.SetScriptingBackend

Build Speed Optimization:

  • Exclude project folders from antimalware scans
  • Use fastest available storage drives
  • Select "Optimize for code size and build time" (trades runtime performance)
  • Use Burst compiler alongside IL2CPP for compatible code

Mono

  • Faster build times (JIT compilation)
  • Smaller build output
  • Not available on all platforms (iOS requires IL2CPP)
  • Less runtime performance than IL2CPP

When to Choose

CriteriaIL2CPPMono
iOS buildsRequiredNot available
Android buildsRecommended for ARM64Available for ARMv7
Build iteration speedSlowerFaster
Runtime performanceBetterGood
Console platformsRequiredNot available
WebGLRequiredNot available

Addressables Overview

The Addressable Asset System (com.unity.addressables v2.9.1) enables referencing assets by address rather than direct paths.

Key Concepts

  • Mark any asset as "addressable" to generate a unique address callable from anywhere
  • Supports loading from local or remote locations
  • Uses asynchronous loading with automatic dependency resolution
  • Replaces direct references, traditional asset bundles, and Resources folders
  • Access via: Window > Asset Management > Addressables

Basic Usage Pattern

using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;

public class AddressableLoader : MonoBehaviour
{
    [SerializeField] private AssetReference prefabRef;

    async void Start()
    {
        AsyncOperationHandle<GameObject> handle =
            Addressables.InstantiateAsync(prefabRef);
        await handle.Task;

        if (handle.Status == AsyncOperationStatus.Succeeded)
        {
            Debug.Log("Asset loaded successfully");
        }
    }

    void OnDestroy()
    {
        // Always release when done
        prefabRef.ReleaseAsset();
    }
}

Common Patterns

Platform-Specific Code

public class PlatformManager : MonoBehaviour
{
    void Start()
    {
        #if UNITY_IOS
        Application.targetFrameRate = 60;
        #elif UNITY_ANDROID
        Application.targetFrameRate = 60;
        Screen.sleepTimeout = SleepTimeout.NeverSleep;
        #elif UNITY_WEBGL
        // WebGL runs at browser refresh rate
        #elif UNITY_STANDALONE
        Application.targetFrameRate = -1; // Uncapped
        #endif
    }
}

Runtime Platform Check

void ConfigureForPlatform()
{
    switch (Application.platform)
    {
        case RuntimePlatform.IPhonePlayer:
            SetupMobileControls();
            break;
        case RuntimePlatform.Android:
            SetupMobileControls();
            break;
        case RuntimePlatform.WebGLPlayer:
            SetupWebControls();
            break;
        default:
            SetupDesktopControls();
            break;
    }
}

Build Profile Scripting

#if DEVELOPMENT_BUILD
    Debug.Log("Development build active");
#endif

#if ENABLE_IL2CPP
    // IL2CPP-specific code
#elif ENABLE_MONO
    // Mono-specific code
#endif

Anti-Patterns

  1. Using Resources folder for everything instead of Addressables. Resources folder loads all assets at startup, increasing memory usage and load times.
  2. Not using platform defines and relying solely on runtime checks. Compile-time defines exclude unused code from builds entirely.
  3. String concatenation in WebGL loops. GC only runs at frame end in WebGL, causing massive temporary allocations. Use StringBuilder or NativeArray<T>.
  4. Ignoring IL2CPP AOT restrictions. Reflection-heavy code, System.Reflection.Emit, and runtime code generation will fail under IL2CPP. Design with AOT in mind.
  5. Shipping with Development Build enabled. Development builds include Profiler overhead and debug symbols, increasing size and reducing performance.
  6. Not splitting APKs by architecture on Android. Shipping a single fat APK with both ARMv7 and ARM64 wastes user bandwidth. Use Split APKs or App Bundles.
  7. Hardcoding platform paths. Use Application.persistentDataPath, Application.streamingAssetsPath, and Application.temporaryCachePath for cross-platform file access.
  8. Not testing on actual devices. Android hardware varies enormously. Emulators and simulators do not represent real performance characteristics.

Key API Quick Reference

APIPurpose
Application.platformRuntime platform detection
RuntimePlatform enumPlatform constants for runtime checks
SystemInfo.graphicsDeviceTypeCurrent graphics API (Vulkan, Metal, etc.)
SystemInfo.supportsComputeShadersCheck compute shader support
PlayerSettings.SetScriptingBackend()Set IL2CPP or Mono via script
Addressables.InstantiateAsync()Load and instantiate addressable asset
Addressables.LoadAssetAsync<T>()Load addressable asset without instantiation
AssetReferenceSerializable reference to an addressable asset
Application.targetFrameRateSet target frame rate
Screen.sleepTimeoutPrevent screen dimming on mobile
Application.persistentDataPathPlatform-safe writable data path

Related Skills

  • unity-graphics — Rendering pipelines, shaders, and visual effects
  • unity-packages-services — Package Manager workflow and Unity Gaming Services

Additional Resources

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.16%
按下载量换算34

Claude

28.21%
按下载量换算27

Cursor

19.23%
按下载量换算18

Gemini CLI

9.16%
按下载量换算9

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills