# Introducing Matrix.MBS: Dynamic Function Calls with Matrix Parameters

**URL:** https://the.fmsoup.org/t/introducing-matrix-mbs-dynamic-function-calls-with-matrix-parameters/5426
**Category:** MBS Plugins
**Tags:** scripting, plugin, mbs
**Created:** [May 9, 2026, 6:05am UTC](https://the.fmsoup.org/t/introducing-matrix-mbs-dynamic-function-calls-with-matrix-parameters/5426 "2026-05-09T06:05:38Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![MonkeybreadSoftware](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/monkeybreadsoftware/32/361_2.png) [@MonkeybreadSoftware](https://the.fmsoup.org/u/MonkeybreadSoftware)
#### Post date: [May 9, 2026, 6:05am UTC](https://the.fmsoup.org/t/introducing-matrix-mbs-dynamic-function-calls-with-matrix-parameters/5426/1 "2026-05-09T06:05:38Z")

</div>

With version **16.2** of the MBS FileMaker Plugin, a powerful new function has been added: [Matrix.MBS](https://www.mbsplugins.eu/MatrixMBS.shtml). This feature opens up a flexible way to dynamically call MBS functions using parameters stored inside a matrix.

If you’ve ever needed to construct parameter lists programmatically or pass variable-length arguments into MBS functions, this addition makes the process significantly cleaner and more scalable.

### What Does `Matrix.MBS` Do?

`Matrix.MBS` allows you to:

- Store parameters in a matrix structure

- Automatically collect values from rows and columns

- Ignore empty cells

- Pass those values as arguments to another MBS function

- Return the result directly

**Syntax:**

```auto
MBS( "Matrix.MBS"; MatrixRef; FunctionName )

```

## Why This Matters

Before this function, dynamically assembling parameter lists could be tedious, especially when dealing with optional values or variable argument counts. Now, you can:

- Build parameter sets programmatically

- Reuse matrix structures across different function calls

- Simplify scripts that rely on dynamic inputs

## Example 1: Simple Text Concatenation

A basic example demonstrating how values in a matrix can be passed into a function:

```auto
Let([
    m = MBS("Matrix.New"; 3; 1);
    s = MBS("Matrix.SetValue"; m; 0; 0; "Hello");
    s = MBS("Matrix.SetValue"; m; 1; 0; " ");
    s = MBS("Matrix.SetValue"; m; 2; 0; "World");
    r = MBS("Matrix.MBS"; m; "Text.Concat");
    m = MBS("Matrix.Release"; m)
]; r)

```

**Result:**

```auto
Hello World

```

## Example 2: Skipping Empty Values

Empty cells are automatically ignored, which makes it easy to handle optional parameters:

```auto
Let([
    m = MBS("Matrix.New"; 4; 1);
    s = MBS("Matrix.SetValue"; m; 0; 0; "FileMaker");
    // Row 1 left empty
    s = MBS("Matrix.SetValue"; m; 2; 0; " Plugin");
    s = MBS("Matrix.SetValue"; m; 3; 0; " Rocks!");
    r = MBS("Matrix.MBS"; m; "Text.Concat");
    m = MBS("Matrix.Release"; m)
]; r)

```

**Result:**

```auto
FileMaker Plugin Rocks!

```

## Key Takeaways

- [`Matrix.MBS`](https://www.mbsplugins.eu/MatrixMBS.shtml) turns a matrix into a flexible argument list

- Empty cells are safely ignored. If you like to pass empty value, just pass "".

- Works with any compatible MBS function

- Great for dynamic scripting and reusable logic

## Availability

- Introduced in **[MBS FileMaker Plugin](https://www.monkeybreadsoftware.com/filemaker/) 16.2**

- Available across macOS, Windows, Linux, Server, and iOS SDK

This new function is a small addition with big potential. If you’re working with dynamic inputs or building reusable scripting components, [`Matrix.MBS`](https://www.mbsplugins.eu/MatrixMBS.shtml) is definitely worth integrating into your workflow.
