Step-by-Step Guides

Learn how to use Rawteous Impostors with practical, hands-on tutorials. From basic setup to advanced optimization techniques.

Rawteous

Getting Started

New to Rawteous? Follow this tutorial to create your first impostor in minutes.

Step 1: Install Rawteous

Import the Rawteous Impostors package into your Unity project using ONE of these methods:

Method 1: Unity Asset Store (Recommended)

  1. Open Unity Package Manager (Window → Package Manager)
  2. Click the dropdown at the top and select "My Assets"
  3. Find "Rawteous Impostors" in your purchased assets
  4. Click "Download" (if not already downloaded)
  5. Click "Import" to add it to your project
💡 Asset Store Users: Unity will automatically import Rawteous into your project. Updates will be available through the Package Manager when new versions are released.

Method 2: Manual Package Import (Direct Purchase/Custom Build)

  1. Open Unity Package Manager (Window → Package Manager)
  2. Click the "+" button and select "Add package from disk"
  3. Navigate to the Rawteous Impostors package folder
  4. Select the package.json file
  5. Unity will import the package
💡 Tip: After installation, look for the Rawteous menu under Tools → Rawteous and the Scene View overlay toolbar to confirm successful installation.
⚠️ Don't See the Overlay? If the RawteousImpostors toolbar doesn't appear in your Scene View:
  1. Click the three-dot menu (⋮) in the top-right corner of the Scene View
  2. Select Overlay Menu
  3. Ensure "Enable Overlays" is checked
  4. Expand the Custom section
  5. Check the "RawteousImpostors" checkbox
The overlay toolbar will now appear in your Scene View with the Create, Regenerate All, Delete All, and Debug buttons.

Step 2: Select a 3D Object

Select any GameObject in your scene that you want to convert to an impostor. This can be:

  • A character model
  • A prop or decoration
  • A building or structure
  • Any 3D object with a mesh renderer
💡 Tip: Objects with complex geometry benefit most from impostors. The system captures multiple angles automatically for realistic billboards.

Step 3: Add the Rawteous Component

With your GameObject selected, add the impostor component using ONE of these methods:

Method 1: Unity Menu Bar

  1. Go to Tools → Rawteous → Create Impostor

Method 2: Scene View Overlay (Recommended)

  1. Look at the top-right of the Scene view for the RawteousImpostors overlay toolbar
  2. Click the box icon (Create Impostor) button
💡 Tip: The Scene View overlay provides quick access to the MOST USED tools (Create, Regenerate All, Delete All, Debug). For advanced features like Leadership, Queue Status, and Clean Library, use Tools → Rawteous menu.

The Rawteous Impostors component will appear in the Inspector with default settings.

Step 4: Understanding the Inspector

The Rawteous Inspector is organized into collapsible sections. Here are the KEY sections:

📸 IMPOSTOR Settings (Main Controls)

  • Capture Distribution: Grid (captures in a grid pattern) - keep default for now
  • Azimuth: 8 (horizontal angles around the object - slider shows 2 to 8+)
  • Elevation: 3 (vertical angles - slider shows 1 to 3+)
  • Hemisphere Only: Checked (captures only top half - good for most objects)

⚙️ QUALITY Section

  • Texture Resolution: 256 or 512 (slider shows power-of-2 values: 64, 128, 256, 512, 1024)
  • Super-Sample: 2x (renders at higher res then downscales for better quality)
  • Filter: 1 (Lanczos - best quality downscaling filter)

📷 CAPTURE Section

  • Capture Padding: 0.25 (adds padding around captured object)
💡 Recommended Starter Settings:
Azimuth: 8
Elevation: 3
Texture Resolution: 256-512
Hemisphere Only: Checked
These work well for most objects. Adjust based on your needs.

Step 5: Generate Your Impostor

Click the "Regenerate" button in the Inspector. Rawteous will:

  1. Capture the object from multiple angles
  2. Create impostor texture atlases
  3. Generate an optimized billboard mesh
  4. Set up the billboard to face the camera automatically
💡 Tip: The first generation may take a few seconds. Progress is shown in the Inspector and Queue window.

Step 6: Test Your Impostor

Enter Play mode and move your camera around the object. You should see:

  • The impostor automatically switching between captured angles
  • Smooth transitions as you rotate around the object
  • Significantly better performance compared to the original mesh
💡 Tip: Use the Scene View gizmos to visualize impostor bounds and camera positions. Toggle them in the Debug popup (framer icon in Scene View overlay).

Batch Operations

Converting multiple objects to impostors at once for efficient workflows.

Adding Components to Multiple Objects

To add the Rawteous component to multiple objects:

  1. Select multiple GameObjects in the Hierarchy (hold Ctrl/Cmd to multi-select)
  2. Go to Tools → Rawteous → Create Impostor (OR use the overlay Create button)
  3. The component will be added to ALL selected objects with valid meshes
⚠️ Note: Objects without mesh renderers or that already have the component will be skipped automatically.

Regenerating All Impostors (Capture All)

To regenerate ALL impostors in the scene at once:

Method 1: Scene View Overlay (Recommended)

  1. Look at the RawteousImpostors overlay toolbar in the Scene view
  2. Click the clapperboard icon (Regenerate All) button
  3. All impostors will be queued and processed sequentially
💡 Tip: The Regenerate All button processes ALL Rawteous components in the scene, not just selected objects. This is perfect for batch updating after changing global settings.

Watch the Queue Window to monitor batch progress. The window shows:

  • Current impostor being processed
  • Remaining items in queue
  • Progress per impostor (captures and texture maps)
  • Option to cancel batch operation

Leadership System (Advanced Batch)

For large scenes with many similar objects, use the Leadership system to share settings. There are MULTIPLE ways to set up leadership:

Method 1: Drag-and-Drop (Easiest)

  1. Select the object you want to be a Follower
  2. In the Inspector, look for the Leader field at the top
  3. Drag and drop the Leader GameObject from the Hierarchy into the Leader field
  4. The Follower will instantly inherit all settings from the Leader
💡 Tip: This is the FASTEST way to set up leadership for a few objects. Just drag the leader object onto the Leader field!

Method 2: Menu Selection (Batch)

  1. Select multiple objects with Rawteous components
  2. Go to Tools → Rawteous → Set Leadership from Selection
  3. The last-selected object becomes the "Leader"
  4. All other objects become "Followers" and inherit the Leader's settings

Method 3: Auto Leadership (Smart Batch)

  1. Select multiple objects with Rawteous components
  2. Go to Tools → Rawteous → Auto Leadership from Selection
  3. Rawteous automatically groups objects by size
  4. Assigns appropriate resolutions based on object dimensions
  5. Creates leaders for each size group

How Leadership Works:

  • When you modify the Leader's settings, all Followers automatically update
  • Followers can't modify locked parameters (they inherit from Leader)
  • You can unlock specific parameter groups on Followers if needed
  • Keeps settings synchronized across many objects
💡 Pro Tip: Use drag-and-drop for quick setup, Auto Leadership for large scenes with varied object sizes, and Disconnect Leadership (Tools → Rawteous) to break the connection when needed.

Performance Optimization

Learn how to optimize your impostors for the best performance without sacrificing visual quality.

Understanding Resolution vs. Performance

The texture resolution directly affects both quality and memory usage:

  • Low (64-128): Best for small objects, distant props, or mobile games
  • Medium (256-512): Good balance for most use cases
  • High (1024-2048): Best for main characters or hero assets
⚠️ Warning: High resolutions significantly increase texture memory. Use sparingly for important objects only.

Optimizing Capture Steps

Fewer captures mean faster generation and smaller atlases:

  • Azimuth: 4-8 angles work well for most objects (horizontal rotation)
  • Elevation: 2-3 elevations are usually sufficient (vertical angles)
⚠️ Warning: Too few steps may cause visible "popping" when the camera rotates. Test in your game to find the sweet spot.

Optimizing for Mobile

Mobile platforms require special considerations:

  • Use lower Texture Resolution (128-256)
  • Reduce Azimuth (4-6) and Elevation (2)
  • Disable Super-Sample or set to 0 (no super-sampling)
  • Test on actual devices, not just the editor
  • Monitor texture memory usage

Cast Shadow Meshes

Generate optimized shadow casting meshes from impostor silhouettes for better performance.

What is Cast?

Cast generates simplified 3D meshes based on your impostor's silhouette. These meshes are used for:

  • Shadow Casting: Optimized geometry casts realistic shadows without the complexity of the original mesh
  • Better Performance: Simpler mesh = faster shadow rendering
  • Accurate Silhouettes: Extracted from actual captured angles for correct shadow shapes
💡 Tip: Cast is especially useful for objects that cast important shadows (trees, characters, buildings) where billboard-only shadows might look flat or incorrect.

Enabling Cast Mesh Generation

To enable Cast for your impostor:

  1. Select your GameObject with the Rawteous component
  2. In the Inspector, expand the 📐 CAST section
  3. Check the "Cast Enabled" checkbox
  4. Configure the Cast parameters (see below)
  5. Click Regenerate to generate the impostor with Cast meshes

Cast Parameters

Configure how Cast meshes are generated:

Cast Threshold (0.01-1.0)

  • Controls silhouette detection sensitivity
  • Lower values (0.1-0.3): Tighter mesh, follows silhouette closely
  • Higher values (0.5-0.8): Looser mesh, more padding around silhouette
  • Default: 0.5 works well for most objects

Cast Dilation (0-100)

  • Expands the cast mesh outward from the silhouette
  • Lower values (0-20): Minimal expansion, tight fit
  • Higher values (50-100): More expansion, softer shadows
  • Default: 32 provides good shadow coverage

Point Reduction (Epsilon)

  • Simplifies the cast mesh by reducing contour points
  • Lower values: More detail, more vertices
  • Higher values: Simpler mesh, fewer vertices
  • Default: 32 balances quality and performance

Cast Mesh Modes

Choose how Cast meshes are generated:

Per Angle (Recommended)

  • Generates a separate Cast mesh for each capture angle
  • Most accurate shadows from all viewing directions
  • Switches meshes automatically based on camera view
  • Best for objects viewed from multiple angles

Single Mesh

  • Generates one unified Cast mesh for all angles
  • Lower memory usage
  • Good for objects viewed from limited angles
  • Faster, but less accurate from some viewpoints

When to Use Cast

✅ USE Cast for:

  • Trees, foliage, and vegetation (important shadows)
  • Characters and creatures (accurate silhouettes)
  • Buildings and structures (architectural shadows)
  • Objects where shadow shape is important for gameplay

❌ SKIP Cast for:

  • Small props with minimal shadow impact
  • Distant objects where shadows aren't visible
  • Objects that don't cast shadows
  • Mobile projects where every optimization counts
⚠️ Performance Note: Cast adds additional geometry and processing. Only enable for objects where accurate shadow casting is important. For background props and distant objects, standard billboard shadows are usually sufficient.

Previewing Cast Meshes

To visualize Cast meshes in the Inspector:

  1. Expand the 📐 CAST section
  2. After generation, you'll see a preview window
  3. Use the Preview Tile slider to view different angles
  4. The preview shows the extracted contour and resulting mesh
💡 Tip: Use the Scene View gizmos (Debug popup → Wireframe) to see Cast meshes in the actual scene view alongside your impostor.

Decimator LOD Generator

Automatically generate multiple LOD (Level of Detail) levels from your impostor billboard mesh.

What is the Decimator?

The Decimator is an automatic LOD generator that creates simplified versions of your impostor billboard mesh:

  • Automatic LOD Levels: Generates multiple LOD meshes with progressive simplification
  • Smart Reduction: Uses quadric error metrics to preserve mesh shape while reducing triangles
  • UV Preservation: Option to preserve UV borders to prevent texture seam issues
  • Unity LOD Integration: Automatically creates LOD Groups and assigns LOD levels
💡 Tip: Use Decimator when you want even better performance by switching to simpler billboard meshes at far distances. This is impostor → simplified impostor → culled.

Enabling the Decimator

To enable LOD generation for your impostor:

  1. Select your GameObject with the Rawteous component
  2. In the Inspector, expand the 🔺 LOD GENERATOR section
  3. Check the "Decimator Mode" toggle at the top
  4. Configure LOD settings (see below)
  5. Click Regenerate to generate the impostor with LOD levels
⚠️ Note: The Decimator works on the BILLBOARD MESH itself, not the original source object. It creates simplified versions of the impostor quad/billboard geometry.

Decimator Parameters

Configure how LOD levels are generated:

LOD Count (1-8)

  • Number of LOD levels to generate
  • Default: 3 (good balance for most cases)
  • LOD0 = original, LOD1 = first reduction, LOD2 = more reduced, etc.
  • More LODs = smoother distance transitions but more memory

Reduction % (10-95%)

  • Percentage of vertices to remove at EACH LOD level
  • Lower values (10-30%): Gradual reduction, subtle transitions
  • Medium values (40-60%): Balanced reduction (recommended)
  • Higher values (70-95%): Aggressive reduction, obvious transitions
  • Default: 50% (halves vertices at each level)

Preserve UVs (Checkbox)

  • When checked: Preserves UV borders during simplification
  • Prevents texture seam issues on simplified meshes
  • Recommended: Keep ENABLED for impostors to avoid texture problems

Apply to Prefab (Checkbox)

  • Automatically creates LODGroup component and assigns LOD levels
  • Sets up distance-based LOD switching
  • Enable if you want automatic LOD management
  • Disable if you want to manually control LOD switching

How LOD Reduction Works

The Decimator progressively reduces triangles at each level:

  • LOD0: Original billboard mesh (100% triangles)
  • LOD1: 50% reduction → 50% of original triangles
  • LOD2: 50% of LOD1 → 25% of original triangles
  • LOD3: 50% of LOD2 → 12.5% of original triangles

Example with 50% reduction per level: If original has 1000 triangles → LOD0: 1000, LOD1: 500, LOD2: 250, LOD3: 125

Previewing LOD Levels

After generation, you can preview each LOD level:

  1. In the LOD GENERATOR section, generated LODs appear as previews
  2. Each LOD shows triangle count and reduction statistics
  3. Wireframe preview shows mesh density at each level
  4. Use Scene View to see LODs switching based on distance
💡 Tip: Enable Scene View gizmos (Debug popup → Wireframe) to visualize LOD transitions in real-time as you zoom in/out in the Scene View.

When to Use Decimator

✅ USE Decimator for:

  • Open-world games with long view distances
  • Scenes with many impostors visible simultaneously
  • Objects that need to pop in from very far away
  • Performance-critical projects where every triangle counts

❌ SKIP Decimator for:

  • Impostors that are already very simple (few triangles)
  • Objects only viewed at close range
  • Mobile projects where texture memory is more critical than geometry
  • Scenes with few impostors where LODs add unnecessary complexity
⚠️ Performance Note: Decimator adds LOD management overhead. Only use when you need multiple distance-based detail levels. For simple backgrounds, standard impostors without LODs are often sufficient.

Troubleshooting Decimator

Problem: LODs look broken or have holes

  • ✅ Enable "Preserve UVs" to prevent UV seam issues
  • ✅ Lower the Reduction % (try 30-40% instead of 50%)
  • ✅ Reduce LOD Count (use 2-3 instead of 5+)

Problem: LODs transition too abruptly

  • ✅ Lower the Reduction % for more gradual changes
  • ✅ Increase LOD Count for smoother transitions
  • ✅ Adjust LOD Group distances in the Unity LODGroup component

Problem: No performance improvement

  • ✅ Check that "Apply to Prefab" is enabled
  • ✅ Verify LODGroup component is created and active
  • ✅ Use Unity's LOD Group debug view to confirm LODs are switching
  • ✅ Ensure original billboard mesh has enough triangles to benefit from reduction

Advanced Features

Take your impostor skills to the next level with these advanced features.

Debug Visualization

The Debug popup provides powerful visualization tools:

  1. Click the framer icon in the Scene View overlay to open the Debug popup
  2. Toggle visualization options:
    • Bounds: Shows source object bounding box
    • Frame: Shows billboard bounds
    • Wireframe: Shows billboard mesh geometry
    • Cameras: Shows capture camera positions
    • Leadership: Shows leader-follower connections
  3. Adjust Gizmo Opacity slider for better visibility
💡 Tip: Use "Show Imp" toggle to show/hide impostor billboard GameObjects in the Hierarchy for cleaner organization.

Queue Management

The Queue Window provides full control over batch operations:

  • View Queue: Tools → Rawteous → Show Queue Status
  • Monitor Progress: See current item, remaining items, and per-item progress
  • Cancel Operations: Stop current capture or clear entire queue

The queue processes impostors sequentially to avoid overwhelming the editor and provides accurate progress tracking.

Runtime Generation (API)

Generate impostors at runtime for dynamic content:

using RawteousImpostors.Runtime; // Add component at runtime var impostor = gameObject.AddComponent<RawteousImpostors>(); // Configure settings (using internal property names) impostor.settings.textureResolution = 512; impostor.settings.captureAngles = 8; // Inspector shows as "Azimuth" impostor.settings.captureElevations = 3; // Inspector shows as "Elevation" // Generate impostor impostor.Regenerate();
⚠️ Note: Runtime generation is expensive. Use for procedural content or when absolutely necessary. Editor-time generation is strongly recommended for most use cases.

Troubleshooting

Common issues and how to fix them.

Impostor Looks Blurry

Problem: The impostor texture appears low-quality or blurry.

Solutions:

  • Increase Texture Resolution (try 512 or 1024)
  • Increase Super-Sample (try 2x or 3x for better quality)
  • Adjust Capture Padding to better frame the object
  • Ensure the original mesh has good detail
  • Verify texture import settings aren't downscaling

Visible Popping Between Angles

Problem: You can see the impostor switching between captured angles.

Solutions:

  • Increase Azimuth and Elevation values in the Inspector
  • Change Impostor Mode to "Smooth Blending" (if using Texture-Based mode)
  • Adjust Capture Padding to better frame the object

Impostor Not Generating

Problem: Clicking "Regenerate" doesn't create an impostor.

Solutions:

  • Ensure the GameObject has a MeshRenderer or SkinnedMeshRenderer
  • Check that the source object is assigned correctly
  • Verify the object has valid geometry (non-zero bounds)
  • Check the Unity Console for error messages
  • Try clearing the capture material cache: Tools → Rawteous → Clear Capture Material Cache

Performance Issues

Problem: Game runs slower after adding impostors.

Solutions:

  • Reduce Texture Resolution (try 256 or lower)
  • Decrease Azimuth and Elevation values
  • Reduce Super-Sample (try 0 or 1)
  • Limit the number of impostors visible at once
  • Profile texture memory usage
  • Consider LOD systems for distance-based switching

Strange Material Rendering

Problem: Materials show debug colors or incorrect shading.

Solutions:

  • Go to Tools → Rawteous → Disable Unity Debug Mode
  • Check Scene View shading mode (should be "Shaded", not "Wireframe" or debug modes)
  • Verify your render pipeline is set up correctly (URP/HDRP/Built-in)

Next Steps

Now that you've completed the tutorials, here's what to explore next:

  • Read the full documentation for detailed parameter explanations
  • Check the API reference for programmatic control
  • Experiment with the Leadership system for managing large scenes
  • Explore the Debug visualization tools to understand how impostors work
  • Test different settings to find what works best for your project
💡 Pro Tip: Use the Scene View overlay buttons as your primary workflow. They provide the fastest access to Create, Regenerate All, and Debug tools without leaving the Scene view.