Repository: isaac-sim/IsaacLab (Python)

Issue:
[Bug Report] Semantic and Instance segmentation not working when using TiledCamera
### Describe the bug

When using `TiledCamera` with instanceable assets, semantic and instance segmentation output only show correct rendered image for the first tile. All other tiles will render a black image with no segmentation output. This is a new issue with Isaac Sim 4.5 and only affects assets that have the instanceable flag enabled (which is most of the default assets in Isaac Lab / Isaac Sim)

### Steps to reproduce

Run the `Isaac-Repose-Cube-Shadow-Vision-Direct-v0` environment and export the segmentation data.

Broken segmentation output:

![Image](https://github.com/user-attachments/assets/b25c1d6f-6164-4825-8fe4-4dd57e679259)

Correct segmentation output:

![Image](https://github.com/user-attachments/assets/f5047636-fa33-44e1-9938-63d6a4eff3a8)

### Checklist

- [x] I have checked that there is no similar issue in the repo (**required**)
- [x] I have checked that the issue is not in running Isaac Sim itself and is related to the repo

### Acceptance Criteria

Segmentation data should output correct renders for all tiles.



Fix (patch):
diff --git a/source/isaaclab/config/extension.toml b/source/isaaclab/config/extension.toml
index 55fdfc31f0c..56419d47a59 100644
--- a/source/isaaclab/config/extension.toml
+++ b/source/isaaclab/config/extension.toml
@@ -1,7 +1,7 @@
 [package]
 
 # Note: Semantic Versioning is used: https://semver.org/
-version = "0.34.8"
+version = "0.34.9"
 
 # Description
 title = "Isaac Lab framework for Robot Learning"
diff --git a/source/isaaclab/docs/CHANGELOG.rst b/source/isaaclab/docs/CHANGELOG.rst
index e64443431c5..d20a641a72a 100644
--- a/source/isaaclab/docs/CHANGELOG.rst
+++ b/source/isaaclab/docs/CHANGELOG.rst
@@ -1,6 +1,17 @@
 Changelog
 ---------
 
+0.34.9 (2025-03-04)
+~~~~~~~~~~~~~~~~~~~
+
+Fixed
+^^^^^
+
+* Fixed issue in :class:`~isaaclab.sensors.TiledCamera` where segmentation outputs only display the first tile
+  when scene instancing is enabled. A workaround is added for now to disable instancing when segmentation
+  outputs are requested.
+
+
 0.34.8 (2025-03-04)
 ~~~~~~~~~~~~~~~~~~~
 
diff --git a/source/isaaclab/isaaclab/sensors/camera/tiled_camera.py b/source/isaaclab/isaaclab/sensors/camera/tiled_camera.py
index 0045e0a757f..867d1d061b9 100644
--- a/source/isaaclab/isaaclab/sensors/camera/tiled_camera.py
+++ b/source/isaaclab/isaaclab/sensors/camera/tiled_camera.py
@@ -16,7 +16,7 @@
 import warp as wp
 from isaacsim.core.prims import XFormPrim
 from isaacsim.core.version import get_version
-from pxr import UsdGeom
+from pxr import Sdf, UsdGeom
 
 from isaaclab.utils.warp.kernels import reshape_tiled_image
 
@@ -92,6 +92,21 @@ def __init__(self, cfg: TiledCameraCfg):
             )
         super().__init__(cfg)
 
+        # HACK: we need to disable instancing for semantic_segmentation and instance_segmentation_fast to work
+        isaac_sim_version = get_version()
+        # checks for Isaac Sim v4.5 as this issue exists there
+        if int(isaac_sim_version[2]) == 4 and int(isaac_sim_version[3]) == 5:
+            if "semantic_segmentation" in self.cfg.data_types or "instance_segmentation_fast" in self.cfg.data_types:
+                omni.log.warn(
+                    "Isaac Sim 4.5 introduced a bug in TiledCamera when outputting instance and semantic segmentation"
+                    " outputs for instanceable assets. As a workaround, the instanceable flag on assets will be"
+                    " disabled in the current workflow and may lead to longer load times and increased memory usage."
+                )
+                stage = omni.usd.get_context().get_stage()
+                with Sdf.ChangeBlock():
+                    for prim in stage.Traverse():
+                        prim.SetInstanceable(False)
+
     def __del__(self):
         """Unsubscribes from callbacks and detach from the replicator registry."""
         # unsubscribe from callbacks