// Template definition for a Island snapshot entity
        static public EntityTemplate GenerateIslandEntityTemplate(Vector3 initialPosition, string prefabName)
        {
            var template = new EntityTemplate();

            template.AddComponent(new Position.Snapshot()
            {
                Coords = initialPosition.ToCoordinates()
            }, WorkerUtils.UnityGameLogic);
            template.AddComponent(new Metadata.Snapshot()
            {
                EntityType = prefabName
            }, WorkerUtils.UnityGameLogic);
            template.AddComponent(new Persistence.Snapshot(), WorkerUtils.UnityGameLogic);

            TransformSynchronizationHelper.AddTransformSynchronizationComponents(template, WorkerUtils.UnityGameLogic, location: initialPosition);


            template.SetReadAccess(WorkerUtils.AllWorkerAttributes);
            template.SetComponentWriteAccess(EntityAcl.ComponentId, WorkerUtils.UnityGameLogic);


            return(template);
        }