Unity Setup & Materials
Home > Guides > Building GSPro Courses > Unity Setup & Materials
Overview
Unity is where everything comes together. You'll import your Blender FBX meshes, apply materials and textures, adjust visual effects, and optimize performance. By the end of this section, you'll be able to play your course in GSPro!
1. Performance Theory
Unity Performance Theory
Understanding performance optimization from the start will save you headaches later.
Performance Factors:
- Triangle count: Total mesh complexity
- Draw calls: How many objects rendered
- Texture memory: Resolution of materials
- Vegetation density: Trees and grass
- Lighting: Real-time shadows and reflections
Target Performance:
- Smooth 60+ FPS on mid-range gaming PC
- <5 million triangles total
- Smart vegetation placement
- Optimized materials
Fixing the Unity Clipping Bug (V4)
📺 Fixing the Unity Clipping Bug (V4)
Apply the clipping fix again if needed (should have done this during setup, but check again).
2. Importing Your Meshes Into Unity
Importing Your FBX Files Into Unity (V4)
📺 Unity - Importing Your FBX Files Into Unity (V4)
Import your Blender-exported FBX files into your Unity project.
Import Process:
- Create "Meshes" folder in Unity project
- Drag FBX files into folder
- Unity automatically imports and processes
- Check import settings (scale, materials, vertex colors)
Import Settings:
- Scale Factor: 1 (if exported correctly from Blender)
- Import BlendShapes: Off (not needed)
- Import Visibility: On
- Import Cameras: Off
- Import Lights: Off
- Import Materials: On
- Material Location: Use External Materials (Legacy)
Adding Your FBX Files to Your Scene (Updated 11/2025)
📺 Unity - Adding Your FBX Files to Your Scene (updated 11/2025)
Place your imported meshes into your course scene.
Scene Setup:
- Open your course scene
- Drag FBX into scene hierarchy
- Position at origin (0, 0, 0)
- Align with terrain
- Organize in hierarchy (parent objects for grouping)
Hierarchy Organization:
Scene
├── Terrains
│ ├── Inner Terrain
│ └── Outer Terrain
├── Course Meshes
│ ├── Tees
│ ├── Greens
│ ├── Fairways
│ ├── Rough
│ ├── Bunkers
│ └── Water
└── Objects
├── Bridges
├── Bulkheads
└── Decorative
Fixing Z-Fighting
Eliminate flickering where meshes overlap (z-fighting).
Z-Fighting Causes:
- Two meshes at same elevation
- Overlapping geometry
- Floating point precision issues
Solutions:
- Offset mesh slightly (0.01-0.05m)
- Use shader offset (preferred)
- Adjust camera near/far clipping planes
- Remove redundant geometry
3. Setting Mesh Materials
The Set Mesh Material tool applies the OPCD MAHS (Multi-Array Height Shader) to your course meshes with appropriate themes.
Set Mesh Material Tool Intro (V4)
📺 Unity - Set Mesh Material Tool Intro (V4)
Introduction to the OPCD material assignment workflow.
MAHS Shader:
- Supports multiple textures per mesh
- Uses vertex colors to blend materials
- Height-based blending for realism
- Performance optimized
Set Mesh Material Themes (V4)
📺 Unity - Set Mesh Material Themes (V4)
Choose and apply material themes (grass types, bunker sand colors, etc.).
Available Themes:
- Grass: Bentgrass, Bermuda, Fescue, Ryegrass, etc.
- Bunker Sand: White, tan, red, brown
- Cart Paths: Asphalt, concrete, gravel
- Rough: Various native grasses
- Water: Blue, green, murky
Theme Selection Tips:
- Research your course's grass types
- Match real photos if available
- Consider geographic region (warm/cool season grass)
- Consistency across holes
Set Mesh Material Tweaks and Replacement (V4)
📺 Unity - Set Mesh Material Tweaks and Replacement (V4)
Fine-tune materials and replace specific textures.
Tweaks:
- Adjust colors (hue, saturation, brightness)
- Change texture scale (tiling)
- Swap textures within theme
- Adjust roughness/smoothness
4. Game Mode and Performance Check
Game Mode and First Performance Check
📺 Game Mode and First Performance Check
Play your course for the first time and check performance!
First Play Test:
- Enter Play Mode in Unity
- Navigate around course
- Check FPS (frames per second)
- Look for visual issues
- Test playability
Performance Monitoring:
- Unity Stats window (FPS, triangles, draw calls)
- Target: 60+ FPS minimum
- Identify performance bottlenecks
Common Issues on First Play:
- Low FPS (too many triangles or vegetation)
- Missing textures (material errors)
- Floating meshes (alignment issues)
- Water not rendering (material/shader issues)
5. Post Processing - Visual Effects
Post Processing Volume Overview
📺 Post Processing Volume Overview
Add cinematic visual effects to enhance realism.
Post Processing Effects:
- Bloom: Bright highlights glow
- Color Grading: Adjust overall color tone
- Ambient Occlusion: Contact shadows for depth
- Depth of Field: Blur distant objects (optional)
- Vignette: Darken screen edges
- Chromatic Aberration: Lens distortion (subtle)
Best Practices:
- Use subtle effects (don't overdo it!)
- Test performance impact
- Match time of day / weather intent
- Consistency across course
Post Processing Selector Tool
📺 Post Processing Selector Tool
OPCD tool to quickly apply and compare post-processing presets.
Presets Include:
- Bright sunny day
- Overcast
- Golden hour
- Dramatic contrast
- Minimal (performance mode)
6. Making Changes to Existing Meshes
Making Changes to Existing Meshes (V4)
📺 Unity - Making Changes to Existing Meshes (V4)
Workflow for updating meshes after initial import.
Change Workflow:
- Edit in Inkscape/Blender
- Re-export FBX
- Replace FBX in Unity project folder
- Unity auto-updates scene references
- May need to re-apply materials
Adding and/or Changing a Mesh (V4)
📺 Unity - Adding and/or Changing a Mesh (V4)
Add new features or swap out meshes entirely.
Making Terrain Changes to Existing Meshes (V4)
📺 Unity - Making Terrain Changes to Existing Meshes (V4)
Update terrain and re-conform meshes.
When Terrain Changes Needed:
- Lidar was inaccurate
- Bunker depths need adjustment
- Green contours need refinement
- Tee boxes need leveling
7. Advanced Unity Techniques
Decision Point in Your Course Building Journey (V4)
📺 Unity - Decision Point in Your Course Building Journey (V4)
At this point, you can choose to:
- Continue with defaults (faster, good results)
- Dive into advanced customization (more control, steeper learning curve)
The following videos cover advanced topics - optional for most users.
Exploring the Components of a Mesh (V4)
📺 Unity - Exploring the Components of a Mesh (V4)
Deep dive into Unity mesh components and materials.
Changing Materials on a Mesh and Leveraging Theme Defaults (V4)
📺 Unity - Changing Materials on a Mesh and Leveraging Theme Defaults (V4)
Manual material assignment and customization.
Blend Theory (V4)
Understanding how material blends work in MAHS shader.
Blend Concepts:
- Vertex color channels (R, G, B, A)
- Height-based blending
- Blend width/falloff
- Multi-material blends
Creating a New Blend Material
📺 Unity - Creating a New Blend Material
Create custom blend materials from scratch.
Creating Another New Blend Material (V4)
📺 Unity - Creating Another New Blend Material (V4)
More practice with blend material creation.
Adjusting Blend Colors (V4)
📺 Unity - Adjusting Blend Colors (V4)
Fine-tune blend transitions.
Intro to Vert Painting (V4)
📺 Unity - Intro to Vert Painting (V4)
Paint material variations directly on meshes in Unity.
Vertex Painting Uses:
- Add wear patterns
- Vary grass colors
- Create dirt/stain effects
- Enhance realism with subtle variations
Shaders, Materials and Textures Theory (V4)
📺 Unity - Shaders, Materials and Textures Theory (V4)
Deep dive into rendering concepts.
OPCD MAHS Shader Theory (V4)
📺 Unity - OPCD MAHS Shader Theory (V4)
How the Multi-Array Height Shader works under the hood.
Arrays and Indexes in OPCD MAHS (v4)
📺 Unity - Arrays and Indexes in OPCD MAHS (v4)
Understanding material arrays and indexing.
OPCD MAHS Nerd Knobs (V4)
📺 Unity - OPCD MAHS Nerd Knobs (V4)
Advanced shader parameters for expert users.
Material Channel Editor (V4)
📺 Unity - Material Channel Editor (V4)
Tool for managing MAHS material arrays.
Vert Painting Info Flow: 201 (V4)
📺 Unity - Vert Painting Info Flow: 201 (V4)
Intermediate vertex painting workflows.
Vert Painting Flow: 202 (V4)
📺 Unity - Vert Painting Flow: 202 (V4)
More vertex painting techniques.
Vert Painting Info Flow: 301 (V4)
📺 Unity - Vert Painting Info Flow: 301 (V4)
Advanced vertex painting workflows.
Vert Painting Info Flow: 302 (V4)
📺 Unity - Vert Painting Info Flow: 302 (V4)
Expert vertex painting techniques.
Multi Blends (V4)
Creating complex multi-material transitions.
Wrap Up and Flow For Finishing Your Course (V4)
📺 Unity - Wrap Up and Flow For Finishing Your Course (V4)
Review of advanced techniques and next steps.
8. Water Adjustments
Adjusting Water Plane
Fine-tune water elevation and appearance.
Water Adjustments:
- Water level (Y position)
- Water color and transparency
- Reflection intensity
- Wave animation (if enabled)
- Foam/shore effects
Reflection Probe Adjustments (Optional)
📺 Reflection Probe Adjustments (optional)
Improve water reflections with reflection probes.
Reflection Probes:
- Capture surrounding environment
- Applied to water surfaces
- Enhances realism
- Performance cost (use sparingly)
9. Project Backup
Backing Up Your Entire Project
📺 Backing Up Your Entire Project
Critical: Back up your Unity project regularly!
Backup Strategy:
- Zip entire Unity project folder
- Store on external drive or cloud
- Version naming (CourseName_2024-02-09)
- Backup before major changes
What to Backup:
- Unity project folder (entire thing)
- Blender files
- Inkscape SVG files
- QGIS project
- Raw lidar data (optional, large files)
10. 3D Grass (Stix 3DG)
Stix 3DG adds realistic 3D grass to your course, replacing flat grass textures with actual geometry.
Stix 3DG Introduction (V4)
Overview of 3D grass system.
Benefits:
- Much more realistic appearance
- Movement and wind effects
- Better depth and shadows
Drawbacks:
- Performance cost (more triangles)
- Requires careful optimization
- Not essential for first course
Stix 3DG - Installation (V4)
📺 Stix 3DG - Installation (V4)
Install the Stix 3D Grass system.
Stix 3DG - Enabling 3DG on Your Meshes (V4)
📺 Stix 3DG - Enabling 3DG on Your Meshes (V4)
Apply 3D grass to fairways, greens, and rough.
Application Tips:
- Start with greens only (biggest visual impact)
- Add fairways if performance allows
- Rough areas can use standard textures
- Test performance after each addition
Stix 3DG - Experimenting with 3DG Settings (Safely) (V4)
📺 Stix 3DG - Experimenting with 3DG Settings (safely) (V4)
Adjust density, height, and color without breaking performance.
Key Settings:
- Density: Blades per square meter (reduce if FPS drops)
- Height: Grass blade length (greens: short, rough: tall)
- Color Variation: Natural variation
- Wind Strength: Movement amount
11. Building the Course File
Building Your Course File Introduction (Theory)
📺 Building Your Course File Introduction (Theory)
Understanding what the Unity "Build" process creates.
Build Output:
- Course bundle file (.course)
- Compatible with GSPro
- Includes all meshes, materials, textures
- Optimized and compressed
Unload/Purge Auto Fence Builder (If Installed)
📺 Unload/Purge Auto Fence Builder (if installed)
If you used Auto Fence Builder, unload it before building.
Building Your Course File (Updated 11/2025)
📺 Building Your Course File (updated 11/2025)
Use the OPCD Build tool to create your course file.
Build Process:
- Open OPCD Build window
- Verify scene setup
- Click Build
- Unity processes and exports
- Generates .course file in output folder
Build Output Location:
Typically: ProjectFolder/Builds/CourseName.course
✅ Checklist Before Moving Forward
- Imported FBX meshes into Unity
- Added meshes to scene and aligned with terrain
- Fixed any z-fighting issues
- Applied materials using Set Mesh Material tool
- Tested in Play Mode (performance check)
- Applied post-processing effects
- Adjusted water planes
- Backed up project
- Built course file successfully
Optional:
- Installed and applied Stix 3DG
- Customized blend materials
- Vertex painted details
Common Issues and Solutions
Problem: Low FPS in Play Mode
Solution: Check triangle count, reduce vegetation density, disable 3D grass temporarily, simplify outer terrain
Problem: Materials not showing correctly
Solution: Re-apply with Set Mesh Material tool, check shader assignment, verify textures imported
Problem: Water not visible
Solution: Check water material, verify water plane position, ensure water shader assigned
Problem: Build fails
Solution: Check Unity console for errors, verify all meshes have proper materials, remove problematic objects
What's Next?
Your course is visually complete and playable in Unity! Next, you'll add vegetation (trees, bushes) to bring the course to life.
Next Guide: Planting Vegetation →
Navigation:
← Back: Blender Workflow | Next: Vegetation →
