Skip to content

Commit 9b50eaa

Browse files
authored
Fix Unity 6.5+ CS0618 deprecations (Light.cookieSize, FindObjectsByType FindObjectsSortMode overload) (#746)
Replaced two Unity 6.5+ deprecated APIs (Light.cookieSize -> cookieSize2D under a UNITY_6000_5_OR_NEWER guard preserving the float wire shape; Object.FindObjectsByType<T>(FindObjectsSortMode) -> parameterless FindObjectsByType<T>() in ScreenshotIsolatedTests). EditMode 911/911 pass, PlayMode 1/1 pass on Unity 2022.3.62f3.
1 parent 375edb4 commit 9b50eaa

2 files changed

Lines changed: 17 additions & 8 deletions

File tree

Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Editor/Scripts/API/Tool/Screenshot.Isolated.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -515,7 +515,16 @@ private static void ApplyLightConfig(Light light, Transform xform, IsolatedLight
515515
light.colorTemperature = cfg.ColorTemperature.Value;
516516
}
517517
if (cfg.CookieSize.HasValue)
518+
{
519+
#if UNITY_6000_5_OR_NEWER
520+
// Unity 6.5+ deprecated the float cookieSize in favour of Vector2 cookieSize2D.
521+
// The IsolatedLightConfig wire shape stays a single float (uniform XY size) to
522+
// preserve backwards-compatible JSON; expand it to (x,y) at the API boundary.
523+
light.cookieSize2D = new Vector2(cfg.CookieSize.Value, cfg.CookieSize.Value);
524+
#else
518525
light.cookieSize = cfg.CookieSize.Value;
526+
#endif
527+
}
519528

520529
light.shadows = ParseShadows(cfg.Shadows);
521530
if (cfg.ShadowStrength.HasValue)

Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Tests/Editor/Tool/Screenshot/ScreenshotIsolatedTests.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -244,16 +244,16 @@ public void ScreenshotIsolated_NoTemporaryGameObjectsLeftBehind()
244244
var go = CreateTargetCube("CleanupTarget");
245245
var goRef = new GameObjectRef { InstanceID = go.GetEntityId() };
246246

247-
var beforeCount = Object.FindObjectsByType<Camera>(FindObjectsSortMode.None).Length;
247+
var beforeCount = Object.FindObjectsByType<Camera>().Length;
248248

249249
new Tool_Screenshot().ScreenshotIsolated(
250250
gameObjectRef: goRef,
251251
resolution: 32);
252252

253-
var afterCount = Object.FindObjectsByType<Camera>(FindObjectsSortMode.None).Length;
253+
var afterCount = Object.FindObjectsByType<Camera>().Length;
254254
Assert.AreEqual(beforeCount, afterCount, "All temporary cameras must be destroyed in finally");
255255

256-
var leftoverLights = new List<Light>(Object.FindObjectsByType<Light>(FindObjectsSortMode.None)).FindAll(l =>
256+
var leftoverLights = new List<Light>(Object.FindObjectsByType<Light>()).FindAll(l =>
257257
l != null && l.name != null && l.name.StartsWith("__TempIsolation"));
258258
Assert.AreEqual(0, leftoverLights.Count, "All temporary lights must be destroyed in finally");
259259
}
@@ -264,26 +264,26 @@ public void ScreenshotIsolated_Composite_NoTemporaryGameObjectsLeftBehind()
264264
var go = CreateTargetCube("CompositeCleanupTarget");
265265
var goRef = new GameObjectRef { InstanceID = go.GetEntityId() };
266266

267-
var beforeCameras = Object.FindObjectsByType<Camera>(FindObjectsSortMode.None).Length;
268-
var beforeLights = Object.FindObjectsByType<Light>(FindObjectsSortMode.None).Length;
267+
var beforeCameras = Object.FindObjectsByType<Camera>().Length;
268+
var beforeLights = Object.FindObjectsByType<Light>().Length;
269269

270270
new Tool_Screenshot().ScreenshotIsolated(
271271
gameObjectRef: goRef,
272272
cameraView: Tool_Screenshot.CameraView.Composite,
273273
resolution: 32);
274274

275-
var afterCameras = Object.FindObjectsByType<Camera>(FindObjectsSortMode.None).Length;
275+
var afterCameras = Object.FindObjectsByType<Camera>().Length;
276276
Assert.AreEqual(beforeCameras, afterCameras, "All composite-quadrant temporary cameras must be destroyed in finally");
277277

278278
var leftoverIsolation = new List<GameObject>();
279-
foreach (var camera in Object.FindObjectsByType<Camera>(FindObjectsSortMode.None))
279+
foreach (var camera in Object.FindObjectsByType<Camera>())
280280
{
281281
if (camera != null && camera.name != null && camera.name.StartsWith("__TempIsolation"))
282282
leftoverIsolation.Add(camera.gameObject);
283283
}
284284
Assert.AreEqual(0, leftoverIsolation.Count, "No __TempIsolationCamera GameObjects must survive a composite render");
285285

286-
var afterLights = Object.FindObjectsByType<Light>(FindObjectsSortMode.None).Length;
286+
var afterLights = Object.FindObjectsByType<Light>().Length;
287287
Assert.AreEqual(beforeLights, afterLights, "All composite-quadrant temporary lights must be destroyed in finally");
288288
}
289289

0 commit comments

Comments
 (0)