// AUTHORED SHIM (not copied). UnityEngine static-class surface (prefs, physics, IMGUI, // device info, rendering) referenced by tangentially-copied engine code (settings, // post-processing, raycast UI, device fingerprinting). All cosmetic / off the battle // path; every member is a no-op returning a safe default. using System; namespace UnityEngine { public enum CursorLockMode { None, Locked, Confined } public static class Gizmos { public static Color color { get; set; } public static void DrawLine(Vector3 from, Vector3 to) { } } public static class Physics2D { public static RaycastHit2D GetRayIntersection(Ray ray, float distance = Mathf.Infinity) => default; public static RaycastHit2D GetRayIntersection(Ray ray, float distance, int layerMask) => default; public static Collider2D OverlapPoint(Vector2 point, int layerMask) => null; public static Collider2D[] OverlapPointAll(Vector2 point, int layerMask) => Array.Empty(); } public static class Caching { public static bool ready => true; public static bool ClearCache() => true; } public static class GUIUtility { public static string systemCopyBuffer { get; set; } } public static class Cursor { public static CursorLockMode lockState { get; set; } public static bool visible { get; set; } } public static class ColorUtility { public static bool TryParseHtmlString(string htmlString, out Color color) { color = default; return false; } } public static class ScreenCapture { public static void CaptureScreenshot(string filename) { } } public static class RenderSettings { public static bool fog { get; set; } } public static class JsonUtility { public static T FromJson(string json) => default!; public static object FromJson(string json, Type type) => null; public static string ToJson(object obj) => ""; public static string ToJson(object obj, bool prettyPrint) => ""; public static void FromJsonOverwrite(string json, object objectToOverwrite) { } } public static class Social { public static UnityEngine.SocialPlatforms.ILocalUser localUser => null; public static void ReportProgress(string achievementID, double progress, Action callback) { } public static void LoadAchievements(Action callback) { } public static void LoadAchievementDescriptions(Action callback) { } public static void ShowAchievementsUI() { } } public static class PlayerPrefs { public static void DeleteAll() { } public static void DeleteKey(string key) { } public static bool HasKey(string key) => false; public static void Save() { } public static float GetFloat(string key, float defaultValue = 0f) => defaultValue; public static int GetInt(string key, int defaultValue = 0) => defaultValue; public static string GetString(string key, string defaultValue = "") => defaultValue; public static void SetFloat(string key, float value) { } public static void SetInt(string key, int value) { } public static void SetString(string key, string value) { } } public static class Physics { public static Vector3 gravity { get; set; } public static bool Raycast(Ray ray, out RaycastHit hit, float maxDistance = float.PositiveInfinity, int layerMask = -1) { hit = default; return false; } public static bool Raycast(Vector3 origin, Vector3 direction, out RaycastHit hit, float maxDistance = float.PositiveInfinity, int layerMask = -1) { hit = default; return false; } public static RaycastHit[] RaycastAll(Ray ray, float maxDistance = float.PositiveInfinity, int layerMask = -1) => Array.Empty(); public static RaycastHit[] RaycastAll(Vector3 origin, Vector3 direction, float maxDistance = float.PositiveInfinity, int layerMask = -1) => Array.Empty(); } public static class GUI { public static Color color { get; set; } public static void Label(Rect position, string text) { } } public static class SystemInfo { public static string deviceModel => ""; public static string deviceName => ""; public static string deviceUniqueIdentifier => ""; public static string operatingSystem => ""; public static string graphicsDeviceName => ""; public static string graphicsDeviceVersion => ""; public static int graphicsShaderLevel => 0; public static int graphicsMemorySize => 0; public static int systemMemorySize => 0; public static int processorCount => 1; public static string processorType => ""; public static bool SupportsRenderTextureFormat(RenderTextureFormat format) => true; public static bool SupportsTextureFormat(TextureFormat format) => true; public static bool IsFormatSupported(Experimental.Rendering.GraphicsFormat format, Experimental.Rendering.FormatUsage usage) => true; } public static class Graphics { public static void Blit(Texture source, RenderTexture dest) { } public static void Blit(Texture source, RenderTexture dest, Material mat) { } public static void Blit(Texture source, RenderTexture dest, Material mat, int pass) { } } public static class QualitySettings { public static ColorSpace activeColorSpace => ColorSpace.Linear; public static int vSyncCount { get; set; } } public static class StackTraceUtility { public static string ExtractStackTrace() => ""; } public enum ColorSpace { Uninitialized = -1, Gamma = 0, Linear = 1 } public enum RenderTextureReadWrite { Default, Linear, sRGB } public enum TextureFormat { Alpha8, ARGB4444, RGB24, RGBA32, ARGB32, RGB565, R16, DXT1, DXT5, RGBA4444, BGRA32, RHalf, RGHalf, RGBAHalf, RFloat, RGFloat, RGBAFloat, ARGB64, ASTC_6x6, ETC2_RGB, ETC2_RGBA8, ETC_RGB4, PVRTC_RGB4 } [Flags] public enum EventModifiers { None = 0, Shift = 1, Control = 2, Alt = 4, Command = 8, Numeric = 16, CapsLock = 32, FunctionKey = 64 } } namespace UnityEngine.Experimental.Rendering { public enum GraphicsFormat { None, R8G8B8A8_UNorm, R16G16B16A16_SFloat, R32G32B32A32_SFloat, D32_SFloat } [Flags] public enum FormatUsage { Sample = 1, Linear = 2, Sparse = 4, Render = 8, Blend = 16, MSAA2x = 32 } public static class GraphicsFormatUtility { public static GraphicsFormat GetGraphicsFormat(RenderTextureFormat format, RenderTextureReadWrite readWrite) => GraphicsFormat.None; public static GraphicsFormat GetGraphicsFormat(TextureFormat format, bool isSRGB) => GraphicsFormat.None; } }