Skip to main content

Setup in Biomes/Paths

Errant Biomes

For Blueprint-only projects, change the HISM class spawned by the Species to one of the HISM BPs provided in the EII plugin content folder (/Content/Example/Biomes/Blueprints):

  • BP_OfflineInteractableBiomesHISMComponent - for offline-spawned Species,
  • BP_RuntimeInteractableBiomesHISMComponent - for runtime-spawned Species.

Those BPs derive from UBiomesHierarchicalInstancedStaticMeshComponent, which is recommended for use in Errant Biomes. They also correctly register/unregister to EII in the context of World Partition and Errant Biomes Runtime Spawning.

image


Finally, set the DefaultActorClassToConvertTo and MeshToActorClassMapping properties of the HISM class, as described in the General Setup. You can set those params in the HISM BP class or in the Species (as shown in the screenshot above, below the highlight).

info

Starting with Errant Biomes 1.9, interaction can be configured for offline and runtime spawned Species. Prior to Errant Biomes 1.9, interaction can be configured only for offline spawned Species.

Code projects can use a single HISM class that works for both offline and runtime spawned Species. BP-only projects need to use two different HISM BP classes for offline and runtime Species.

Errant Paths

As there is no option to change the ISM class spawned by Errant Paths 1.0, registering ISMs to EII needs to be performed by the Path's SubActor, and not by the ISM.

Start by creating a new class based on ASpawnedSubActor and implement registration to EII in its BeginPlay.

Next, open the PathDescription asset of your Path and modify the "SubActor Class" in the "Partition" settings. Select your new SubActor class.

image

Finally, regenerate the Path with the "Physics" toggle enabled (as collision is often used to detect interactions).

Troubleshooting

In case the interaction isn't working, here are some troubleshooting ideas:

  • Is the mesh you want to interact with an instance of a ISM?
  • Is the ISM registered to EII? Add a breakpoint in the Event Graph or in the code and check. Alternatively, use the errant.instanceinteraction.DrawDebugs 1 cmd in the Editor and check if the instances seem to be managed by EII (there should be a label rendered above each registered ISM).
  • Does the gameplay logic properly detects the instance and triggers conversion to actor?
  • Does the instance has simple collision? Does the mesh asset has simple collision configured?
  • Are there any warnings in the Output Log?