# Gravity Realms Developer Guide ## Model Standards & Inventory Create an attractive model, check it, and add it to your inventory when you are ready. Personal inventory uses automatic technical checks. Marketplace review is a separate action. ## From Idea to Your World 1. Open [Nova Model Editor](/nova/models/) and create a private draft. Build with shapes, reopen a supported saved model, or ask Nova for help. 2. Inspect the model from several angles. Choose its intended category in Inventory Readiness and check its dimensions, materials and animation. 3. Choose Check Model. The report identifies measured dimensions, triangle count, parts, material combinations and any issues to fix. 4. Choose Add to Inventory. The server checks the current saved version again. A failed check keeps your draft; it does not add an item or place anything in a world. 5. Open [My Inventory](/inventory/), enter a world where you have building permission, and use its inventory placement controls. Pick up the item to move that owned copy elsewhere. 6. To offer an eligible original design for sale, use the marketplace creator review workflow. Adding to inventory does not submit, approve or list it for sale. ## Size Categories | Category | Maximum Span on Each Axis | Intended Use | |---|---|---| | Small Prop | 2 meters | Tabletop objects and small decorations | | Furniture | 6 meters | Seating, tables and ordinary furnishings | | Landscape or Feature | 16 meters | Trees, pavilions, bridges and larger features | | Structure | 30 meters | Buildings and architectural assemblies | These are initial Gravity Realms product limits, calibrated for the scale of our reusable Sky Gardens collection. They are not competitor limits or a promise of a particular frame rate. The complete assembly counts, including hidden parts and animation travel. Choose the category that accurately describes the object. A category does not grant building permission or reserve space in a world. ## Detail and Performance Models may contain up to 50 parts, 60,000 measured triangles and 32 material combinations, 512 rendered meshes and 16 independently animated parts. Existing mesh safeguards also limit each generated mesh to 6,000 vertices and 12,000 triangles, and total generated-mesh JSON to 1,500,000 bytes. Textures may be up to 4,096 pixels per side with a combined estimated 64 MiB memory budget including mipmaps. Shared image references count once. Missing texture measurements require attention rather than being treated as zero. Shapes and reusable furniture contribute to the measured triangle total too. Aim for a strong silhouette, smooth visible curves, intentional proportions and consistent materials. Keep fine detail where players can see it. Reuse textures and materials; a tiny decorative part rarely needs its own large image. A higher polygon count does not automatically make a model look better. The reusable Sky Gardens bench, pavilion, cypress and bridge are scale references. They are not a maximum artistic standard. Geometry measurements do not replace performance testing with other objects and avatars present. Automatic distant-detail generation and automatic mesh simplification are not included in this release. ## Understand Your Report - Ready for Inventory means the supported measurements passed for that saved revision. It is not marketplace approval. - Needs Attention includes the measured value, the allowed limit and a suggested correction. No automatic correction overwrites your draft. - An unmeasured saved asset remains available in its original inventory. A new draft containing that asset cannot claim a passing measurement until its geometry is supported by the validator. - Rotation and animation can enlarge the occupied area. Rotating parts use a conservative swept bound so their entire motion stays within the limit. - Save changes before checking. If another tab changes the draft, reload and reconcile before adding it to inventory. ## Fix an Issue Without Losing Your Work For excessive size, reduce scale, bring separated parts closer, shorten animation travel, or select the appropriate category. For excessive detail, simplify the expensive parts and remove unnecessary geometry. For too many materials, reuse colors and textures. You can ask Nova to propose a correction, preview it and apply it only when satisfied. AI operations retain their displayed cost confirmation; automatic technical checks do not call an AI provider. Keep an editable original. Undo and saved model versions remain available. The system does not silently simplify your model or reset existing world placements. ## Inventory, Copies and Marketplace Review Inventory tracks owned copies. Placing an item uses an available copy; picking it up returns that same copy. Duplicating parts inside a private draft does not authorize duplicating a placed inventory unit. Repeating the same completed export does not issue another initial copy. New reproduction pricing is not introduced by this revision. Marketplace submission reviews source rights and quality separately from personal technical acceptance. A submission is not approval, and approval alone does not guarantee an active sale listing. Preserve your original source and licenses for all geometry, textures and references. Third-party purchased assets cannot be submitted as your original design through the ordinary creator flow. ## Delete an Unpublished Model In Inventory, select your unpublished model, open More Item Actions and choose Delete Model. Confirm Move to Trash. Pick up placed copies and put away held copies first. Your private Model Editor draft stays saved. Restore the same copies through Creator Workspace; restoration does not mint additional units. Models with sale or transfer history require their existing ownership workflow and cannot be deleted through this personal action. ## External Tools You may prepare original geometry in Blender or another authoring tool. This developer page does not accept arbitrary GLB uploads or executable scripts. External ingestion, unsupported saved-asset measurements and more advanced effects must follow a separately released supported route. Do not interpret a local file export as inventory compatibility. ## Start Here Create an attractive model, check it, and add it to your inventory when you are ready. Personal inventory uses automatic technical checks. Marketplace review is a separate action. ## From Idea to Your World 1. Open [Nova Model Editor](/nova/models/) and create a private draft. Build with shapes, reopen a supported saved model, or ask Nova for help. 2. Inspect the model from several angles. Choose its intended category in Inventory Readiness and check its dimensions, materials and animation. 3. Choose Check Model. The report identifies measured dimensions, triangle count, parts, material combinations and any issues to fix. 4. Choose Add to Inventory. The server checks the current saved version again. A failed check keeps your draft; it does not add an item or place anything in a world. 5. Open [My Inventory](/inventory/), enter a world where you have building permission, and use its inventory placement controls. Pick up the item to move that owned copy elsewhere. 6. To offer an eligible original design for sale, use the marketplace creator review workflow. Adding to inventory does not submit, approve or list it for sale. ## Size Categories | Category | Maximum Span on Each Axis | Intended Use | |---|---|---| | Small Prop | 2 meters | Tabletop objects and small decorations | | Furniture | 6 meters | Seating, tables and ordinary furnishings | | Landscape or Feature | 16 meters | Trees, pavilions, bridges and larger features | | Structure | 30 meters | Buildings and architectural assemblies | These are initial Gravity Realms product limits, calibrated for the scale of our reusable Sky Gardens collection. They are not competitor limits or a promise of a particular frame rate. The complete assembly counts, including hidden parts and animation travel. Choose the category that accurately describes the object. A category does not grant building permission or reserve space in a world. ## Detail and Performance Models may contain up to 50 parts, 60,000 measured triangles and 32 material combinations, 512 rendered meshes and 16 independently animated parts. Existing mesh safeguards also limit each generated mesh to 6,000 vertices and 12,000 triangles, and total generated-mesh JSON to 1,500,000 bytes. Textures may be up to 4,096 pixels per side with a combined estimated 64 MiB memory budget including mipmaps. Shared image references count once. Missing texture measurements require attention rather than being treated as zero. Shapes and reusable furniture contribute to the measured triangle total too. Aim for a strong silhouette, smooth visible curves, intentional proportions and consistent materials. Keep fine detail where players can see it. Reuse textures and materials; a tiny decorative part rarely needs its own large image. A higher polygon count does not automatically make a model look better. The reusable Sky Gardens bench, pavilion, cypress and bridge are scale references. They are not a maximum artistic standard. Geometry measurements do not replace performance testing with other objects and avatars present. Automatic distant-detail generation and automatic mesh simplification are not included in this release. ## Understand Your Report - Ready for Inventory means the supported measurements passed for that saved revision. It is not marketplace approval. - Needs Attention includes the measured value, the allowed limit and a suggested correction. No automatic correction overwrites your draft. - An unmeasured saved asset remains available in its original inventory. A new draft containing that asset cannot claim a passing measurement until its geometry is supported by the validator. - Rotation and animation can enlarge the occupied area. Rotating parts use a conservative swept bound so their entire motion stays within the limit. - Save changes before checking. If another tab changes the draft, reload and reconcile before adding it to inventory. ## Fix an Issue Without Losing Your Work For excessive size, reduce scale, bring separated parts closer, shorten animation travel, or select the appropriate category. For excessive detail, simplify the expensive parts and remove unnecessary geometry. For too many materials, reuse colors and textures. You can ask Nova to propose a correction, preview it and apply it only when satisfied. AI operations retain their displayed cost confirmation; automatic technical checks do not call an AI provider. Keep an editable original. Undo and saved model versions remain available. The system does not silently simplify your model or reset existing world placements. ## Inventory, Copies and Marketplace Review Inventory tracks owned copies. Placing an item uses an available copy; picking it up returns that same copy. Duplicating parts inside a private draft does not authorize duplicating a placed inventory unit. Repeating the same completed export does not issue another initial copy. New reproduction pricing is not introduced by this revision. Marketplace submission reviews source rights and quality separately from personal technical acceptance. A submission is not approval, and approval alone does not guarantee an active sale listing. Preserve your original source and licenses for all geometry, textures and references. Third-party purchased assets cannot be submitted as your original design through the ordinary creator flow. ## Delete an Unpublished Model In Inventory, select your unpublished model, open More Item Actions and choose Delete Model. Confirm Move to Trash. Pick up placed copies and put away held copies first. Your private Model Editor draft stays saved. Restore the same copies through Creator Workspace; restoration does not mint additional units. Models with sale or transfer history require their existing ownership workflow and cannot be deleted through this personal action. ## External Tools You may prepare original geometry in Blender or another authoring tool. This developer page does not accept arbitrary GLB uploads or executable scripts. External ingestion, unsupported saved-asset measurements and more advanced effects must follow a separately released supported route. Do not interpret a local file export as inventory compatibility. ## Items & Models Create an attractive model, check it, and add it to your inventory when you are ready. Personal inventory uses automatic technical checks. Marketplace review is a separate action. ## From Idea to Your World 1. Open [Nova Model Editor](/nova/models/) and create a private draft. Build with shapes, reopen a supported saved model, or ask Nova for help. 2. Inspect the model from several angles. Choose its intended category in Inventory Readiness and check its dimensions, materials and animation. 3. Choose Check Model. The report identifies measured dimensions, triangle count, parts, material combinations and any issues to fix. 4. Choose Add to Inventory. The server checks the current saved version again. A failed check keeps your draft; it does not add an item or place anything in a world. 5. Open [My Inventory](/inventory/), enter a world where you have building permission, and use its inventory placement controls. Pick up the item to move that owned copy elsewhere. 6. To offer an eligible original design for sale, use the marketplace creator review workflow. Adding to inventory does not submit, approve or list it for sale. ## Size Categories | Category | Maximum Span on Each Axis | Intended Use | |---|---|---| | Small Prop | 2 meters | Tabletop objects and small decorations | | Furniture | 6 meters | Seating, tables and ordinary furnishings | | Landscape or Feature | 16 meters | Trees, pavilions, bridges and larger features | | Structure | 30 meters | Buildings and architectural assemblies | These are initial Gravity Realms product limits, calibrated for the scale of our reusable Sky Gardens collection. They are not competitor limits or a promise of a particular frame rate. The complete assembly counts, including hidden parts and animation travel. Choose the category that accurately describes the object. A category does not grant building permission or reserve space in a world. ## Detail and Performance Models may contain up to 50 parts, 60,000 measured triangles and 32 material combinations, 512 rendered meshes and 16 independently animated parts. Existing mesh safeguards also limit each generated mesh to 6,000 vertices and 12,000 triangles, and total generated-mesh JSON to 1,500,000 bytes. Textures may be up to 4,096 pixels per side with a combined estimated 64 MiB memory budget including mipmaps. Shared image references count once. Missing texture measurements require attention rather than being treated as zero. Shapes and reusable furniture contribute to the measured triangle total too. Aim for a strong silhouette, smooth visible curves, intentional proportions and consistent materials. Keep fine detail where players can see it. Reuse textures and materials; a tiny decorative part rarely needs its own large image. A higher polygon count does not automatically make a model look better. The reusable Sky Gardens bench, pavilion, cypress and bridge are scale references. They are not a maximum artistic standard. Geometry measurements do not replace performance testing with other objects and avatars present. Automatic distant-detail generation and automatic mesh simplification are not included in this release. ## Understand Your Report - Ready for Inventory means the supported measurements passed for that saved revision. It is not marketplace approval. - Needs Attention includes the measured value, the allowed limit and a suggested correction. No automatic correction overwrites your draft. - An unmeasured saved asset remains available in its original inventory. A new draft containing that asset cannot claim a passing measurement until its geometry is supported by the validator. - Rotation and animation can enlarge the occupied area. Rotating parts use a conservative swept bound so their entire motion stays within the limit. - Save changes before checking. If another tab changes the draft, reload and reconcile before adding it to inventory. ## Fix an Issue Without Losing Your Work For excessive size, reduce scale, bring separated parts closer, shorten animation travel, or select the appropriate category. For excessive detail, simplify the expensive parts and remove unnecessary geometry. For too many materials, reuse colors and textures. You can ask Nova to propose a correction, preview it and apply it only when satisfied. AI operations retain their displayed cost confirmation; automatic technical checks do not call an AI provider. Keep an editable original. Undo and saved model versions remain available. The system does not silently simplify your model or reset existing world placements. ## Inventory, Copies and Marketplace Review Inventory tracks owned copies. Placing an item uses an available copy; picking it up returns that same copy. Duplicating parts inside a private draft does not authorize duplicating a placed inventory unit. Repeating the same completed export does not issue another initial copy. New reproduction pricing is not introduced by this revision. Marketplace submission reviews source rights and quality separately from personal technical acceptance. A submission is not approval, and approval alone does not guarantee an active sale listing. Preserve your original source and licenses for all geometry, textures and references. Third-party purchased assets cannot be submitted as your original design through the ordinary creator flow. ## Delete an Unpublished Model In Inventory, select your unpublished model, open More Item Actions and choose Delete Model. Confirm Move to Trash. Pick up placed copies and put away held copies first. Your private Model Editor draft stays saved. Restore the same copies through Creator Workspace; restoration does not mint additional units. Models with sale or transfer history require their existing ownership workflow and cannot be deleted through this personal action. ## External Tools You may prepare original geometry in Blender or another authoring tool. This developer page does not accept arbitrary GLB uploads or executable scripts. External ingestion, unsupported saved-asset measurements and more advanced effects must follow a separately released supported route. Do not interpret a local file export as inventory compatibility. ## Clothing & Accessories Preparation guide โ€” the versioned creator kit is not released. Existing Character Customizer male and female wardrobe assets do not establish compatibility for arbitrary uploaded clothing. OnLive heads use a different pipeline. ## Wearables ### Reference And Scale Use an authorized, versioned creator kit that identifies body revision, reference pose, skeleton hierarchy and bind matrices. The runtime applies a one-third display scale to native models; do not bake that browser scale into clothing. The proposed export contract uses meters and Y up. Verify forward direction and transforms against the kit's known-good sample rather than guessing an exporter setting. The reference kit is not yet approved for distribution. Do not bundle the purchased body mesh or other vendor source assets into submissions or public downloads without the necessary permission. ### Model And Fit Model around the reference pose. Inspect shoulders, underarms, hips, knees and cuffs. Create and test a separate fit for each advertised body. Transfer skin weights from a permitted reference and adjust deformation manually. Preserve bone names, hierarchy and bind pose. Proposed initial limit: four normalized influences per vertex. Do not rename the skeleton or include root motion, scripts or unapproved extra bones. ### Slots And Layering Current runtime slot mappings: | Player Category | Runtime Slot | |---|---| | Tops, Jackets, Dresses | jacket | | Bottoms | pants | | Footwear | shoes | | Eyewear | glasses | | Watches | bracelet | | Hair | hairStyle | | Facial Hair | facialHair | A dress or multi-slot item must identify covered slots. Multi-slot hiding must be implemented and validated before publishing such a product; it must not be assumed from a category name. Existing clothing aliases are not additional products. ### Clipping And Footwear Provide an appropriate body mask where clothing hides skin. The kit must specify mask channel, UV convention and naming. Test with other permitted layers. Neck shrink, hair compression and footwear offsets require a versioned importer contract; creators must not guess their units. Footwear metadata describes sole height and any supported foot/toe adjustment. It must never change camera settings or world spawn coordinates. Test walking, stairs, sitting and landing. The shared avatar grounding system remains authoritative. ### Export Workflow 1. Work from the pinned reference pose and body revision. 2. Model, UV and skin the creator-owned garment. 3. Check deformation in the required pose set. 4. Export one GLB per body fit, local textures and a manifest. 5. Remove unused meshes, cameras, lights, scripts and external references. 6. Reopen the exported file and inspect it independently. The public validator and creator browser preview are not released. 7. Keep the package and rights declaration ready; submit only after a supported submission route opens. The proposed review process separates upload from publication. No public upload or conversion service is available yet. ## Emotions ## Build And Test The Three Pilot Emotions The marketplace is CLOSED. Public purchases and submissions are disabled. Platform Admin can use the private pilot at `/marketplace/#emotions`. These three presets are implemented for the Character Customizer male and female Gravity avatars. They combine facial expressions with head and upper-arm gestures. They do not move the feet or avatar position. OnLive heads and retired generated bodies are outside this preset version. ### 1. Choose The Facial Controls Start with a neutral face. Use the exported, named facial controls below; values are normalized strengths from 0 to 1. Do not rename bones, change the skeleton, or include executable scripts. Each left/right control is separate. The pilot uses actual exported control poses, not an image pasted over the face. Warm Smile: mouthSmileLeft 1.0, mouthSmileRight 1.0, cheekSquintLeft 0.65, cheekSquintRight 0.65, eyeSquintLeft 0.30, eyeSquintRight 0.30, jawOpen 0.20. The avatar gives a visible greeting nod. Really?: browOuterUpLeft 1.0, browDownRight 0.50, eyeSquintRight 0.60, mouthSmileRight 0.70, mouthPressLeft 0.55, jawOpen 0.08. The avatar tilts and turns its head with a one-sided arm gesture. Delighted: mouthSmileLeft 1.0, mouthSmileRight 1.0, cheekSquintLeft 0.70, cheekSquintRight 0.70, eyeWideLeft 0.35, eyeWideRight 0.35, browOuterUpLeft 0.65, browOuterUpRight 0.65, jawOpen 0.55. The avatar animates its head and both arms in a joyful reaction. ### 2. Build The Preset Data Every emotion must have an assigned `emoji`: one Unicode emoji that represents the emotion, plus a readable name. The same emoji is shown in Avatar Editor, marketplace previews, and the in-world emotions bar. A preset without an emoji cannot be registered. Examples: Warm Smile ๐Ÿ˜Š, Really? ๐Ÿคจ, Delighted ๐Ÿ˜„. Emoji assignment is part of creating the preset; players only choose which emotions appear on their bar. Use this as an authoring example. Public file ingestion is not enabled; this JSON is an example of the values reviewed into the pilot registry, not a currently accepted upload format. ```json { "id": "warm-smile", "name": "Warm Smile", "emoji": "๐Ÿ˜Š", "weights": { "mouthSmileLeft": 1.0, "mouthSmileRight": 1.0, "cheekSquintLeft": 0.65, "cheekSquintRight": 0.65, "eyeSquintLeft": 0.30, "eyeSquintRight": 0.30, "jawOpen": 0.20 } } ``` ### 3. Blend In, Hold, Return To Neutral The pilot shares the established five-second expression envelope: a smooth 0.35-second introduction, full strength until two seconds, then a smooth three-second release. The player can replay the expression. No camera, collision, avatar position, or locomotion values belong in an emotion preset. The three built-in pilot gestures use reviewed runtime head/arm animation; uploaded creator gesture data is not accepted. Speech continues through its independent mouth/viseme layer. Reduced Motion follows the existing avatar preference and suppresses animated expression strength. ### 4. Preview Both Supported Bodies In the private marketplace, choose Male Avatar, then Preview On Avatar. Inspect the front-facing actual face. Repeat with Female Avatar. Check asymmetry is intentional, lips do not invert, eyelids remain reasonable, and the expression returns to neutral. Test speech in-world as well; a static render cannot prove speech blending. A public creator preview and downloadable reference kit remain planned. ### 5. Add The Preset To The Emotions Bar Choose Add To Emotions Bar. The server saves the approved preset ID to the signed-in pilot account, with up to three distinct selections. Return to the world: focusing that window reloads the selection. The named custom buttons appear beside the existing emotions. Choose a supported Gravity avatar, then click a custom emotion. Other browser participants receive only its approved ID, never arbitrary facial data or scripts. Choose Remove From Bar to hide a preset. Reload the marketplace to confirm persistence. The three free pilot examples remain available to add again. This is a test collection; it does not create a paid entitlement or subtract Gravity Coins. The eventual purchase process will create ownership before equipping and will preserve ownership after unequipping. ### 6. Review Before A Public Creator Release Record body compatibility, exact preset version, facial values, timing, frontal screenshots, reduced-motion behavior, speech results, and return-to-neutral results. Public creator uploads, rights review, moderation, paid entitlements, and wallet checkout must be implemented before opening sales. Clothing specifications elsewhere in this guide remain draft until their own sample export tests and reference-kit release are complete. Pilot implementation reference โ€ข September 23, 2026 This guide describes the proposed creator program. Submissions, purchases and reference-kit downloads are not enabled. Proposed limits must pass a sample garment and device benchmark before becoming the published contract. ## Emotion Presets ### Create And Preview Start with a neutral supported body. Adjust the approved facial controls for smile, brows, eyelids, cheeks and mouth. The allowlist must come from the actual exported male/female control maps. Do not expose arbitrary bones or assume every vendor control has been integrated. Save a name, compatible rig revision, control values and playback envelope. Proposed limits: control weights from 0 to 1, attack/release from 0.1 to 2 seconds, and hold from 0.5 to 8 seconds. These are proposed validator rules, not existing production behavior. An illustrative manifest: ```json { "schemaVersion": 1, "kind": "emotion", "title": "Warm Smile", "rigVersion": "gravity-cc-v1-proposed", "supportedBodies": ["character-customizer-male", "character-customizer-female"], "controls": {"mouthSmileLeft": 0.45, "mouthSmileRight": 0.45}, "envelope": {"attackSeconds": 0.25, "holdSeconds": 2, "releaseSeconds": 0.4} } ``` The kit must validate exact control spelling and availability before accepting this format. This example does not create a working production preset. ### Playback Rules Blend with blinking and speech rather than replacing lip-sync. Return to neutral after playback. Respect Reduced Motion and repeated activation. Facial presets cannot alter eye height, collision, body proportions, camera behavior or account privileges. Full-body gestures require a separate animation review. Test neutral โ†’ preset โ†’ neutral, repeated clicks, switching presets, speaking, blinking, avatar changes and reconnect. Verify both advertised bodies and remote-player playback. ### My Emotions And The Bar Purchases belong to the account. Compatible avatar changes do not require another purchase. A new emotion can fill an empty custom slot; if full, the player chooses a custom slot to replace. Default emotions and Neutral stay available. Unequipping retains ownership. An incompatible avatar shows an explanation and preserves the purchased entitlement. Recommended layout: retain the six existing default actions; add a manageable custom section with overflow. Slot counts and mobile layout are product choices to validate in the prototype. ## Avatar Movement Movement gives an avatar personality, but a custom animation must cooperate with navigation, speaking, existing poses and other players. ## Current support The viewer has built-in locomotion and actions. The private emotion pilot includes authored head and upper-arm gestures; it does not move the feet or avatar position. Arbitrary full-body clips, dances and custom movement uploads are not available. No downloadable animation rig or public retargeting contract is released. ## Prepare an animation study 1. Use a rig you are licensed to author with. Do not copy or redistribute the site's purchased source body. 2. Keep a neutral reference pose and record the rig revision, frame rate, duration and intended loop behavior. 3. Start and finish a one-shot action in a compatible pose. For loops, inspect the last-to-first-frame transition. 4. Keep the character in place for an in-place motion study. Record any intended root motion separately; do not assume the runtime will accept it. 5. Check foot contact, joint limits, hand intersections and deformation with fitted clothing. 6. Keep only required animation channels in an export copy. Retain the original editable action separately. ## Integration requirements - Preserve avatar navigation and collision ownership. A clip must not teleport the player or change movement permissions. - Do not bake camera movement, body scale changes or a new eye height into an animation. - Define how the action starts, blends, cancels and returns to idle. Test repeated triggers and interruptions. - Allow speech and facial expressions to work without destructive overrides. - Respect Reduced Motion and provide a restrained alternative for large gestures. - Verify behavior for remote participants, reconnects and avatar changes before claiming compatibility. ## Test matrix Test idle โ†’ action โ†’ idle; walk/run โ†’ action; interruption by another action; switching avatar; reconnect; clothing combinations; mobile and lower-end playback; and Reduced Motion. Record expected versus observed results, not just a promotional video. ## Export status Keep your native animation source and a preview video for now. Clip format, exact skeleton, naming rules, retargeting, root-motion policy and duration/keyframe limits require a published versioned kit. This guide does not provide a working import API or promise that a generic FBX/glTF clip will load. ## Materials & Performance ## Personal Models Nova Model Editor supports private drafts and automatic inventory readiness checks. Read [Model Standards & Inventory](/developers/guides/model-standards/) for current size limits, feedback and the creation-to-placement workflow. Personal inventory is separate from marketplace review. ## Materials And Performance Use glTF metallic-roughness PBR. Base color and emissive use sRGB; normal, roughness, metalness and occlusion use linear data. Prefer opaque materials. Use alpha clipping only where needed, such as hair or genuine cutouts. Do not include custom shaders or external texture URLs. Proposed launch targets, pending device profiling: | Asset | Proposed Budget | |---|---| | Garment | 20,000 triangles; 2 materials | | Small Accessory | 5,000 triangles | | Hair | 25,000 triangles; alpha-overdraw review | | Texture | 2048-pixel maximum edge | | Garment Package | 15 MB compressed target | Measure the combined outfit, not just individual pieces. Final outfit limits and LOD thresholds remain a launch prerequisite. Lower-detail meshes must preserve fit and silhouette. Finishes are named material/color variants of one product. Include tint channels, texture assignments and preview images. The listing states whether every finish is included. Do not silently charge again for a color variation. Current assets already have finish mappings. Generate stored image thumbnails during review. Public marketplace browsing must not load a 3D model per card. The private catalog uses prepared image previews. Public browsing should use stored thumbnails rather than loading a model for every card. Load a model only for deliberate try-on or detail preview. ## Export troubleshooting | Symptom | Check first | |---|---| | Missing texture | Reopen the export with no access to your source folders; check embedding and local image references | | Unexpected shine | Inspect roughness, metallic values and their texture color-space settings | | Dark or inside-out surfaces | Inspect face normals, negative transforms and whether the material is intentionally double-sided | | Flickering surfaces | Remove overlapping coplanar faces rather than hiding the issue with transparency | | Expensive hair or cutouts | Check transparent overdraw, overlapping layers and the combined outfit | ## Format references The [Khronos glTF 2.0 specification](https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html) defines the interchange format. A format-valid file is not automatically a Gravity Realms-compatible asset; platform-specific rig, permission and review requirements still apply. ## Package & Version Preparation guidance โ€” the schema and validator below are proposed, not a live submission API. ## Package And Version Your Work Wearable manifest fields: schemaVersion, title, kind, slot, bodyFits, rigVersion, files, finishes, coveredSlots, rightsDeclaration and screenshots. Creator identity is assigned by the authenticated server. Each body fit links a GLB and any permitted masks/offsets. Server-calculated hashes bind the review to exact files. Proposed upload bounds: 50 MB compressed, 150 MB expanded, bounded file count and compression ratio. Reject path traversal, symlinks, nested archives, executable files and remote resources. Scan and parse in isolated workers with memory/time limits and no outbound network. Never replace a published file in place. New revisions return to review. Retain prior files and entitlement references. Delisting stops new sales without deleting receipts. Compatibility quarantine, ownership revocation and refunds are separate explicit operations. ## Suggested working folder This is a local organization example, not an upload schema. Keep licensed third-party source out of any distributable package. ```text my-original-item-v001/ README.txt source/ my-original-item.blend exports/ item-test.glb textures/ base-color.png normal.png previews/ front.png side.png review/ rights.txt test-results.txt ``` ## What to put in the README - Your asset title, version and a short description of its intended use. - Authoring application and version; export settings and export date. - Measured dimensions, pivot, triangle/material counts and texture dimensions. - For wearables: each tested body, rig revision, slot and layer combination. - For emotions or animation: named controls, timing, compatibility and cancellation behavior. - Known limitations and reproduction steps for any unresolved issue. Do not claim a kit revision that has not been published or tested. Record unknown compatibility as unknown. ## Validation Checklist Create an attractive model, check it, and add it to your inventory when you are ready. Personal inventory uses automatic technical checks. Marketplace review is a separate action. ## From Idea to Your World 1. Open [Nova Model Editor](/nova/models/) and create a private draft. Build with shapes, reopen a supported saved model, or ask Nova for help. 2. Inspect the model from several angles. Choose its intended category in Inventory Readiness and check its dimensions, materials and animation. 3. Choose Check Model. The report identifies measured dimensions, triangle count, parts, material combinations and any issues to fix. 4. Choose Add to Inventory. The server checks the current saved version again. A failed check keeps your draft; it does not add an item or place anything in a world. 5. Open [My Inventory](/inventory/), enter a world where you have building permission, and use its inventory placement controls. Pick up the item to move that owned copy elsewhere. 6. To offer an eligible original design for sale, use the marketplace creator review workflow. Adding to inventory does not submit, approve or list it for sale. ## Size Categories | Category | Maximum Span on Each Axis | Intended Use | |---|---|---| | Small Prop | 2 meters | Tabletop objects and small decorations | | Furniture | 6 meters | Seating, tables and ordinary furnishings | | Landscape or Feature | 16 meters | Trees, pavilions, bridges and larger features | | Structure | 30 meters | Buildings and architectural assemblies | These are initial Gravity Realms product limits, calibrated for the scale of our reusable Sky Gardens collection. They are not competitor limits or a promise of a particular frame rate. The complete assembly counts, including hidden parts and animation travel. Choose the category that accurately describes the object. A category does not grant building permission or reserve space in a world. ## Detail and Performance Models may contain up to 50 parts, 60,000 measured triangles and 32 material combinations, 512 rendered meshes and 16 independently animated parts. Existing mesh safeguards also limit each generated mesh to 6,000 vertices and 12,000 triangles, and total generated-mesh JSON to 1,500,000 bytes. Textures may be up to 4,096 pixels per side with a combined estimated 64 MiB memory budget including mipmaps. Shared image references count once. Missing texture measurements require attention rather than being treated as zero. Shapes and reusable furniture contribute to the measured triangle total too. Aim for a strong silhouette, smooth visible curves, intentional proportions and consistent materials. Keep fine detail where players can see it. Reuse textures and materials; a tiny decorative part rarely needs its own large image. A higher polygon count does not automatically make a model look better. The reusable Sky Gardens bench, pavilion, cypress and bridge are scale references. They are not a maximum artistic standard. Geometry measurements do not replace performance testing with other objects and avatars present. Automatic distant-detail generation and automatic mesh simplification are not included in this release. ## Understand Your Report - Ready for Inventory means the supported measurements passed for that saved revision. It is not marketplace approval. - Needs Attention includes the measured value, the allowed limit and a suggested correction. No automatic correction overwrites your draft. - An unmeasured saved asset remains available in its original inventory. A new draft containing that asset cannot claim a passing measurement until its geometry is supported by the validator. - Rotation and animation can enlarge the occupied area. Rotating parts use a conservative swept bound so their entire motion stays within the limit. - Save changes before checking. If another tab changes the draft, reload and reconcile before adding it to inventory. ## Fix an Issue Without Losing Your Work For excessive size, reduce scale, bring separated parts closer, shorten animation travel, or select the appropriate category. For excessive detail, simplify the expensive parts and remove unnecessary geometry. For too many materials, reuse colors and textures. You can ask Nova to propose a correction, preview it and apply it only when satisfied. AI operations retain their displayed cost confirmation; automatic technical checks do not call an AI provider. Keep an editable original. Undo and saved model versions remain available. The system does not silently simplify your model or reset existing world placements. ## Inventory, Copies and Marketplace Review Inventory tracks owned copies. Placing an item uses an available copy; picking it up returns that same copy. Duplicating parts inside a private draft does not authorize duplicating a placed inventory unit. Repeating the same completed export does not issue another initial copy. New reproduction pricing is not introduced by this revision. Marketplace submission reviews source rights and quality separately from personal technical acceptance. A submission is not approval, and approval alone does not guarantee an active sale listing. Preserve your original source and licenses for all geometry, textures and references. Third-party purchased assets cannot be submitted as your original design through the ordinary creator flow. ## Delete an Unpublished Model In Inventory, select your unpublished model, open More Item Actions and choose Delete Model. Confirm Move to Trash. Pick up placed copies and put away held copies first. Your private Model Editor draft stays saved. Restore the same copies through Creator Workspace; restoration does not mint additional units. Models with sale or transfer history require their existing ownership workflow and cannot be deleted through this personal action. ## External Tools You may prepare original geometry in Blender or another authoring tool. This developer page does not accept arbitrary GLB uploads or executable scripts. External ingestion, unsupported saved-asset measurements and more advanced effects must follow a separately released supported route. Do not interpret a local file export as inventory compatibility. ## A repeatable local check 1. Make a clean export and reopen it in a separate scene. 2. Compare it against your reference images. Inspect every side, not just the thumbnail angle. 3. Check the documented dimensions and pivot; inspect UV seams, normals and material assignments. 4. For a wearable, test neutral, walk, run, sit and wave plus each advertised layer combination. 5. For an emotion, test return to neutral, rapid repeated activation, speech and Reduced Motion. 6. Record the exact source/export revision, environment, result and screenshots. Retest after a change that affects that result. ## Test report example ```text Asset: My original jacket Revision: 001 Body / rig: Not yet verified against a released creator kit Export: jacket-test.glb Check: Shoulder deformation during wave Expected: No exposed gaps or self-intersection Observed: Small cuff intersection at full bend Result: Needs adjustment; not ready to claim compatibility ``` A clean local check is preparation, not public certification. Keep unfinished compatibility claims visible. ## Rights & Sources ## Rights And Sources Before launch, review the exact purchased license for monetized wardrobe use, user-generated-content applications and distribution of a creator kit. Package ownership alone does not establish all those permissions. Record any required provider permission; do not distribute purchased source models as a public kit while that remains unresolved. Official references: [Character Customizer documentation](https://gist.github.com/jordbugg/cdc93719a4e57f4ec86d5230dc367054) and [Unity Asset Store Terms and EULA](https://unity.com/legal/as-terms). The latter contains relevant restrictions in its license grant and limitations. This draft is an implementation prerequisite list, not a legal conclusion. Runtime evidence: core/character_wardrobe_data.py, core/character_outfits.py, gravity/web/character-wardrobe.js, gravity/web/character-body.js and viewer/js/gravity-avatar.js. Catalog inventory: 77 body-specific items, including 47 apparel/accessory entries and 30 hair/facial-hair entries. This prototype contains no newly purchased Modern Clothes Pack assets. ## Submission Status ## Current Model Workflow Private creation, editing, inventory readiness, explicit inventory addition and manual placement are supported through [Nova Model Editor](/nova/models/). Read [Model Standards & Inventory](/developers/guides/model-standards/) for limits and corrections. ## Separate Marketplace Review Eligible original designs can request source-rights and quality review through [Creator Workspace](/inventory/#creator). Submission does not approve a design or activate a sale listing. Personal inventory does not require this review. No new submission or reproduction fee is introduced by the model-standards revision. ## External Asset Preparation Arbitrary external model uploads, the downloadable creator reference kit and general custom clothing or animation ingestion are not provided by this revision. Their guides remain preparation material. Existing reviewed assets do not imply support for arbitrary files.