Project Configuration #
Configure Unity settings, Input System, and Netcode for optimal UltraGameCore performance.
Input System Configuration #
Enable Input System #
- Go to Edit > Project Settings > XR Plug-in Management > Input System Package
- Ensure “Active Input Handling” is set to “Both”
- This allows both Input Manager and Input System to work together
Configure Project-Wide Actions #
- Go to File > Build Settings > Player Settings
- In Input System Package section, find “Project-Wide Actions”
- Click the dropdown and select “InputSystem_Actions”
- Path:
Assets/FastSkillTeam/UltraGameCore/CharacterController/InputSystem_Actions
Input Actions Overview #
The included InputSystem_Actions contains:
| Action | Type | Description |
|---|---|---|
| Move | Vector2 | WASD movement input |
| Look | Vector2 | Mouse look input |
| Jump | Button | Space bar for jumping |
| Crouch | Button | Left Ctrl for crouching |
| Fire | Button | Left mouse button for firing |
| Aim | Button | Right mouse button for aiming |
| Reload | Button | R key for reloading |
| Interact | Button | E key for interactions |
Customizing Input Actions #
- Navigate to
Assets/FastSkillTeam/UltraGameCore/CharacterController/InputSystem_Actions - Double-click to open the Input Actions editor
- Modify bindings as needed
- Save the asset
Netcode Configuration #
NetworkManager Settings #
- Find the NetworkManager object in your scene
- Select it and view the NetworkManager component
- Configure the following settings:
Connection Settings #
- Transport: Unity Transport (recommended)
- Connection Data: Leave default
- Client Connection Timeout: 10 seconds (default)
- Server Connection Timeout: 10 seconds (default)
Spawn Settings #
- Player Prefab: Assign your player prefab
- Network Prefabs List: Should auto-populate
Network Prefabs Configuration #
- In the NetworkManager, find “Network Prefabs List”
- This should contain all networked objects
- If empty, click “Add All NetworkObjects”
Transport Settings #
- In NetworkManager, find “Transport” section
- Select “Unity Transport”
- Configure transport settings:
Unity Transport Settings #
- Connection Data: Leave default
- Heartbeat Timeout: 15 seconds
- Connect Timeout: 10 seconds
- Disconnect Timeout: 5 seconds
Graphics Configuration #
URP Settings #
- Go to Edit > Project Settings > Graphics
- Ensure “Scriptable Render Pipeline Settings” is set to URP
- If not, create a URP asset:
- Right-click in Project window
- Create > Rendering > URP Asset
- Assign to Graphics settings
Quality Settings #
- Go to Edit > Project Settings > Quality
- Configure quality levels for different platforms
- Recommended settings for UltraGameCore:
PC/Mac Settings #
- Texture Quality: Full Res
- Anisotropic Textures: Per Texture
- Anti Aliasing: 4x Multi Sampling
- Soft Particles: On
- Realtime Reflection Probes: On
Mobile Settings #
- Texture Quality: Half Res
- Anisotropic Textures: Disabled
- Anti Aliasing: Disabled
- Soft Particles: Off
- Realtime Reflection Probes: Off
Physics Configuration #
Physics Settings #
- Go to Edit > Project Settings > Physics
- Configure physics settings:
Default Settings #
- Gravity: -9.81 (default)
- Default Material: None (or create custom)
- Bounce Threshold: 2
- Sleep Threshold: 0.005
- Default Solver Iterations: 6
- Default Solver Velocity Iterations: 1
Layer Configuration #
- Go to Edit > Project Settings > Tags and Layers
- UltraGameCore uses these layers:
- Player: 8
- Ground: 9
- Weapon: 10
- Pickup: 11
- UI: 5 (default)
Audio Configuration #
Audio Settings #
- Go to Edit > Project Settings > Audio
- Configure audio settings:
Default Settings #
- Volume: 1
- Audio Listener: Camera
- DSP Buffer Size: Good
- Virtual Voice Count: 512
- Real Voice Count: 32
3D Audio Settings #
- Go to Edit > Project Settings > Audio
- In 3D Settings:
- Doppler Factor: 1
- Speed of Sound: 343
- Rolloff Scale: 1
Build Settings #
Platform Configuration #
- Go to File > Build Settings
- Select your target platform
- Configure platform-specific settings:
PC/Mac/Linux Settings #
- Target Platform: PC, Mac & Linux Standalone
- Architecture: x86_64
- Scripting Backend: Mono (recommended)
- Api Compatibility Level: .NET Standard 2.1
Mobile Settings #
- Target Platform: Android/iOS
- Architecture: ARM64
- Scripting Backend: IL2CPP
- Api Compatibility Level: .NET Standard 2.1
Scene Management #
- In Build Settings, add your scenes:
- Scenes/Online Staging (BASE ONLY).unity (index 0)
- Add additional scenes as needed
Performance Optimization #
Rendering Optimization #
- Go to Edit > Project Settings > Quality
- Configure rendering settings:
PC Settings #
- Pixel Light Count: 4
- Shadows: Hard and Soft Shadows
- Shadow Resolution: High
- Shadow Distance: 150
- Shadow Cascades: 4
Mobile Settings #
- Pixel Light Count: 1
- Shadows: Hard Shadows Only
- Shadow Resolution: Low
- Shadow Distance: 50
- Shadow Cascades: 2
Network Optimization #
- In NetworkManager, configure:
- Tick Rate: 60 Hz (default)
- Fixed Tick Rate: 60 Hz (default)
- Buffer Size: 1024 (default)
Debug Configuration #
Debug Settings #
- Go to Edit > Project Settings > Player
- In Other Settings:
- Scripting Define Symbols: Add debug symbols if needed
- Allow Downloads Over HTTP: Off (security)
- Scripting Backend: Mono (recommended)
Network Debugging #
- In NetworkManager, enable:
- Enable Network Logs: On (for debugging)
- Log Level: Normal (or Verbose for detailed logs)
Testing Configuration #
Editor Testing #
- In Edit > Project Settings > Editor
- Configure:
- Asset Serialization Mode: Force Text
- Asset Serialization Mode: Mixed
- Version Control Mode: Visible Meta Files
Build Testing #
- In File > Build Settings
- Enable:
- Development Build: For debugging
- Script Debugging: For breakpoints
- Autoconnect Profiler: For performance analysis
Troubleshooting #
Common Configuration Issues #
Input Not Working #
- Check: Input System is set to “Both”
- Check: Project-Wide Actions is assigned
- Check: Input Actions asset exists and is valid
Network Connection Issues #
- Check: NetworkManager exists in scene
- Check: Network Prefabs List is populated
- Check: Transport settings are correct
Performance Issues #
- Check: Quality settings match target platform
- Check: URP settings are optimized
- Check: Physics settings are appropriate
Getting Help #
If you encounter configuration issues:
- Check the Troubleshooting Guide
- Visit our Discord Community
- Review the API Reference for technical details
Next Steps #
Once configuration is complete:
- First Multiplayer Test – Test your setup
- Core Systems – Learn about character controller features
- Advanced Features – Explore advanced systems
Configuration complete! Your project is now optimized for UltraGameCore development!
