First Multiplayer Test #
Test your UltraGameCore setup with a complete multiplayer session.
Prerequisites #
- Unity project with UltraGameCore installed
- All configuration steps completed
- Basic understanding of Unity’s Play mode
Test Overview #
This guide will help you:
- Test single-player functionality in the editor
- Build and test multiplayer with multiple clients
- Verify network synchronization
- Troubleshoot common issues
Method 1: Editor Testing (Single Player) #
Step 1: Open Demo Scene #
- Navigate to
Assets/FastSkillTeam/UltraGameCore/Scenes/ - Open “Online Staging (BASE ONLY).unity”
- Wait for the scene to load completely
Step 2: Verify Scene Setup #
Check that the scene contains:
- NetworkManager object (with NetworkManager component)
- GameManager object (with GameManager script)
- Player prefabs visible in the scene
- UI Canvas with network buttons
Step 3: Test Host Mode #
- Click the Play button in Unity
- In the game view, you should see network buttons
- Click “Host” button
- You should see “Mode: Host” displayed
- Test basic controls:
- WASD: Move around
- Mouse: Look around
- Space: Jump
- Left Ctrl: Crouch
Step 4: Test Client Mode #
- Stop the current play session
- Click Play again
- Click “Client” button
- You should see “Mode: Client” displayed
- Test the same controls as above
Method 2: Build Testing (Multiplayer) #
Step 1: Build the Game #
- Go to File > Build Settings
- Ensure “Online Staging (BASE ONLY)” scene is added
- Select your target platform (Windows/Mac/Linux)
- Click “Build”
- Save as “UltraGameCoreTest” in your desired location
Step 2: Test Host + Client #
- Run the first instance (Host):
- Launch the built executable
- Click “Host” button
- You should see “Mode: Host”
- Move around to test controls
- Run the second instance (Client):
- Launch the built executable again
- Click “Client” button
- You should see “Mode: Client”
- Both players should be visible to each other
Step 3: Test Server + Client #
- Run the first instance (Server):
- Launch the built executable
- Click “Server” button
- You should see “Mode: Server”
- Server won’t have a visible player
- Run the second instance (Client):
- Launch the built executable
- Click “Client” button
- You should see “Mode: Client”
- Client should be able to move around
Method 3: Command Line Testing #
Windows Command Line #
- Open Command Prompt
- Navigate to your build directory
- Run commands:
# Start Server
"UltraGameCoreTest.exe" -mode server
# Start Client (in another terminal)
"UltraGameCoreTest.exe" -mode client
# Start Host (in another terminal)
"UltraGameCoreTest.exe" -mode host
Mac/Linux Terminal #
- Open Terminal
- Navigate to your build directory
- Run commands:
# Start Server
./UltraGameCoreTest -mode server
# Start Client (in another terminal)
./UltraGameCoreTest -mode client
# Start Host (in another terminal)
./UltraGameCoreTest -mode host
What to Test #
Basic Movement #
- WASD: Forward, backward, left, right movement
- Mouse: Look up, down, left, right
- Space: Jump (should work on ground)
- Left Ctrl: Crouch (should lower character)
Network Synchronization #
- Player Position: Both players should see each other’s movement
- Player Rotation: Both players should see each other’s rotation
- Player Actions: Both players should see each other’s jumping/crouching
UI Elements #
- Network Status: Should display current mode (Host/Client/Server)
- Connection Status: Should show connection state
- Player Count: Should display number of connected players
Expected Results #
Successful Test #
- All controls work smoothly
- Network synchronization is smooth
- No error messages in console
- Players can see each other in multiplayer
- UI displays correct information
Common Issues #
- Input not working: Check Input System configuration
- Network connection failed: Check NetworkManager setup
- Players not visible: Check Network Prefabs List
- Build errors: Check all required packages are included
Troubleshooting #
Input Issues #
Problem: Controls not responding Solutions:
- Check Input System is set to “Both”
- Verify Project-Wide Actions is assigned
- Restart Unity after configuration changes
- Check InputSystem_Actions asset exists
Network Issues #
Problem: Cannot connect to server Solutions:
- Check NetworkManager exists in scene
- Verify Network Prefabs List is populated
- Check firewall settings
- Ensure both instances are using same transport
Build Issues #
Problem: Build fails or doesn’t run Solutions:
- Check all required packages are installed
- Verify scene is added to Build Settings
- Check target platform settings
- Try building for different platform
Performance Issues #
Problem: Low FPS or lag Solutions:
- Check Quality settings
- Verify URP settings
- Check network tick rate
- Monitor console for errors
Advanced Testing #
Stress Testing #
- Multiple Clients: Test with 3-4 clients
- Long Sessions: Run for extended periods
- Network Interruption: Test reconnection
- Performance: Monitor FPS and network usage
Debug Testing #
- Network Logs: Enable verbose logging
- Profiler: Use Unity Profiler for performance
- Console: Monitor for errors and warnings
- Network Stats: Check network statistics
Next Steps #
Once testing is successful:
- Core Systems – Learn about character controller features
- Advanced Features – Explore abilities and inventory
- Development – Start customizing for your game
Getting Help #
If you encounter issues:
- Check the Troubleshooting Guide
- Visit our Discord Community
- Review the API Reference for technical details
Test complete! You now have a working multiplayer setup with UltraGameCore!
