This section details common problems that result in incorrect assignment of objects to Streamable Cells when using the Assignment (A* button) or Transfer (T* button) Operations of the World Designer Tool.
When using the Assignment/Transfer Operation, all game objects that will be assigned/transferred have their world position in the scene checked in order to determine which Streamable Cells they should be assigned/transferred to, so long as Try Use Mesh Bounds is disabled or the game objects do not have a MeshRenderer component.
In most cases this works quite well, as the world position of the game object typically corresponds to the location of the mesh being used by that game object.
However, if the anchor points of the meshes lie far away from the meshes bounds, this strategy will fail. In these cases, you can try to enable the Try Use Mesh Bounds setting (found in Advanced Operation Settings/General Settings, which will force the World Designer Tool to use the center of the game objects MeshRenderer Mesh Bounds rather than its position.
This, of course, will not work if the game objects do not have MeshRenderer components. In this situation, you should edit the original mesh in a Modeling Software like Blender to re-adjust the anchor points so that they match up better with the mesh (i.e., the anchor points should lie within the bounding volume of the mesh).
Note that modifying the anchor points in this way will likely result in the position of the objects within the scene changing. You should consider this before modifying the anchor points, and create a strategy for handling the changes that will occur.
The World Designer Tool uses its own Origin Cell value that is separate from the World component's Origin Cell. This gives you the option to adjust the Origin Cell while using the Tool in order to keep the assets you are editing close to the origin, while not effecting the runtime representation of your game world.
However, if you have adjusted the Origin Cell on the World component or Origin Cell on the World Designer Tool (resulting in different values for the World and World Designer Tool), in some cases you may have objects assigned to different cells than you are expecting.
For this reason, we always recommend confirming that the Origin Cell set on the World Designer Tool is correct before running an Assignment Operation. To do this:
1) Identify an object that you are about to assign.
2) Manually predict which Cell you think this object should be assigned to.
3) Highlight this Cell using the World Designer Editor, which will display a yellow cube outline in the Scene View.
4) Confirm that the object from step 1 actually falls within bounds of the yellow cube outline.
It's important to note that unlike the Origin Cell, the World Designer Tool does not use its own unique Origin Position value. Instead, it simply uses the World component's Origin Position. If this value is not configured correctly, it can result in the same issues as an incorrect Origin Cell.
For this reason, we always recommend confirming that the World Origin Position set on the World is correct before running an Assignment Operation. Doing so is the same as what was described above for the Origin Cell:
1) Identify an object that you are about to assign.
2) Manually predict which Cell you think this object should be assigned to.
3) Highlight this Cell using the World Designer Editor, which will display a yellow cube outline in the Scene View.
4) Confirm that the object from step 1 actually falls within bounds of the yellow cube outline.
If the object does not fall within the bounds and you are sure that the Origin Cell is correct, it may indicate that you need to adjust the World Origin Position.
Small floating point inaccuracies can creep into your objects' positions (this has been especially noted when using Unity's Terrain Neighbor creation feature), which is normally not a problem. However, if the object's are on or close to the edges of two or more Streamable Cells, these inaccuracies can lead to the objects being assigned to the wrong cells.
For smaller objects this is usually not a major issue, as the player will not notice if the object is loaded with the incorrect cell (since this cell will be close to the border where the object resides). However, for larger objects such as Unity Terrain, this can be a major headache.
Fortunately, there is an easy fix for this! In the World Designer Tool, in the top center Advanced Operation Settings window, navigate to the General Settings tab, and then set the Assignment/Transfer Position Offset setting like so:
1) If your objects are being assigned to the wrong column, add a small X offset.
2) If your objects are being assigned to the wrong row, add a small Z offset if using 2D XZ or 3D Streamable Grids, or a small Y offset if using 2D XY Streamable Grids.
3) If your objects are being assigned to the wrong layer, add a small Y offset if using 2D XZ or 3D Streamable Grids, or a small Z value if using 2D XY Streamable Grids.
The offsets you set should usually be small, as the floating point inaccuracies are usually very small. Values less than .5 should work just fine, however you are free to set these offsets to whatever you like.
Note that these offsets will be used for both Assignment and Transfer operations!