Index: branches/network/src/lib/network/network_game_manager.cc
===================================================================
--- branches/network/src/lib/network/network_game_manager.cc	(revision 6670)
+++ branches/network/src/lib/network/network_game_manager.cc	(revision 6672)
@@ -53,6 +53,4 @@
   this->setClassID(CL_NETWORK_GAME_MANAGER, "NetworkGameManager");
 
-  newUniqueID = MAX_CONNECTIONS + 2;
-
   hasRequestedWorld = false;
   this->setSynchronized(true);
@@ -215,5 +213,5 @@
   if ( this->isServer() )
   {
-    if ( newUniqueID < 0 )
+    if ( NetworkManager::getInstance()->getNewUniqueID() < 0 )
     {
       PRINTF(1)("Cannot create entity! There are no more uniqueIDs left!\n");
@@ -221,5 +219,5 @@
     }
 
-    return this->executeCreateEntity( classID, newUniqueID++, owner );
+    return this->executeCreateEntity( classID, NetworkManager::getInstance()->getNewUniqueID(), owner );
   }
   else
@@ -240,5 +238,5 @@
   if ( this->isServer() )
   {
-    if ( newUniqueID < 0 )
+    if ( NetworkManager::getInstance()->getNewUniqueID() < 0 )
     {
       PRINTF(1)("Cannot create entity! There are no more uniqueIDs left!\n");
@@ -258,5 +256,5 @@
     {
       Synchronizeable * s = dynamic_cast<Synchronizeable*>(b);
-      s->setUniqueID( newUniqueID++ );
+      s->setUniqueID( NetworkManager::getInstance()->getNewUniqueID() );
       s->setOwner( 0 );
       // all entities created via this function are added automaticaly to the synchronizeable list
Index: branches/network/src/lib/network/network_game_manager.h
===================================================================
--- branches/network/src/lib/network/network_game_manager.h	(revision 6670)
+++ branches/network/src/lib/network/network_game_manager.h	(revision 6672)
@@ -143,11 +143,8 @@
 
 
-
   private:
     std::vector<clientBuffer>     outBuffer;
     //clientBuffer                  allOutBuffer;
     static NetworkGameManager*    singletonRef;
-
-    int                           newUniqueID;
     bool                          hasRequestedWorld;
 };
Index: branches/network/src/lib/network/network_manager.cc
===================================================================
--- branches/network/src/lib/network/network_manager.cc	(revision 6670)
+++ branches/network/src/lib/network/network_manager.cc	(revision 6672)
@@ -54,4 +54,5 @@
 
   this->hostID = -1;
+  this->newUniqueID = MAX_CONNECTIONS + 2;
   this->bGameServer = false;
 
Index: branches/network/src/lib/network/network_manager.h
===================================================================
--- branches/network/src/lib/network/network_manager.h	(revision 6670)
+++ branches/network/src/lib/network/network_manager.h	(revision 6672)
@@ -53,4 +53,7 @@
     inline NetworkStream* getDefaultSyncStream() { return this->defaultSyncStream; }
 
+    /** @returns the next uniqueID free for an object */
+    inline int getNewUniqueID() { return this->newUniqueID++; }
+
     void debug();
 
@@ -67,4 +70,5 @@
     int                              hostID;                  //!< The Host-ID of the Manager
     bool                             bGameServer;             //!< true if it is a server
+    int                              newUniqueID;
 
 };
Index: branches/network/src/lib/network/network_stream.cc
===================================================================
--- branches/network/src/lib/network/network_stream.cc	(revision 6670)
+++ branches/network/src/lib/network/network_stream.cc	(revision 6672)
@@ -448,14 +448,18 @@
 
 
-
-
-
-
-
-
-
-
-
-
-
-
+int NetworkStream::getSyncCount()
+{
+  int n = 0;
+  for (SynchronizeableList::iterator it = synchronizeables.begin(); it!=synchronizeables.end(); it++)
+    if( (*it)->beSynchronized() == true)
+      ++n;
+
+  //return synchronizeables.size();
+  return n;
+}
+
+
+
+
+
+
Index: branches/network/src/lib/network/network_stream.h
===================================================================
--- branches/network/src/lib/network/network_stream.h	(revision 6670)
+++ branches/network/src/lib/network/network_stream.h	(revision 6672)
@@ -56,5 +56,5 @@
     inline SynchronizeableList::const_iterator getSyncBegin(){ return synchronizeables.begin(); }
     inline SynchronizeableList::const_iterator getSyncEnd(){ return synchronizeables.end(); }
-    inline int getSyncCount(){ return synchronizeables.size(); }
+    int getSyncCount();
 
     inline bool isUserIdActive( int userID ) { if (userID>=networkSockets.size()) return false; else return networkSockets[userID]!=NULL; }
Index: branches/network/src/lib/network/synchronizeable.cc
===================================================================
--- branches/network/src/lib/network/synchronizeable.cc	(revision 6670)
+++ branches/network/src/lib/network/synchronizeable.cc	(revision 6672)
@@ -43,7 +43,9 @@
 
   this->bSynchronize = false;
+
   NetworkStream* nd = NetworkManager::getInstance()->getDefaultSyncStream();
   assert(nd != NULL);
   nd->connectSynchronizeable(*this);
+  this->setUniqueID(NetworkManager::getInstance()->getNewUniqueID());
 }
 
