Upgrade from 6.3.35
Upgrade projects and runtime code from Flora 6.3.35.
Review these changes when upgrading runtime code or serialized settings.
Instance relationships
Instance relationship APIs now use three concrete roles: Prefab, RenderDefinition, and Owner.
FloraInstanceFilter.ByIdentitySource(...)
FloraInstanceFilter.ByPrefab(...)
FloraInstanceFilter.ByRenderSource(...)
FloraInstanceFilter.ByRenderDefinition(...)
IdentitySourceGameObjectID
Prefab
RenderSourceGameObjectID
RenderDefinition
OwnerGameObjectID
Owner
GetInstanceIdentitySource(...)
GetInstancePrefab(...)
GetInstanceRenderSource(...)
GetInstanceRenderDefinition(...)
The previous names remain as obsolete compatibility aliases until a future version. Serialized FloraInstanceFilter fields migrate automatically. Constructor named arguments use prefab, owner, and renderDefinition.
GetInstancePrefab(...) now returns null for scene-only renderers instead of returning the scene object as an identity fallback. Use GetInstanceRenderDefinition(...) when you need the object supplying render data.
See System for the role definitions and common mappings.
Rendering configuration
Enable GPU Occlusion Culling replaces Disable GPU Occlusion Culling. Serialized behavior is preserved.
Renderer, LODGroup, Terrain, and Camera settings replace the removed scene-level feature gates.
Range-density controls now belong to
FloraRenderSettings.
Writable Volume Profiles migrate FloraDensitySettings automatically. FloraRenderSettings wins conflicting overrides. Read-only profiles and GetGlobalDensitySettings() remain compatible with 6.x.
Terrain details
Terrain details are transient GPU data. They have no FloraInstanceHandle and do not appear in queries. ByDetails() and TerrainDetail are obsolete and never match.
Terrain detail streaming is automatic. The former streaming mode, responsiveness, and work-budget controls have been removed. Use DetailUnloadHysteresisSeconds to configure only the unload grace period.
Requested density maps are imported in coalesced patch ranges, ready patch layers are generated atomically on the GPU, and expired patches are released immediately.
See Scene Settings.
Runtime-created instance layers
The CreateInstance(...) and CreateInstances(...) overloads accept FloraPrefabLayerSource:
Owneruses the owner or parent layer and remains the default.Prefabuses the prefab's layer.
Variation colors
Submit colors with SetInstanceVariationColor(...) or SetInstanceVariationColors(...). Keep readable state in caller-owned data.
The obsolete GetInstanceVariationColor(...) always throws NotSupportedException and will be removed in the future.
Last updated