Early Access

Platform Guides

Guides for using Mash assets across platforms and game engines

Roblox

  1. Import the 3D Model
    • Within the Toolbar UI, select Import 3D…
    • Select your downloaded Mash GLB asset
    • Leave all import settings at their default values, unless specific adjustments are required for scaling or materials.
  2. Locate the Imported Model
    • After import, open the Explorer panel (View > Explorer if not visible).
    • Expand the Workspace node to locate the newly imported model (it is typically named "AuxScene" by default).
  3. Test the Model in Play Mode
    • Click Play (the ► icon at the top of the interface) to enter Play mode.
    • Confirm that the object spawns correctly and behaves as expected within the scene.

Unity

  1. Import Object Asset
    • Right-click Assets → Import New Asset…
    • Select your downloaded Mash GLB asset
  2. Place the Object in the Scene
    • Drag the imported object from the Project panel into the Scene or Hierarchy.
    • Position, rotate, and scale it appropriately within your environment.
  3. Test Your Setup
    • Press the Play button to enter Play Mode.
    • Verify that your imported objects function correctly as expected within the scene.

Unreal Engine 5

  1. From the main toolbar, go to: File → Import Into Level
  2. Select your downloaded Mash GLB asset
  3. Choose an appropriate save location (e.g., Content > Developers > YourName > Objects)
  4. Click Import to add the asset to your project
  5. Open the Content Drawer and locate the imported object
  6. Drag and drop the object directly into the Viewport or World Outliner
  7. Confirm that materials, collisions, and animations behave as expected

Blender

  1. Import the File
    • Go to the top menu: File → Import → glTF 2.0 (.glb/.gltf)
    • Select your downloaded Mash GLB asset and click Import
  2. Confirm Import
    • Once loaded, the model will appear in the Viewport
    • Use Middle Mouse Button to orbit, Shift + Middle Mouse to pan, and Scroll to zoom
  3. Adjust Scale and Orientation
    • If the model appears too small or large, select it and press N → Item Tab to view transform values
    • Use S to scale and R to rotate if necessary
    • Apply all transforms: Ctrl + A → Apply → All Transforms
  4. Set the Ground Origin
    • To ensure proper positioning:
      • Select the model
      • Go to Object → Set Origin → Origin to Geometry
      • Move it so it sits on the ground plane (Z = 0)
  5. Open the Shading Workspace
    • At the top of Blender, select the Shading tab
    • This opens the Shader Editor and Viewport side by side
  6. Check Imported Materials
    • If your GLB includes materials, they'll appear in the Shader Editor
    • If blank, you can create a new material:
      • Select the model → click New under the Material Properties panel
  7. Load Textures
    • In the Shader Editor, use the Image Texture node: Add → Texture → Image Texture
    • Open your texture (e.g., my_model_d.png)
    • Connect the Color output to the Base Color input of the Principled BSDF shader
    • Repeat for Normal, Roughness, or Emission maps as available
  8. Enable Texture Preview
    • In the Viewport, change the shading mode to Material Preview (Z → 3) to confirm textures are displayed correctly

Lighting and Scene Setup

  1. Add Lighting
    • Go to Add → Light → Sun or Area Light
    • Adjust Intensity and Angle in the Light Properties tab for better visibility
  2. Add Environment Lighting
    • Go to the World Properties tab
    • Under Surface → Color, click the yellow dot and select Environment Texture
    • Load an HDRI file (e.g., from polyhaven.com) for realistic lighting
  3. Adjust Camera
    • Press Shift + A → Camera to add one if needed
    • Press 0 (Numpad) to switch to camera view
    • Move or rotate to frame your model

Exporting (Optional)

  1. Export to Other Engines
    • Once adjusted, export for use in another platform:
      • Unity / Unreal: Export as FBX
      • Three.js / Web: Export as glTF (.glb)
    • Menu path: File → Export → (Choose desired format)
  2. Apply All Transforms Before Export
    • Ctrl + A → Apply → All Transforms
    • Ensures scale and rotation match the destination engine

Verification and Rendering

  1. Quick Render Preview
    • Switch to the Render Properties tab
    • Set Render Engine to Cycles or Eevee
    • Press F12 to render a preview
  2. Save the Project
    • File → Save As to store your .blend project file

Additional Notes

  • Performance Tip: For complex models, enable Simplify in Render Settings to reduce viewport lag
  • Normals: If surfaces appear dark or inverted, recalculate normals using: Edit Mode → A → Alt + N → Recalculate Outside
  • Transparency: In Eevee, enable transparency under Material Settings → Blend Mode → Alpha Blend
  • Unit Setup: To maintain consistency with game engines, set: Scene Properties → Units → Metric, Scale = 1.0

Garry's Mod

You'll need to use Blender, VTFEdit, and Crowbar to prepare, texture, and compile your model into the .mdl format recognized by the Source engine.

Tool Installation
  1. Blender – 3D modeling and export preparation
  2. Blender Source Tools – enables SMD/DMX export
  3. VTFEdit – converts PNG/TGA images to VTF texture files
  4. Crowbar – compiles .qc scripts into .mdl models for Source

Import and Prepare the Model

  1. Import the GLB File
    • In Blender:
      1. Navigate to: File → Import → glTF 2.0 (.glb)
      2. Select your exported GLB model
      3. Delete any imported lights and cameras
  2. Fix Scale and Orientation
    • Select your model and scale it by 39.37 to convert meters → Source inches
      • (The Source Engine uses imperial units)
    • Apply transformations: Ctrl + A → Apply → Rotation & Scale
    • Ensure:
      • Z-axis is up
      • The model origin (pivot) is positioned at ground level
  3. Clean Geometry
    • Triangulate the mesh (via Modifier or Export option)
    • Enable Auto Smooth to ensure proper shading and vertex normals

Material and Texture Setup

  1. Name Materials
    • Rename each material in Blender with simple, clear names (e.g., Body, Hair)
    • These names will define your .vmt filenames later
  2. Export Textures
    • In the Shader Editor or Image Editor, export relevant texture maps:
      • Base Color / Diffusemy_model_d.png
      • Normal Mapmy_model_n.png (optional)
      • Alpha / Emissive → as needed

Export and Convert Assets

  1. Export the Model
    • In Blender: File → Export → Source Engine (.SMD / .DMX)
    • Save as: my_model.smd
  2. Convert Textures to VTF
    • Open VTFEdit and import each .png or .tga file:
      • Opaque Textures: DXT1 compression
      • Alpha / Normal Maps: DXT5 compression
        • (Check "Normal Map" for normal textures)
    • Save textures to:
    materials/myaddon/my_model/my_model_d.vtf
    materials/myaddon/my_model/my_model_n.vtf (optional)
  3. Create VMT Files
    • In the same folder, create .vmt material scripts matching your material names
    • Example: materials/myaddon/my_model/Body.vmt
    "VertexLitGeneric"
    {
      "$basetexture" "myaddon/my_model/my_model_d"
      // "$bumpmap" "myaddon/my_model/my_model_n" // Optional normal map
      "$phong" "1"
      "$phongexponent" "15"
      "$phongboost" "1"
    }
    • Adjust for transparency if needed:
      • Cutout:
    "$alphatest" "1"
    "$nocull" "1" // Double-sided
    • Translucent:
    "$translucent" "1"

Compile the Model

  1. Create a QC File
    • Define how the model is compiled
    • Save as: models/myaddon/my_model/my_model.qc
    $modelname "myaddon/my_model/my_model.mdl"
    $cdmaterials "myaddon/my_model/"
    $body "studio" "my_model.smd"
    $staticprop
    $surfaceprop "default"
    • (For physics props: remove $staticprop and add a $collisionmodel block with a low-poly SMD)
  2. Compile with Crowbar
    1. Open CrowbarCompile tab
    2. Select my_model.qc
    3. Click Compile
      • Output files:
        • .mdl
        • .vvd
        • .vtx
        • .phy (if physics enabled)

Add to Garry's Mod

  1. Create Addon Folder Structure
    garrysmod/garrysmod/addons/MyAddon/
    ├─ materials/myaddon/my_model/   ← .vmt and .vtf files
    └─ models/myaddon/my_model/      ← .mdl, .vtx, .vvd, (.phy)
  2. Test in Garry's Mod
    1. Launch Garry's Mod
    2. Open Spawn MenuBrowseModels
    3. Navigate to: models/myaddon/my_model/my_model.mdl
    4. Spawn the model and verify textures, lighting, and scaling

Tips & Troubleshooting

  • Normals flipped? Recalculate normals in Blender: Alt + N → Recalculate Outside
  • Invisible model? Check material paths in the .qc and .vmt files for typos
  • Too small/large? Verify the 39.37 scale factor was applied before export
  • Black textures? Ensure your .vmt references correct .vtf filenames and paths
Platform Guides