The object merge is indeed merging all your inputs together. You'll need a way to separate them out. There are a couple of ways to do that.
The plugin will automatically create a Primitive-owned string attribute called “unity_input_mesh_name” and set the value of this to the name of the gameobject containing the mesh; you can then use this to separate out the meshes into groups, then instantiate by group name.
Another option is to expose the Number of Objects multiparm on the Object Merge. This allows to specify separate inputs with groups automatically. Then your Copy To Points can be set to use Source Group for instancing.
You can also instance via attribute instancing, which might be easier if you don't need to import the mesh into Houdini. Create a SOP that outputs points only (not polygons). Each point should be assigned a string attribute called “unity_instance”. The values should be path to prefabs or meshes in your Unity Project (e.g. Assets/Trees/tree1.prefab"). In this case, you don't need an object merge since you aren't bringing the mesh into Houdini. Rather, you expose a multiparm File Path or simple string, then assign the parm values randomly to the point attribute.
https://www.sidefx.com/docs/unity/_instancing.html#ObjectInstancers_Attribute [
www.sidefx.com]