エラー
MoCHI の診断は MOCHInnnn の番号を持ち、全部で 61 種類です。番号ごとの原因の区分(origin)で、直す場所が分かります。
| 区分 | 番号の数 | 対処 |
|---|---|---|
subset | 45 | 書き方を直します(原因の区分) |
environment | 14 | プロジェクトを直します(原因の区分) |
tool | 2 | MoCHI の側の問題です(原因の区分) |
XML・要素・属性・値
Section titled “XML・要素・属性・値”| 番号 | 区分 | 意味 | 例 |
|---|---|---|---|
MOCHI1001 | subset | XML として整形式でありません(閉じていないタグ・引用符の無い属性・DOCTYPE) | |
MOCHI1003 | subset | ルート要素の名前がファイル名と違います(大文字と小文字を区別します) | root-name-mismatch |
MOCHI1004 | subset | その場所に書けない要素です(<Prefab> の外の <At>・ルート要素の直下以外の <Props>・2 つ目の <Props>・<Transform>・ホストの外のコンポーネント・コンポーネントや <Slot> の子要素・Canvas の下の <Row> と <Grid>・Unity が prefab に保存しない <TMP_SubMesh> と <TMP_SubMeshUI> など) | at-outside-prefab・component-in-for・else-without-if・prop-child・row-in-canvas・transform-element・two-props |
MOCHI1005 | subset | その要素が受け付けない属性です(Canvas の下の position と size・Canvas のルートの anchoredPosition3D・同じ GameObject の anchoredPosition と anchoredPosition3D を含みます)。多くの場合、受け付ける属性の一覧が添えられます | anchored-position3d-root・anchored-position3d-with-anchored-position・component-attribute・prop-object-default・props-attribute・rect-position・root-attribute・row-child-position・row-with-size・tag-attribute |
MOCHI1006 | subset | 要素の中に文字があります。値は属性に書きます | text-in-element |
MOCHI1007 | subset | XML の名前空間(接頭辞・xmlns)は使えません | namespace |
MOCHI1008 | subset | 必要な属性がありません(src・path・each と in・test・columns・<Row> と <Grid> の子の size・pivot に対する size・overflow="repeat" の gap・mainTexture と color に対する material など) | grid-without-columns・pivot-without-size・repeat-without-gap・row-child-without-size・texture-without-material |
MOCHI1009 | subset | 値の形式が違います(float・int・bool・Vector3・Color・列挙・static の語・<Slot> の名前・fill のパターンなど)。UdonBehaviour が 2 つ以上ある GameObject を #key の無いパスで指した場合(置いた <Prefab> の中の GameObject を含みます)もこれです | bool-capital・color-name・color-short・columns-too-many・enum-case・fill-binding・layer-name-unknown・name-empty・number-exponent・slot-binding・static-unknown・value-out-of-range・vector-comma・vector-two-numbers |
MOCHI1010 | subset | VRChat がワールドで許していない Unity のコンポーネントです。アップロードすると VRChat が外します | component-not-allowed |
MOCHI1011 | subset | 同じ GameObject に必要なコンポーネントがありません(Audio の Filter には AudioSource が必要です) | audio-filter-alone |
MOCHI1012 | subset | 同じ GameObject の UdonBehaviour のプログラムが、None 以外の違う同期の方式を宣言しています。VRChat は同じ GameObject の同期する UdonBehaviour に 1 つの方式しか持たせません |
パス・ファイル・データ
Section titled “パス・ファイル・データ”| 番号 | 区分 | 意味 | 例 |
|---|---|---|---|
MOCHI2001 | subset | パスの形式が違うか、Assets/ と Packages/ の外を指しています。builtin: の名前をパスの代わりに使った場合もこれです | builtin-material-color・path-backslash・path-outside |
MOCHI2002 | environment | パスが指すファイル(部品・prefab・アセット・表)がありません | |
MOCHI2003 | environment | folder() のフォルダがありません | |
MOCHI2004 | environment | 表の file 列が指すファイルがありません | |
MOCHI2005 | environment | 表(CSV・JSON)の形式が違うか、予約された列名を使っています | table-key-column |
MOCHI2006 | environment | 表の行に key がありません(id 列も file 列も無いか、id が空か、JSON で id のある行と無い行が混ざっています) | table-empty-id・table-row-without-key |
MOCHI2007 | subset | in が folder('…') か table('…') の形式でないか、表が .csv でも .json でもありません | data-source-double-quote・for-in-from-prop |
MOCHI2008 | subset | アセットの種類が違います(.prefab でない src・.mat でない material・Mesh でない .asset・props の型に合わないアセットなど) | |
MOCHI2009 | environment | アセットに .meta がありません。Unity がまだインポートしていません | |
MOCHI2010 | subset | <At path>・<Slot path> が指すオブジェクトが prefab に無いか、名前が重なって 1 つに決まりません。fill のパターンに合うオブジェクトが無い場合もこれです | at-path-not-found |
MOCHI2011 | environment | prefab か .mat を読めません | |
MOCHI2012 | subset | 中身の行き先の <Slot> が部品にありません | slot-unknown |
MOCHI2013 | environment | T# スクリプトを持つ部品の隣に、その .cs 用の T# のプログラムアセットがありません | |
MOCHI2014 | environment | 不要になった <Name>.Mochi.cs が残っています(警告) | |
MOCHI2015 | subset | 同じ prefab の中の物を指すパスの先に GameObject がありません(prefab のルートより上へ出た場合も) | object-ref-not-found・prop-object-not-found |
MOCHI2016 | subset | パスの先の GameObject に、属性の型のコンポーネントがありません(onClick なら T# スクリプトを持つ部品ではありません) | object-ref-no-component |
MOCHI2017 | environment | モデルのファイル(.fbx など)の中身を、まだ Unity が読んでいません(Unity の外で調べたとき。Unity でファイルを一度保存すると読めます) | |
MOCHI2018 | environment | <Row>・<Grid> に size を書かずに並べた <Prefab> の中のメッシュが、まだ Unity が読んでいないモデルの中の物で、大きさを測れません。Unity でファイルを一度保存するか、size を書きます | |
MOCHI2019 | environment | 生成物を書く先に、MoCHI が生成していないファイルがあります。上書きせず、生成しません。そのファイルの名前を変えるか移すと生成します |
部品と props
Section titled “部品と props”| 番号 | 区分 | 意味 | 例 |
|---|---|---|---|
MOCHI3001 | subset | その名前の要素も部品もありません。表に無い Unity のコンポーネントもこれになります | |
MOCHI3002 | subset | 同じ名前の部品が 2 つ以上あります | duplicate-part-name |
MOCHI3003 | subset | 部品の名前が組み込みの要素の名前です | builtin-part-name |
MOCHI3004 | subset | 部品が自分自身を使っています | part-cycle |
MOCHI3005 | subset | 部品が宣言していない props を渡しています | prop-undeclared |
MOCHI3006 | subset | props の値が型に合わないか、知らない型名です。実行時の値の型が合わない場合もこれです | prop-object-as-name・prop-type-case・prop-wrong-type |
MOCHI3007 | subset | props の名前が slot かホストの属性の名前です | prop-reserved |
MOCHI3008 | subset | default の無い props を渡していません(エントリポイントではルート要素で出ます) | entry-prop-without-default・prop-missing |
MOCHI3009 | subset | 同じ props を 2 回宣言しています | |
MOCHI3010 | subset | prefab に変更する対象のコンポーネントが無いか、.mat に画像や色のプロパティがありません | override-missing-component |
MOCHI3011 | subset | 同じ <Slot> を部品の中の 2 か所に置いています | slot-twice |
MOCHI3012 | subset | 取り付け位置より子が多くあります | too-many-to-fill |
MOCHI3013 | subset | エントリポイントのファイルで prefab の中を変更しています | override-in-entry |
MOCHI3014 | subset | T# スクリプトを持つ部品の props の名前が、C# のフィールドの名前にできません | |
MOCHI3015 | subset | C# のクラスが部品の条件に合いません(クラスが無い・partial が無い・TsukimiBehaviour を直接継承しない・生成するメンバーと名前が重なる・使えない props の名前) | |
MOCHI3016 | subset | T# スクリプトが、MoCHI の生成物と一緒にコンパイルできません | |
MOCHI3017 | subset | コンポーネントと同じ名前の部品があるので、そのタグを部品として読みました(警告)。コンポーネントを書くには、部品の名前(ファイルとルート要素)を変えます |
| 番号 | 区分 | 意味 | 例 |
|---|---|---|---|
MOCHI4001 | subset | 同じ親の下で同一性が重なっているか、1 つの GameObject の上でコンポーネントの key が重なっているか、同じパスに違う中身のマテリアルの複製を書こうとしています | component-key-twice・for-constant-key・same-name-different-image・same-name-siblings |
MOCHI4002 | environment | 表の中で同じ key が 2 回使われています | |
MOCHI4003 | tool | prefab の中の ID が偶然重なりました |
| 番号 | 区分 | 意味 | 例 |
|---|---|---|---|
MOCHI5001 | subset | 束縛の名前が props にも行にもないか、行にその列がありません | caller-row-not-visible・default-with-binding |
MOCHI5002 | subset | 束縛の形式が違います(値の全体でない・行の名前だけ・名前の形が違う)。同じ GameObject の active を、実行時の値とほかの値の両方で設定した場合と、{{ で始まり、そのあとに }} がある値もこれです | binding-call・binding-empty・binding-in-text・binding-name-hyphen・binding-two-dots・literal-brace-closing-middle・literal-brace-closing・row-without-column |
MOCHI5003 | subset | <If> の test が、生成時に決まる true か false ではありません | if-not-bool |
MOCHI5004 | subset | 生成時に決まる値の場所に、実行時に変わる値を書いています | |
MOCHI5005 | subset | active に書いたメンバーの変化を T# が追えません | |
MOCHI5006 | subset | 束縛が呼ぶ関数が、ほかのインスタンスかほかのクラスの [Reactive] のフィールド・[Computed] のプロパティ・実行時の props を読んでいます(警告)。その値が変わっても束縛は設定し直されません(実行時に変わる値) |
使い方の規則
Section titled “使い方の規則”| 番号 | 区分 | 意味 | 例 |
|---|---|---|---|
MOCHI6001 | subset | T# スクリプトを持つ部品のクラスが、自分の props のフィールドへ書き込んでいます(props の値) |
書いていない値の既定(警告)
Section titled “書いていない値の既定(警告)”| 番号 | 区分 | 意味 | 例 |
|---|---|---|---|
MOCHI7001 | subset | World Space の Canvas のルートに sizeDelta を書いていません(警告)。生成物は Unity の既定の大きさ(100 × 100)のまま作りますが、意図と違う見込みの高い大きさです。その大きさでよければ sizeDelta="100 100" と書くと警告は消えます |
T# の有無
Section titled “T# の有無”| 番号 | 区分 | 意味 | 例 |
|---|---|---|---|
MOCHI8001 | environment | 部品か、関数を呼ぶ束縛が T# を必要としますが、この環境には T# がありません |
未対応と内部のエラー
Section titled “未対応と内部のエラー”| 番号 | 区分 | 意味 | 例 |
|---|---|---|---|
MOCHI9001 | subset | まだ対応していない書き方です。別の書き方にします | part-pivot-moved-root |
MOCHI9900 | tool | MoCHI の内部のエラーです。そのファイルを添えて報告します |
次の 84 例は、出る番号まで機械で突き合わせてあります。
root-name-mismatch
Section titled “root-name-mismatch”MOCHI1003
<shelf prefab="true"> <Object name="Board"/></shelf>at-outside-prefab
Section titled “at-outside-prefab”MOCHI1004
<Room> <Object name="Door"> <At path=""/> </Object></Room><!-- file: Assets/Hall/Hall.mochi.xml --><Hall prefab="true"> <Room/></Hall>component-in-for
Section titled “component-in-for”MOCHI1004
<Stage prefab="true"> <Object name="Wall"> <For each="art" in="folder('../Gallery/art/')"> <MeshFilter mesh="builtin:Quad"/> </For> </Object></Stage>else-without-if
Section titled “else-without-if”MOCHI1004
<Shelf prefab="true"> <Object name="Top"/> <Else> <Object name="Bottom"/> </Else></Shelf>prop-child
Section titled “prop-child”MOCHI1004
<Shelf prefab="true"> <Label/></Shelf><!-- file: Assets/Example/Label.mochi.xml --><Label> <Props> <Prop name="text" type="string"> <Object name="Default"/> </Prop> </Props> <Object name="{text}"/></Label>row-in-canvas
Section titled “row-in-canvas”MOCHI1004
<Menu prefab="true"> <Object name="Panel"> <Canvas renderMode="WorldSpace"/> <Row spacing="10"> <Object name="A"><Image/></Object> <Object name="B"><Image/></Object> </Row> </Object></Menu>transform-element
Section titled “transform-element”MOCHI1004
<Stage prefab="true"> <Object name="Box"> <Transform position="0 1 0"/> </Object></Stage>two-props
Section titled “two-props”MOCHI1004
<Hall prefab="true"> <Plaque title="Welcome" offset="0 2 0"/></Hall><!-- file: Assets/Hall/Plaque.mochi.xml --><Plaque> <Props> <Prop name="title" type="string"/> </Props> <Props> <Prop name="offset" type="Vector3"/> </Props> <Object name="{title}" position="{offset}"/></Plaque>anchored-position3d-root
Section titled “anchored-position3d-root”MOCHI1005
<Sign prefab="true"> <Object name="Panel" scale="0.001 0.001 0.001" sizeDelta="800 400" anchoredPosition3D="0 0 -20"> <Canvas renderMode="WorldSpace"/> </Object></Sign>anchored-position3d-with-anchored-position
Section titled “anchored-position3d-with-anchored-position”MOCHI1005
<Sign prefab="true"> <Object name="Panel" scale="0.001 0.001 0.001" sizeDelta="800 400"> <Canvas renderMode="WorldSpace"/> <Object name="Title" anchoredPosition="0 120" anchoredPosition3D="0 120 -20" sizeDelta="600 80"> <TextMeshProUGUI text="Gallery"/> </Object> </Object></Sign>component-attribute
Section titled “component-attribute”MOCHI1005
<Lamp prefab="true"> <Object name="Bulb"> <Light brightness="2"/> </Object></Lamp>prop-object-default
Section titled “prop-object-default”MOCHI1005
<Hall prefab="true"> <Seat name="Seat"/></Hall><!-- file: Assets/Hall/Seat.mochi.xml --><Seat> <Props> <Prop name="target" type="Object" default="../Exit"/> </Props> <Object name="Cushion"> <VRCStation stationExitPlayerLocation="{target}"/> </Object></Seat>props-attribute
Section titled “props-attribute”MOCHI1005
<Sign prefab="true"> <Props count="1"/></Sign>rect-position
Section titled “rect-position”MOCHI1005
<Board prefab="true"> <Object name="Panel"> <Canvas renderMode="WorldSpace"/> <Object name="Title" position="0 40 0"> <TextMeshProUGUI text="Gallery"/> </Object> </Object></Board>root-attribute
Section titled “root-attribute”MOCHI1005
<Stage prefab="true" position="0 1 0"> <Object name="Floor"/></Stage>row-child-position
Section titled “row-child-position”MOCHI1005
<Shelf prefab="true"> <Row name="Books" spacing="0.05"> <Object name="A" size="0.1 0.3 0.2"/> <Object name="B" size="0.1 0.3 0.2" position="0.5 0 0"/> </Row></Shelf>row-with-size
Section titled “row-with-size”MOCHI1005
<Shelf prefab="true"> <Row name="Books" size="1 0.3 0.2"> <Object name="A" size="0.1 0.3 0.2"/> </Row></Shelf>tag-attribute
Section titled “tag-attribute”MOCHI1005
<Lobby prefab="true"> <Object name="Door" tag="Respawn"/></Lobby>text-in-element
Section titled “text-in-element”MOCHI1006
<Field prefab="true"> <Object name="Sign">Welcome</Object></Field>namespace
Section titled “namespace”MOCHI1007
<Sign prefab="true" xmlns="urn:example"> <Object name="Board"/></Sign>grid-without-columns
Section titled “grid-without-columns”MOCHI1008
<Tiles prefab="true"> <Grid name="Board" spacing="0.5"> <Object name="A" size="1 1 0.1"/> </Grid></Tiles>pivot-without-size
Section titled “pivot-without-size”MOCHI1008
<Office prefab="true"> <Object name="Desk" pivot="0.5 0 0.5"/></Office>repeat-without-gap
Section titled “repeat-without-gap”MOCHI1008
<Hall prefab="true"> <Prefab src="../Kit/KitRoom.prefab" fill="Mount*" overflow="repeat"> <For each="art" in="folder('../Gallery/art/')"> <Object key="{art.key}" name="{art.title}"/> </For> <For each="row" in="table('../Data/art.csv')"> <Object key="{row.key}" name="{row.title}"/> </For> <Object name="Guide"/> </Prefab></Hall>row-child-without-size
Section titled “row-child-without-size”MOCHI1008
<Shelf prefab="true"> <Row name="Books" spacing="0.05"> <Object name="A" size="0.1 0.3 0.2"/> <Object name="B"/> </Row></Shelf>texture-without-material
Section titled “texture-without-material”MOCHI1008
<Wall prefab="true"> <Object name="Canvas"> <MeshFilter mesh="builtin:Quad"/> <MeshRenderer mainTexture="art/01_Sea.png"/> </Object></Wall>bool-capital
Section titled “bool-capital”MOCHI1009
<Field prefab="true"> <Object name="Hidden" active="False"/></Field>color-name
Section titled “color-name”MOCHI1009
<Field prefab="true"> <Object name="Lamp"> <Light color="orange"/> </Object></Field>color-short
Section titled “color-short”MOCHI1009
<Lamp prefab="true"> <Object name="Bulb"> <Light color="#FFF"/> </Object></Lamp>columns-too-many
Section titled “columns-too-many”MOCHI1009
<Wall prefab="true"> <Grid columns="10001"> <Object size="1 1 0"/> </Grid></Wall>enum-case
Section titled “enum-case”MOCHI1009
<Lamp prefab="true"> <Object name="Bulb"> <Light type="point"/> </Object></Lamp>fill-binding
Section titled “fill-binding”MOCHI1009
<Room> <Props> <Prop name="mounts" type="string" default="Mount*"/> </Props> <Prefab src="../Kit/KitRoom.prefab" fill="{mounts}"/></Room><!-- file: Assets/Hall/Hall.mochi.xml --><Hall prefab="true"> <Room/></Hall>layer-name-unknown
Section titled “layer-name-unknown”MOCHI1009
<Watcher prefab="true"> <Object name="Camera"> <Camera cullingMask="Default; Glass"/> </Object></Watcher>name-empty
Section titled “name-empty”MOCHI1009
<Sign prefab="true"> <Object name=""/></Sign>number-exponent
Section titled “number-exponent”MOCHI1009
<Field prefab="true"> <Object name="Far" position="0 0 1e3"/></Field>slot-binding
Section titled “slot-binding”MOCHI1009
<Board prefab="true"> <Props> <Prop name="where" type="string" default="title"/> </Props> <Card> <Object name="Title" slot="{where}"/> </Card></Board><!-- file: Assets/Example/Card.mochi.xml --><Card> <Object name="Top"><Slot name="title"/></Object></Card>static-unknown
Section titled “static-unknown”MOCHI1009
<Lobby prefab="true"> <Object name="Floor" static="navigation"/></Lobby>value-out-of-range
Section titled “value-out-of-range”MOCHI1009
<Loud prefab="true"> <Object name="Radio"> <AudioSource volume="1.5"/> </Object></Loud>vector-comma
Section titled “vector-comma”MOCHI1009
<Field prefab="true"> <Object name="Sign" position="0,1.5,0"/></Field>vector-two-numbers
Section titled “vector-two-numbers”MOCHI1009
<Sign prefab="true"> <Object name="Board" position="0 1.5"/></Sign>component-not-allowed
Section titled “component-not-allowed”MOCHI1010
<Walker prefab="true"> <Object name="Body"> <CharacterController/> </Object></Walker>audio-filter-alone
Section titled “audio-filter-alone”MOCHI1011
<Muffled prefab="true"> <Object name="Radio"> <AudioLowPassFilter cutoffFrequency="800"/> </Object></Muffled>builtin-material-color
Section titled “builtin-material-color”MOCHI2001
<Tint prefab="true"> <Object name="Box"> <MeshFilter mesh="builtin:Cube"/> <MeshRenderer material="builtin:Default-Material" color="#FF0000"/> </Object></Tint>path-backslash
Section titled “path-backslash”MOCHI2001
<Entrance prefab="true"> <Prefab src="..\Kit\KitFrame.prefab"/></Entrance>path-outside
Section titled “path-outside”MOCHI2001
<Hall prefab="true"> <Prefab src="../../Kit/KitFrame.prefab"/></Hall>table-key-column
Section titled “table-key-column”MOCHI2005
<Index prefab="true"> <For each="r" in="table('rooms.csv')"> <Object name="{r.title}" key="{r.key}"/> </For></Index><!-- file: Assets/Example/rooms.csv -->id,key,titleeast,1,East Roomwest,2,West Roomtable-empty-id
Section titled “table-empty-id”MOCHI2006
<Index prefab="true"> <For each="r" in="table('rooms.csv')"> <Object name="{r.title}" key="{r.key}"/> </For></Index><!-- file: Assets/Example/rooms.csv -->id,titleeast,East Room,West Roomtable-row-without-key
Section titled “table-row-without-key”MOCHI2006
<Index prefab="true"> <For each="r" in="table('rooms.csv')"> <Object name="{r.title}"/> </For></Index><!-- file: Assets/Example/rooms.csv -->titleEast RoomWest Roomdata-source-double-quote
Section titled “data-source-double-quote”MOCHI2007
<Wall prefab="true"> <For each="art" in="folder("art/")"> <Object key="{art.key}" name="{art.title}"/> </For></Wall>for-in-from-prop
Section titled “for-in-from-prop”MOCHI2007
<Wall prefab="true"> <Props> <Prop name="source" type="string" default="folder('art/')"/> </Props> <For each="art" in="{source}"> <Object key="{art.key}" name="{art.title}"/> </For></Wall>at-path-not-found
Section titled “at-path-not-found”MOCHI2010
<Wall prefab="true"> <Framed/></Wall><!-- file: Assets/Example/Framed.mochi.xml --><Framed> <Prefab src="../Kit/KitFrame.prefab"> <At path="Plate/Title" active="false"/> </Prefab></Framed>slot-unknown
Section titled “slot-unknown”MOCHI2012
<Board prefab="true"> <Card> <Object name="Footer" slot="footer"/> </Card></Board><!-- file: Assets/Example/Card.mochi.xml --><Card> <Object name="Top"><Slot name="title"/></Object></Card>object-ref-not-found
Section titled “object-ref-not-found”MOCHI2015
<Menu prefab="true"> <Object name="Panel"> <Canvas renderMode="WorldSpace"/> <ScrollRect content="Contents"/> <Object name="Content"/> </Object></Menu>prop-object-not-found
Section titled “prop-object-not-found”MOCHI2015
<Hall prefab="true"> <Seat name="Seat" target="../Exit"/></Hall><!-- file: Assets/Hall/Seat.mochi.xml --><Seat> <Props> <Prop name="target" type="Object"/> </Props> <Object name="Cushion"> <VRCStation stationExitPlayerLocation="{target}"/> </Object></Seat>object-ref-no-component
Section titled “object-ref-no-component”MOCHI2016
<Menu prefab="true"> <Object name="Panel"> <Canvas renderMode="WorldSpace"/> <Object name="Close"> <Button targetGraphic="../Label"/> </Object> <Object name="Label"/> </Object></Menu>duplicate-part-name
Section titled “duplicate-part-name”MOCHI3002
<Hall prefab="true"> <Sign/></Hall><!-- file: Assets/Hall/Sign.mochi.xml --><Sign> <Object name="Board"/></Sign><!-- file: Assets/Parts/Sign.mochi.xml --><Sign> <Object name="Plate"/></Sign>builtin-part-name
Section titled “builtin-part-name”MOCHI3003
<Grid prefab="true"> <Object name="Tile"/></Grid>part-cycle
Section titled “part-cycle”MOCHI3004
<Tower prefab="true"> <Floor/></Tower><!-- file: Assets/Example/Floor.mochi.xml --><Floor> <Object name="Slab"/> <Floor position="0 3 0"/></Floor>prop-undeclared
Section titled “prop-undeclared”MOCHI3005
<Hall prefab="true"> <Plaque name="Entrance" title="Welcome" colour="#FF0000"/></Hall><!-- file: Assets/Hall/Plaque.mochi.xml --><Plaque> <Props> <Prop name="title" type="string"/> </Props> <Object name="{title}"/></Plaque>prop-object-as-name
Section titled “prop-object-as-name”MOCHI3006
<Hall prefab="true"> <Object name="Exit"/> <Sign name="Sign" target="../Exit"/></Hall><!-- file: Assets/Hall/Sign.mochi.xml --><Sign> <Props> <Prop name="target" type="Object"/> </Props> <Object name="{target}"/></Sign>prop-type-case
Section titled “prop-type-case”MOCHI3006
<Sign prefab="true"> <Props> <Prop name="count" type="Int" default="1"/> </Props></Sign>prop-wrong-type
Section titled “prop-wrong-type”MOCHI3006
<Hall prefab="true"> <Rack shelves="1.5"/></Hall><!-- file: Assets/Hall/Rack.mochi.xml --><Rack> <Props> <Prop name="shelves" type="int"/> </Props> <Object name="Frame"/></Rack>prop-reserved
Section titled “prop-reserved”MOCHI3007
<Hall prefab="true"> <Plaque/></Hall><!-- file: Assets/Hall/Plaque.mochi.xml --><Plaque> <Props> <Prop name="position" type="Vector3" default="0 1 0"/> </Props> <Object name="Board" position="{position}"/></Plaque>entry-prop-without-default
Section titled “entry-prop-without-default”MOCHI3008
<Stage prefab="true"> <Props> <Prop name="title" type="string"/> </Props> <Object name="{title}"/></Stage>prop-missing
Section titled “prop-missing”MOCHI3008
<Hall prefab="true"> <Plaque name="Entrance"/></Hall><!-- file: Assets/Hall/Plaque.mochi.xml --><Plaque> <Props> <Prop name="title" type="string"/> </Props> <Object name="{title}"/></Plaque>override-missing-component
Section titled “override-missing-component”MOCHI3010
<Wall prefab="true"> <Framed/></Wall><!-- file: Assets/Example/Framed.mochi.xml --><Framed> <Prefab src="../Kit/KitFrame.prefab"> <Light intensity="2"/> </Prefab></Framed>slot-twice
Section titled “slot-twice”MOCHI3011
<Board prefab="true"> <Card/></Board><!-- file: Assets/Example/Card.mochi.xml --><Card> <Object name="Front"><Slot/></Object> <Object name="Back"><Slot/></Object></Card>too-many-to-fill
Section titled “too-many-to-fill”MOCHI3012
<Hall prefab="true"> <Prefab src="../Kit/KitRoom.prefab" fill="Mount*"> <For each="art" in="folder('../Gallery/art/')"> <Object key="{art.key}" name="{art.title}"/> </For> <For each="row" in="table('../Data/art.csv')"> <Object key="{row.key}" name="{row.title}"/> </For> <Object name="Guide"/> </Prefab></Hall>override-in-entry
Section titled “override-in-entry”MOCHI3013
<Wall prefab="true"> <Prefab src="../Kit/KitFrame.prefab"> <At path="Plate/Label" active="false"/> </Prefab></Wall>component-key-twice
Section titled “component-key-twice”MOCHI4001
<Speaker prefab="true"> <Object name="Box"> <AudioSource key="music"/> <BoxCollider key="music"/> </Object></Speaker>for-constant-key
Section titled “for-constant-key”MOCHI4001
<Shelf prefab="true"> <For each="art" in="folder('../Gallery/art/')"> <Object key="frame" name="{art.title}"/> </For></Shelf>same-name-different-image
Section titled “same-name-different-image”MOCHI4001
<Wall prefab="true"> <Object name="Canvas"> <MeshFilter mesh="builtin:Quad"/> <MeshRenderer material="../Art/Frame.mat" mainTexture="art/01_Sea.png"/> </Object> <Object name="canvas" position="2 0 0"> <MeshFilter mesh="builtin:Quad"/> <MeshRenderer material="../Art/Frame.mat" mainTexture="art/02_Moon.png"/> </Object></Wall>same-name-siblings
Section titled “same-name-siblings”MOCHI4001
<Gate prefab="true"> <Object name="Pillar" position="-2 0 0"/> <Object name="Pillar" position="2 0 0"/></Gate>caller-row-not-visible
Section titled “caller-row-not-visible”MOCHI5001
<Wall prefab="true"> <For each="art" in="folder('art/')"> <Caption key="{art.key}"/> </For></Wall><!-- file: Assets/Gallery/Caption.mochi.xml --><Caption> <Object name="{art.title}"/></Caption>default-with-binding
Section titled “default-with-binding”MOCHI5001
<Sign prefab="true"> <Props> <Prop name="title" type="string" default="Hall"/> <Prop name="caption" type="string" default="{title}"/> </Props> <Object name="{caption}"/></Sign>binding-call
Section titled “binding-call”MOCHI5002
<Sign prefab="true"> <Object name="{Title()}"/></Sign>binding-empty
Section titled “binding-empty”MOCHI5002
<Sign prefab="true"> <Object name="{}"/></Sign>binding-in-text
Section titled “binding-in-text”MOCHI5002
<Rooms prefab="true"> <For each="art" in="folder('../Gallery/art/')"> <Object key="{art.key}" name="Room {art.title}"/> </For></Rooms>binding-name-hyphen
Section titled “binding-name-hyphen”MOCHI5002
<Hall prefab="true"> <Plaque my-title="Welcome"/></Hall><!-- file: Assets/Hall/Plaque.mochi.xml --><Plaque> <Props> <Prop name="my-title" type="string"/> </Props> <Object name="{my-title}"/></Plaque>binding-two-dots
Section titled “binding-two-dots”MOCHI5002
<Wall prefab="true"> <For each="art" in="folder('art/')"> <Object key="{art.key}" name="{art.title.text}"/> </For></Wall>literal-brace-closing-middle
Section titled “literal-brace-closing-middle”MOCHI5002
<Score prefab="true"> <Object name="{{score}} pts"/></Score>literal-brace-closing
Section titled “literal-brace-closing”MOCHI5002
<Notes prefab="true"> <Object name="{{score}}"/></Notes>row-without-column
Section titled “row-without-column”MOCHI5002
<Rooms prefab="true"> <For each="art" in="folder('../Gallery/art/')"> <Object name="{art}"/> </For></Rooms>if-not-bool
Section titled “if-not-bool”MOCHI5003
<Fair prefab="true"> <Props> <Prop name="count" type="int" default="2"/> </Props> <If test="{count}"> <Object name="Lamp"/> </If></Fair>part-pivot-moved-root
Section titled “part-pivot-moved-root”MOCHI9001
<Office prefab="true"> <Desk pivot="0.5 0 0.5"/></Office><!-- file: Assets/Example/Desk.mochi.xml --><Desk> <Object name="Top" size="1.2 0.05 0.6" rotation="0 30 0"/></Desk>