Voxel Mesh does not trigger when entering a Trigger Area

Steps to reproduce

A) Setting up the scene

  1. Create a Primitive Trigger area and name it stationary.
  2. Create a script TriggerScript and attach it to stationary.
  3. Edit the script and implement the method TriggerScript:OnTriggerEnter(other) as printf('TriggerScript:OnTriggerEnter: other={1}', other:GetName()).
  4. Create a Voxel Mesh, and name the entity movable. See entity-positions.jpg for a view of the setup.
  5. Create a script InteractionScript and attach it to movable.
  6. Create a script property {name='moveTo', type='entity'}.
  7. On the movable entity, set the moveTo property to stationary.
  8. Implement the method InteractionScript:Move as self:GetEntity():AlterPosition(self.properties.moveTo:GetPosition(), 1.0).
  9. Make the movable onInteract event fire InteractionScript.Move() for movable.

B) Testing the operation

  1. Go into Preview mode.
  2. Enable the console.
  3. Move your player over to movable, and interact with it.

See this video for an example without a workaround, and then applying workaround A) listed below:

Crayta Issue - Voxel Mesh Trigger Area

Expected result

The log should show: TriggerScript:OnTriggerEnter: other=movable.

Actual result

The log shows nothing. See actual.jpg.


A) Attach a Mesh entity to movable and use that for the logic instead. When this attached Mesh entity enters the trigger area, it will be activated.

B) Turn on physics for the Voxel Mesh entity.

Thank you for such a comprehensive bug report! It’s looking good in JIRA now just waiting for a fix!