globalobjectid
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
globalobjectid [2021/02/08 09:07] – uninomiconadmin | globalobjectid [2025/01/15 04:35] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 9: | Line 9: | ||
//All notes below only apply to running the game in Play mode in the Editor.// | //All notes below only apply to running the game in Play mode in the Editor.// | ||
- | When a scene is loaded in play mode, prefabs are unpacked ((I've seen this mentioned in the profiler as Prefabs.MergePrefabs, | + | When a scene is loaded in play mode, prefabs are unpacked ((I've seen this mentioned in the profiler as Prefabs.MergePrefabs, |
For example. You may have a prefab in the scene with GID: | For example. You may have a prefab in the scene with GID: | ||
Line 23: | Line 23: | ||
==== Converting a Prefab Gid to an Unpacked Gid ==== | ==== Converting a Prefab Gid to an Unpacked Gid ==== | ||
- | You can convert between the two using the following formula: | + | You can convert between the two using the following formula:(( |
+ | Source: | ||
+ | )) | ||
'' | '' | ||
- | <code c#> | + | ++++ Example Code| |
- | private static GlobalObjectId ConvertPrefabGidToUnpackedGid(GlobalObjectId id) | + | |
- | { | + | |
- | ulong fileId = (id.targetObjectId ^ id.targetPrefabId) & 0x7fffffffffffffff; | + | |
- | bool success = GlobalObjectId.TryParse( | + | |
- | $" | + | |
- | out GlobalObjectId unpackedGid); | + | |
- | Assert.IsTrue(success); | + | |
- | return unpackedGid; | + | |
- | } | + | |
+ | <code csharp> | ||
+ | private static GlobalObjectId ConvertPrefabGidToUnpackedGid(GlobalObjectId id) | ||
+ | { | ||
+ | ulong fileId = (id.targetObjectId ^ id.targetPrefabId) & 0x7fffffffffffffff; | ||
+ | bool success = GlobalObjectId.TryParse( | ||
+ | $" | ||
+ | out GlobalObjectId unpackedGid); | ||
+ | Assert.IsTrue(success); | ||
+ | return unpackedGid; | ||
+ | } | ||
</ | </ | ||
+ | |||
+ | ++++ | ||
+ | |||
+ | ===== Bug: Querying deleted objects ===== | ||
+ | When calling '' | ||
+ | |||
+ | For example, in this case, when passed an array of only scene objects: | ||
+ | {{ : | ||
+ | |||
+ | The function will return non-scene objects (the shader editor asset at 205). | ||
+ | {{ : | ||
+ | |||
+ | This seems to be a bug. The correct result should have been '' | ||
+ | |||
+ | I have had some luck < | ||
+ | |||
+ | Update: This is fixed in 2021.1 [[https:// | ||
globalobjectid.1612775276.txt.gz · Last modified: 2025/01/15 04:35 (external edit)