You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/docs/world/scripting.mdx
+63-3Lines changed: 63 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,13 @@ For reasons, custom code must either be generated by rebuilding the client (i.e.
8
8
9
9
## How to Add Scripts Via Unity Client Build
10
10
11
+
<Callouttype="info">
12
+
13
+
If you are building a game or application with the framework, and supporting user-generated content (such as scenes, avatars, or props) is not a priority, you may prefer to build your MonoBehaviour scripts natively rather than leveraging Cilbox.
14
+
15
+
This is because Cilbox is a CIL interpreter, which will incur a significant speed penalty and may support a subset of available language features.
16
+
</Callout>
17
+
11
18
- Create a canvas object with a button inside it.
12
19
13
20
- Add a script to the button object. As a simple example, we'll create a script that updates a TMP text object called TestButton.
@@ -158,7 +165,13 @@ You should disable or remove the canvas object from the scene. This is because k
158
165
159
166
## How to Add Network Syncing Scripts Via Cilbox
160
167
161
-
The Cilbox CIL can be used to create scripts that work in runtime. Currently, Cilbox is still quite experimental. The following example shows how to create a script to make a cube rotate using Cilbox.
168
+
Cilbox is a scripting system to act as glue to help provide some minimal game logic, enabling portability of basic behaviours in user-generated content such as props, avatars, and scenes. It can be used to create scripts that work at runtime.
169
+
170
+
Currently, Cilbox is still very experimental. The following example shows how to create a script to make a cube rotate using Cilbox.
171
+
172
+
<Callouttype="info">
173
+
Note: Cilbox is especially useful if you are making an application or game that loads user-generated content, and want to support scripting on that user content. It allows shipping scripts as something like DLC alongside your other content, while also providing a more secure sandbox for code to be executed within, preventing scripts with harmful or undesirable behaviours from executing.
174
+
</Callout>
162
175
163
176
- Create a cube object and an ObjectRotator component to attach to it. Make sure to add [Cilboxable] above your class.
164
177
@@ -208,7 +221,7 @@ Note: If your editor can't detect the Cilbox namespace, you can either create yo
208
221
209
222

210
223
211
-
Here is an additional example using shaders which you can try.
224
+
Below are some additional example scripts you can try out.
212
225
213
226
```cs title="NM_Wind "
214
227
usingUnityEngine;
@@ -235,4 +248,51 @@ public class NM_Wind : MonoBehaviour
0 commit comments