Skip to content

Source

By using a Source script, new movable units (MUs) can be generated. MUs can be generated in intervals or automatically generated once the last generated MU has travelled a certain distance away from the source. This is useful to automatically generate MUs on a conveyor. The object with the Source script attached to, is like a template. Each time a MU is created, the Source creates a new instance of the object under the defined root Destination in the scene hierarchy.

This tutorial shows how to create a custom source:

Tutorial custom sources

The source can also manually create (MUs) when you press “C”. The source will delete all generated (MUs) when you press “D” on the keyboard.

This is the property window of the source:

Defines which part should be generated. Should normally point to the same GameObject where the source component itself is attached to. This is also the standard setting.

Note: Collider enabled/disabled states are preserved from this template when generating MUs. To disable specific colliders on generated MUs, simply disable them in the template prefab before starting the simulation.

When the source is generating a new MU it can be placed as a sub Gameobject under the defined Destination Gameobject.

Must be set to true for the source to work.

Should be usually set to true - the source will not change its position.

Hides the source so that only the created MUs are visible.

Sets the Mass of the created MUs.

Sets the Center of Mass of the created MUs.

The Center of Mass.

Unity Layer where the MU should be placed to after creation.

Maybe some scripts on the MU, which is a copy of the source, should be destroyed when the MU is created. You can define here the components to be destroyed.

Creates MUs in a constant interval in seconds. If the value is 0 this option is not used.

Automatically creates new MUs when the distance of the last created MU is greater than the defined value. Optionally the distance can be also randomly (equally distributed) between the defined Distance (“Generate if Distance”) plus / minus the “Range Distance”.

Limits the number of generated MUs.

Gernarate MU - should be turned on for making the source work.

PLCOutputBool Signal (e.g. from a PLC) for generating MUs.

Unity Event which can be used for custom scripts which are called when an MU is created.

The Source GameObject acts as a non-physical template during simulation:

Collider Handling:

  • All colliders on the template are automatically disabled when the simulation starts
  • The initial enabled/disabled state of each collider is preserved from your prefab configuration
  • When MUs are generated, each collider’s original state is restored
  • This includes colliders on inactive child GameObjects

Practical Use:

  • To have a collider disabled on generated MUs, simply disable it in the template prefab before simulation starts
  • To have a collider enabled on generated MUs, ensure it’s enabled in the template prefab
  • Inactive child GameObjects maintain their hierarchy state and collider configurations

Visibility:

  • The template’s visual representation can be hidden using the Don’t Visualize property
  • Even when hidden, the template remains in the scene as the blueprint for MU generation

Physics:

  • The template does not participate in physics simulation
  • Generated MUs have full physics interaction (collisions, rigidbodies, etc.)
  • Use Freeze Source Position to prevent the template from moving

If script is attached to the Gameobject of the MU, which implements the Interface “ISourceCreated” a Method “OnSourceCreated” is called on the MU when it has been created by the MU.

Please check the Realvirtual.io Class Reference for more information about the properties and methods of this component.

© 2025 realvirtual GmbH https://realvirtual.io - All rights reserved. No part of this publication may be reproduced, distributed, or transmitted in any form or by any means, including printing, saving, photocopying, recording, or other electronic or mechanical methods, without the prior written permission of the publisher.