コンテンツにスキップ

エラー

MoCHI の診断は MOCHInnnn の番号を持ち、全部で 61 種類です。番号ごとの原因の区分(origin)で、直す場所が分かります。

区分番号の数対処
subset45書き方を直します(原因の区分)
environment14プロジェクトを直します(原因の区分)
tool2MoCHI の側の問題です(原因の区分)
番号区分意味例
MOCHI1001subsetXML として整形式でありません(閉じていないタグ・引用符の無い属性・DOCTYPE)
MOCHI1003subsetルート要素の名前がファイル名と違います(大文字と小文字を区別します)root-name-mismatch
MOCHI1004subsetその場所に書けない要素です(<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
MOCHI1005subsetその要素が受け付けない属性です(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
MOCHI1006subset要素の中に文字があります。値は属性に書きますtext-in-element
MOCHI1007subsetXML の名前空間(接頭辞・xmlns)は使えませんnamespace
MOCHI1008subset必要な属性がありません(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
MOCHI1009subset値の形式が違います(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
MOCHI1010subsetVRChat がワールドで許していない Unity のコンポーネントです。アップロードすると VRChat が外しますcomponent-not-allowed
MOCHI1011subset同じ GameObject に必要なコンポーネントがありません(Audio の Filter には AudioSource が必要です)audio-filter-alone
MOCHI1012subset同じ GameObject の UdonBehaviour のプログラムが、None 以外の違う同期の方式を宣言しています。VRChat は同じ GameObject の同期する UdonBehaviour に 1 つの方式しか持たせません
番号区分意味例
MOCHI2001subsetパスの形式が違うか、Assets/ と Packages/ の外を指しています。builtin: の名前をパスの代わりに使った場合もこれですbuiltin-material-color・path-backslash・path-outside
MOCHI2002environmentパスが指すファイル(部品・prefab・アセット・表)がありません
MOCHI2003environmentfolder() のフォルダがありません
MOCHI2004environment表の file 列が指すファイルがありません
MOCHI2005environment表(CSV・JSON)の形式が違うか、予約された列名を使っていますtable-key-column
MOCHI2006environment表の行に key がありません(id 列も file 列も無いか、id が空か、JSON で id のある行と無い行が混ざっています)table-empty-id・table-row-without-key
MOCHI2007subsetin が folder('…') か table('…') の形式でないか、表が .csv でも .json でもありませんdata-source-double-quote・for-in-from-prop
MOCHI2008subsetアセットの種類が違います(.prefab でない src・.mat でない material・Mesh でない .asset・props の型に合わないアセットなど)
MOCHI2009environmentアセットに .meta がありません。Unity がまだインポートしていません
MOCHI2010subset<At path>・<Slot path> が指すオブジェクトが prefab に無いか、名前が重なって 1 つに決まりません。fill のパターンに合うオブジェクトが無い場合もこれですat-path-not-found
MOCHI2011environmentprefab か .mat を読めません
MOCHI2012subset中身の行き先の <Slot> が部品にありませんslot-unknown
MOCHI2013environmentT# スクリプトを持つ部品の隣に、その .cs 用の T# のプログラムアセットがありません
MOCHI2014environment不要になった <Name>.Mochi.cs が残っています(警告)
MOCHI2015subset同じ prefab の中の物を指すパスの先に GameObject がありません(prefab のルートより上へ出た場合も)object-ref-not-found・prop-object-not-found
MOCHI2016subsetパスの先の GameObject に、属性の型のコンポーネントがありません(onClick なら T# スクリプトを持つ部品ではありません)object-ref-no-component
MOCHI2017environmentモデルのファイル(.fbx など)の中身を、まだ Unity が読んでいません(Unity の外で調べたとき。Unity でファイルを一度保存すると読めます)
MOCHI2018environment<Row>・<Grid> に size を書かずに並べた <Prefab> の中のメッシュが、まだ Unity が読んでいないモデルの中の物で、大きさを測れません。Unity でファイルを一度保存するか、size を書きます
MOCHI2019environment生成物を書く先に、MoCHI が生成していないファイルがあります。上書きせず、生成しません。そのファイルの名前を変えるか移すと生成します
番号区分意味例
MOCHI3001subsetその名前の要素も部品もありません。表に無い Unity のコンポーネントもこれになります
MOCHI3002subset同じ名前の部品が 2 つ以上ありますduplicate-part-name
MOCHI3003subset部品の名前が組み込みの要素の名前ですbuiltin-part-name
MOCHI3004subset部品が自分自身を使っていますpart-cycle
MOCHI3005subset部品が宣言していない props を渡していますprop-undeclared
MOCHI3006subsetprops の値が型に合わないか、知らない型名です。実行時の値の型が合わない場合もこれですprop-object-as-name・prop-type-case・prop-wrong-type
MOCHI3007subsetprops の名前が slot かホストの属性の名前ですprop-reserved
MOCHI3008subsetdefault の無い props を渡していません(エントリポイントではルート要素で出ます)entry-prop-without-default・prop-missing
MOCHI3009subset同じ props を 2 回宣言しています
MOCHI3010subsetprefab に変更する対象のコンポーネントが無いか、.mat に画像や色のプロパティがありませんoverride-missing-component
MOCHI3011subset同じ <Slot> を部品の中の 2 か所に置いていますslot-twice
MOCHI3012subset取り付け位置より子が多くありますtoo-many-to-fill
MOCHI3013subsetエントリポイントのファイルで prefab の中を変更していますoverride-in-entry
MOCHI3014subsetT# スクリプトを持つ部品の props の名前が、C# のフィールドの名前にできません
MOCHI3015subsetC# のクラスが部品の条件に合いません(クラスが無い・partial が無い・TsukimiBehaviour を直接継承しない・生成するメンバーと名前が重なる・使えない props の名前)
MOCHI3016subsetT# スクリプトが、MoCHI の生成物と一緒にコンパイルできません
MOCHI3017subsetコンポーネントと同じ名前の部品があるので、そのタグを部品として読みました(警告)。コンポーネントを書くには、部品の名前(ファイルとルート要素)を変えます
番号区分意味例
MOCHI4001subset同じ親の下で同一性が重なっているか、1 つの GameObject の上でコンポーネントの key が重なっているか、同じパスに違う中身のマテリアルの複製を書こうとしていますcomponent-key-twice・for-constant-key・same-name-different-image・same-name-siblings
MOCHI4002environment表の中で同じ key が 2 回使われています
MOCHI4003toolprefab の中の ID が偶然重なりました
番号区分意味例
MOCHI5001subset束縛の名前が props にも行にもないか、行にその列がありませんcaller-row-not-visible・default-with-binding
MOCHI5002subset束縛の形式が違います(値の全体でない・行の名前だけ・名前の形が違う)。同じ 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
MOCHI5003subset<If> の test が、生成時に決まる true か false ではありませんif-not-bool
MOCHI5004subset生成時に決まる値の場所に、実行時に変わる値を書いています
MOCHI5005subsetactive に書いたメンバーの変化を T# が追えません
MOCHI5006subset束縛が呼ぶ関数が、ほかのインスタンスかほかのクラスの [Reactive] のフィールド・[Computed] のプロパティ・実行時の props を読んでいます(警告)。その値が変わっても束縛は設定し直されません(実行時に変わる値)
番号区分意味例
MOCHI6001subsetT# スクリプトを持つ部品のクラスが、自分の props のフィールドへ書き込んでいます(props の値)

書いていない値の既定(警告)

Section titled “書いていない値の既定(警告)”
番号区分意味例
MOCHI7001subsetWorld Space の Canvas のルートに sizeDelta を書いていません(警告)。生成物は Unity の既定の大きさ(100 × 100)のまま作りますが、意図と違う見込みの高い大きさです。その大きさでよければ sizeDelta="100 100" と書くと警告は消えます
番号区分意味例
MOCHI8001environment部品か、関数を呼ぶ束縛が T# を必要としますが、この環境には T# がありません
番号区分意味例
MOCHI9001subsetまだ対応していない書き方です。別の書き方にしますpart-pivot-moved-root
MOCHI9900toolMoCHI の内部のエラーです。そのファイルを添えて報告します

次の 84 例は、出る番号まで機械で突き合わせてあります。

MOCHI1003

Assets/Example/Shelf.mochi.xml
<shelf prefab="true">
<Object name="Board"/>
</shelf>

MOCHI1004

Assets/Hall/Room.mochi.xml
<Room>
<Object name="Door">
<At path=""/>
</Object>
</Room>
<!-- file: Assets/Hall/Hall.mochi.xml -->
<Hall prefab="true">
<Room/>
</Hall>

MOCHI1004

Assets/Example/Stage.mochi.xml
<Stage prefab="true">
<Object name="Wall">
<For each="art" in="folder('../Gallery/art/')">
<MeshFilter mesh="builtin:Quad"/>
</For>
</Object>
</Stage>

MOCHI1004

Assets/Example/Shelf.mochi.xml
<Shelf prefab="true">
<Object name="Top"/>
<Else>
<Object name="Bottom"/>
</Else>
</Shelf>

MOCHI1004

Assets/Example/Shelf.mochi.xml
<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>

MOCHI1004

Assets/Example/Menu.mochi.xml
<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>

MOCHI1004

Assets/Example/Stage.mochi.xml
<Stage prefab="true">
<Object name="Box">
<Transform position="0 1 0"/>
</Object>
</Stage>

MOCHI1004

Assets/Hall/Hall.mochi.xml
<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>

MOCHI1005

Assets/Example/Sign.mochi.xml
<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

Assets/Example/Sign.mochi.xml
<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>

MOCHI1005

Assets/Example/Lamp.mochi.xml
<Lamp prefab="true">
<Object name="Bulb">
<Light brightness="2"/>
</Object>
</Lamp>

MOCHI1005

Assets/Hall/Hall.mochi.xml
<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>

MOCHI1005

Assets/Example/Sign.mochi.xml
<Sign prefab="true">
<Props count="1"/>
</Sign>

MOCHI1005

Assets/Example/Board.mochi.xml
<Board prefab="true">
<Object name="Panel">
<Canvas renderMode="WorldSpace"/>
<Object name="Title" position="0 40 0">
<TextMeshProUGUI text="Gallery"/>
</Object>
</Object>
</Board>

MOCHI1005

Assets/Example/Stage.mochi.xml
<Stage prefab="true" position="0 1 0">
<Object name="Floor"/>
</Stage>

MOCHI1005

Assets/Example/Shelf.mochi.xml
<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>

MOCHI1005

Assets/Example/Shelf.mochi.xml
<Shelf prefab="true">
<Row name="Books" size="1 0.3 0.2">
<Object name="A" size="0.1 0.3 0.2"/>
</Row>
</Shelf>

MOCHI1005

Assets/Example/Lobby.mochi.xml
<Lobby prefab="true">
<Object name="Door" tag="Respawn"/>
</Lobby>

MOCHI1006

Assets/Example/Field.mochi.xml
<Field prefab="true">
<Object name="Sign">Welcome</Object>
</Field>

MOCHI1007

Assets/Example/Sign.mochi.xml
<Sign prefab="true" xmlns="urn:example">
<Object name="Board"/>
</Sign>

MOCHI1008

Assets/Example/Tiles.mochi.xml
<Tiles prefab="true">
<Grid name="Board" spacing="0.5">
<Object name="A" size="1 1 0.1"/>
</Grid>
</Tiles>

MOCHI1008

Assets/Example/Office.mochi.xml
<Office prefab="true">
<Object name="Desk" pivot="0.5 0 0.5"/>
</Office>

MOCHI1008

Assets/Example/Hall.mochi.xml
<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>

MOCHI1008

Assets/Example/Shelf.mochi.xml
<Shelf prefab="true">
<Row name="Books" spacing="0.05">
<Object name="A" size="0.1 0.3 0.2"/>
<Object name="B"/>
</Row>
</Shelf>

MOCHI1008

Assets/Gallery/Wall.mochi.xml
<Wall prefab="true">
<Object name="Canvas">
<MeshFilter mesh="builtin:Quad"/>
<MeshRenderer mainTexture="art/01_Sea.png"/>
</Object>
</Wall>

MOCHI1009

Assets/Example/Field.mochi.xml
<Field prefab="true">
<Object name="Hidden" active="False"/>
</Field>

MOCHI1009

Assets/Example/Field.mochi.xml
<Field prefab="true">
<Object name="Lamp">
<Light color="orange"/>
</Object>
</Field>

MOCHI1009

Assets/Example/Lamp.mochi.xml
<Lamp prefab="true">
<Object name="Bulb">
<Light color="#FFF"/>
</Object>
</Lamp>

MOCHI1009

Assets/Example/Wall.mochi.xml
<Wall prefab="true">
<Grid columns="10001">
<Object size="1 1 0"/>
</Grid>
</Wall>

MOCHI1009

Assets/Example/Lamp.mochi.xml
<Lamp prefab="true">
<Object name="Bulb">
<Light type="point"/>
</Object>
</Lamp>

MOCHI1009

Assets/Hall/Room.mochi.xml
<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>

MOCHI1009

Assets/Example/Watcher.mochi.xml
<Watcher prefab="true">
<Object name="Camera">
<Camera cullingMask="Default; Glass"/>
</Object>
</Watcher>

MOCHI1009

Assets/Example/Sign.mochi.xml
<Sign prefab="true">
<Object name=""/>
</Sign>

MOCHI1009

Assets/Example/Field.mochi.xml
<Field prefab="true">
<Object name="Far" position="0 0 1e3"/>
</Field>

MOCHI1009

Assets/Example/Board.mochi.xml
<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>

MOCHI1009

Assets/Example/Lobby.mochi.xml
<Lobby prefab="true">
<Object name="Floor" static="navigation"/>
</Lobby>

MOCHI1009

Assets/Example/Loud.mochi.xml
<Loud prefab="true">
<Object name="Radio">
<AudioSource volume="1.5"/>
</Object>
</Loud>

MOCHI1009

Assets/Example/Field.mochi.xml
<Field prefab="true">
<Object name="Sign" position="0,1.5,0"/>
</Field>

MOCHI1009

Assets/Example/Sign.mochi.xml
<Sign prefab="true">
<Object name="Board" position="0 1.5"/>
</Sign>

MOCHI1010

Assets/Example/Walker.mochi.xml
<Walker prefab="true">
<Object name="Body">
<CharacterController/>
</Object>
</Walker>

MOCHI1011

Assets/Example/Muffled.mochi.xml
<Muffled prefab="true">
<Object name="Radio">
<AudioLowPassFilter cutoffFrequency="800"/>
</Object>
</Muffled>

MOCHI2001

Assets/Example/Tint.mochi.xml
<Tint prefab="true">
<Object name="Box">
<MeshFilter mesh="builtin:Cube"/>
<MeshRenderer material="builtin:Default-Material" color="#FF0000"/>
</Object>
</Tint>

MOCHI2001

Assets/Example/Entrance.mochi.xml
<Entrance prefab="true">
<Prefab src="..\Kit\KitFrame.prefab"/>
</Entrance>

MOCHI2001

Assets/Hall/Hall.mochi.xml
<Hall prefab="true">
<Prefab src="../../Kit/KitFrame.prefab"/>
</Hall>

MOCHI2005

Assets/Example/Index.mochi.xml
<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,title
east,1,East Room
west,2,West Room

MOCHI2006

Assets/Example/Index.mochi.xml
<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,title
east,East Room
,West Room

MOCHI2006

Assets/Example/Index.mochi.xml
<Index prefab="true">
<For each="r" in="table('rooms.csv')">
<Object name="{r.title}"/>
</For>
</Index>
<!-- file: Assets/Example/rooms.csv -->
title
East Room
West Room

MOCHI2007

Assets/Gallery/Wall.mochi.xml
<Wall prefab="true">
<For each="art" in="folder(&quot;art/&quot;)">
<Object key="{art.key}" name="{art.title}"/>
</For>
</Wall>

MOCHI2007

Assets/Gallery/Wall.mochi.xml
<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>

MOCHI2010

Assets/Example/Wall.mochi.xml
<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>

MOCHI2012

Assets/Example/Board.mochi.xml
<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>

MOCHI2015

Assets/Example/Menu.mochi.xml
<Menu prefab="true">
<Object name="Panel">
<Canvas renderMode="WorldSpace"/>
<ScrollRect content="Contents"/>
<Object name="Content"/>
</Object>
</Menu>

MOCHI2015

Assets/Hall/Hall.mochi.xml
<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>

MOCHI2016

Assets/Example/Menu.mochi.xml
<Menu prefab="true">
<Object name="Panel">
<Canvas renderMode="WorldSpace"/>
<Object name="Close">
<Button targetGraphic="../Label"/>
</Object>
<Object name="Label"/>
</Object>
</Menu>

MOCHI3002

Assets/Hall/Hall.mochi.xml
<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>

MOCHI3003

Assets/Example/Grid.mochi.xml
<Grid prefab="true">
<Object name="Tile"/>
</Grid>

MOCHI3004

Assets/Example/Tower.mochi.xml
<Tower prefab="true">
<Floor/>
</Tower>
<!-- file: Assets/Example/Floor.mochi.xml -->
<Floor>
<Object name="Slab"/>
<Floor position="0 3 0"/>
</Floor>

MOCHI3005

Assets/Hall/Hall.mochi.xml
<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>

MOCHI3006

Assets/Hall/Hall.mochi.xml
<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>

MOCHI3006

Assets/Example/Sign.mochi.xml
<Sign prefab="true">
<Props>
<Prop name="count" type="Int" default="1"/>
</Props>
</Sign>

MOCHI3006

Assets/Hall/Hall.mochi.xml
<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>

MOCHI3007

Assets/Hall/Hall.mochi.xml
<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>

MOCHI3008

Assets/Example/Stage.mochi.xml
<Stage prefab="true">
<Props>
<Prop name="title" type="string"/>
</Props>
<Object name="{title}"/>
</Stage>

MOCHI3008

Assets/Hall/Hall.mochi.xml
<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>

MOCHI3010

Assets/Example/Wall.mochi.xml
<Wall prefab="true">
<Framed/>
</Wall>
<!-- file: Assets/Example/Framed.mochi.xml -->
<Framed>
<Prefab src="../Kit/KitFrame.prefab">
<Light intensity="2"/>
</Prefab>
</Framed>

MOCHI3011

Assets/Example/Board.mochi.xml
<Board prefab="true">
<Card/>
</Board>
<!-- file: Assets/Example/Card.mochi.xml -->
<Card>
<Object name="Front"><Slot/></Object>
<Object name="Back"><Slot/></Object>
</Card>

MOCHI3012

Assets/Example/Hall.mochi.xml
<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>

MOCHI3013

Assets/Example/Wall.mochi.xml
<Wall prefab="true">
<Prefab src="../Kit/KitFrame.prefab">
<At path="Plate/Label" active="false"/>
</Prefab>
</Wall>

MOCHI4001

Assets/Example/Speaker.mochi.xml
<Speaker prefab="true">
<Object name="Box">
<AudioSource key="music"/>
<BoxCollider key="music"/>
</Object>
</Speaker>

MOCHI4001

Assets/Example/Shelf.mochi.xml
<Shelf prefab="true">
<For each="art" in="folder('../Gallery/art/')">
<Object key="frame" name="{art.title}"/>
</For>
</Shelf>

MOCHI4001

Assets/Gallery/Wall.mochi.xml
<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>

MOCHI4001

Assets/Example/Gate.mochi.xml
<Gate prefab="true">
<Object name="Pillar" position="-2 0 0"/>
<Object name="Pillar" position="2 0 0"/>
</Gate>

MOCHI5001

Assets/Gallery/Wall.mochi.xml
<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>

MOCHI5001

Assets/Example/Sign.mochi.xml
<Sign prefab="true">
<Props>
<Prop name="title" type="string" default="Hall"/>
<Prop name="caption" type="string" default="{title}"/>
</Props>
<Object name="{caption}"/>
</Sign>

MOCHI5002

Assets/Example/Sign.mochi.xml
<Sign prefab="true">
<Object name="{Title()}"/>
</Sign>

MOCHI5002

Assets/Example/Sign.mochi.xml
<Sign prefab="true">
<Object name="{}"/>
</Sign>

MOCHI5002

Assets/Example/Rooms.mochi.xml
<Rooms prefab="true">
<For each="art" in="folder('../Gallery/art/')">
<Object key="{art.key}" name="Room {art.title}"/>
</For>
</Rooms>

MOCHI5002

Assets/Hall/Hall.mochi.xml
<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>

MOCHI5002

Assets/Gallery/Wall.mochi.xml
<Wall prefab="true">
<For each="art" in="folder('art/')">
<Object key="{art.key}" name="{art.title.text}"/>
</For>
</Wall>

MOCHI5002

Assets/Example/Score.mochi.xml
<Score prefab="true">
<Object name="{{score}} pts"/>
</Score>

MOCHI5002

Assets/Example/Notes.mochi.xml
<Notes prefab="true">
<Object name="{{score}}"/>
</Notes>

MOCHI5002

Assets/Example/Rooms.mochi.xml
<Rooms prefab="true">
<For each="art" in="folder('../Gallery/art/')">
<Object name="{art}"/>
</For>
</Rooms>

MOCHI5003

Assets/Example/Fair.mochi.xml
<Fair prefab="true">
<Props>
<Prop name="count" type="int" default="2"/>
</Props>
<If test="{count}">
<Object name="Lamp"/>
</If>
</Fair>

MOCHI9001

Assets/Example/Office.mochi.xml
<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>