Project Configuration

Project Configuration #

Configure Unity settings, Input System, and Netcode for optimal UltraGameCore performance.

Input System Configuration #

Enable Input System #

  1. Go to Edit > Project Settings > XR Plug-in Management > Input System Package
  2. Ensure “Active Input Handling” is set to “Both”
  3. This allows both Input Manager and Input System to work together

Configure Project-Wide Actions #

  1. Go to File > Build Settings > Player Settings
  2. In Input System Package section, find “Project-Wide Actions”
  3. Click the dropdown and select “InputSystem_Actions”
  4. Path: Assets/FastSkillTeam/UltraGameCore/CharacterController/InputSystem_Actions

Input Actions Overview #

The included InputSystem_Actions contains:

ActionTypeDescription
MoveVector2WASD movement input
LookVector2Mouse look input
JumpButtonSpace bar for jumping
CrouchButtonLeft Ctrl for crouching
FireButtonLeft mouse button for firing
AimButtonRight mouse button for aiming
ReloadButtonR key for reloading
InteractButtonE key for interactions

Customizing Input Actions #

  1. Navigate to Assets/FastSkillTeam/UltraGameCore/CharacterController/InputSystem_Actions
  2. Double-click to open the Input Actions editor
  3. Modify bindings as needed
  4. Save the asset

Netcode Configuration #

NetworkManager Settings #

  1. Find the NetworkManager object in your scene
  2. Select it and view the NetworkManager component
  3. 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 #

  1. In the NetworkManager, find “Network Prefabs List”
  2. This should contain all networked objects
  3. If empty, click “Add All NetworkObjects”

Transport Settings #

  1. In NetworkManager, find “Transport” section
  2. Select “Unity Transport”
  3. 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 #

  1. Go to Edit > Project Settings > Graphics
  2. Ensure “Scriptable Render Pipeline Settings” is set to URP
  3. If not, create a URP asset:
    • Right-click in Project window
    • Create > Rendering > URP Asset
    • Assign to Graphics settings

Quality Settings #

  1. Go to Edit > Project Settings > Quality
  2. Configure quality levels for different platforms
  3. 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 #

  1. Go to Edit > Project Settings > Physics
  2. 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 #

  1. Go to Edit > Project Settings > Tags and Layers
  2. UltraGameCore uses these layers:
    • Player: 8
    • Ground: 9
    • Weapon: 10
    • Pickup: 11
    • UI: 5 (default)

Audio Configuration #

Audio Settings #

  1. Go to Edit > Project Settings > Audio
  2. 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 #

  1. Go to Edit > Project Settings > Audio
  2. In 3D Settings:
    • Doppler Factor: 1
    • Speed of Sound: 343
    • Rolloff Scale: 1

Build Settings #

Platform Configuration #

  1. Go to File > Build Settings
  2. Select your target platform
  3. 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 #

  1. In Build Settings, add your scenes:
    • Scenes/Online Staging (BASE ONLY).unity (index 0)
    • Add additional scenes as needed

Performance Optimization #

Rendering Optimization #

  1. Go to Edit > Project Settings > Quality
  2. 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 #

  1. In NetworkManager, configure:
    • Tick Rate: 60 Hz (default)
    • Fixed Tick Rate: 60 Hz (default)
    • Buffer Size: 1024 (default)

Debug Configuration #

Debug Settings #

  1. Go to Edit > Project Settings > Player
  2. In Other Settings:
    • Scripting Define Symbols: Add debug symbols if needed
    • Allow Downloads Over HTTP: Off (security)
    • Scripting Backend: Mono (recommended)

Network Debugging #

  1. In NetworkManager, enable:
    • Enable Network Logs: On (for debugging)
    • Log Level: Normal (or Verbose for detailed logs)

Testing Configuration #

Editor Testing #

  1. In Edit > Project Settings > Editor
  2. Configure:
    • Asset Serialization Mode: Force Text
    • Asset Serialization Mode: Mixed
    • Version Control Mode: Visible Meta Files

Build Testing #

  1. In File > Build Settings
  2. 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:

  1. Check the Troubleshooting Guide
  2. Visit our Discord Community
  3. Review the API Reference for technical details

Next Steps #

Once configuration is complete:

  1. First Multiplayer Test – Test your setup
  2. Core Systems – Learn about character controller features
  3. Advanced Features – Explore advanced systems

Configuration complete! Your project is now optimized for UltraGameCore development!

What are your feelings

Updated on December 8, 2025